From 515843786cc7831d2a969a646ae10923fb8550fb Mon Sep 17 00:00:00 2001 From: Eric Chan <55314107+LinuxMint-User@users.noreply.github.com> Date: Thu, 11 Dec 2025 22:39:43 +0800 Subject: [PATCH 01/20] fix: resolve QSPI compilation error and add CI guard for stm32l475-atk-pandora - Fix function pointer type mismatch between drv_qspi.h and rt_qspi_device - Add qspi-flash.attach file for CI compilation guard - Optimize code with macros and inline adapter - Include all related bug fixes and configuration updates Fixes: #11036 --- .../libraries/HAL_Drivers/drivers/drv_qspi.c | 34 ++++++++++++++++--- .../.ci/attachconfig/qspi-flash.attach | 31 +++++++++++++++++ .../board/ports/drv_qspi_flash.c | 17 +++++++--- 3 files changed, 72 insertions(+), 10 deletions(-) create mode 100644 bsp/stm32/stm32l475-atk-pandora/.ci/attachconfig/qspi-flash.attach diff --git a/bsp/stm32/libraries/HAL_Drivers/drivers/drv_qspi.c b/bsp/stm32/libraries/HAL_Drivers/drivers/drv_qspi.c index 893cf559170..5be0be89c53 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drivers/drv_qspi.c +++ b/bsp/stm32/libraries/HAL_Drivers/drivers/drv_qspi.c @@ -1,11 +1,12 @@ /* - * Copyright (c) 2006-2023, RT-Thread Development Team + * Copyright (c) 2006-2025, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: - * Date Author Notes - * 2018-11-27 zylx first version + * Date Author Notes + * 2018-11-27 zylx first version + * 2025-12-14 LinuxMint-User resolve QSPI interface type mismatch */ #include "board.h" @@ -146,6 +147,7 @@ static void qspi_send_cmd(struct stm32_qspi_bus *qspi_bus, struct rt_qspi_messag { Cmdhandler.InstructionMode = QSPI_INSTRUCTION_4_LINES; } + if (message->address.qspi_lines == 0) { Cmdhandler.AddressMode = QSPI_ADDRESS_NONE; @@ -162,6 +164,7 @@ static void qspi_send_cmd(struct stm32_qspi_bus *qspi_bus, struct rt_qspi_messag { Cmdhandler.AddressMode = QSPI_ADDRESS_4_LINES; } + if (message->address.size == 24) { Cmdhandler.AddressSize = QSPI_ADDRESS_24_BITS; @@ -170,6 +173,7 @@ static void qspi_send_cmd(struct stm32_qspi_bus *qspi_bus, struct rt_qspi_messag { Cmdhandler.AddressSize = QSPI_ADDRESS_32_BITS; } + if (message->qspi_data_lines == 0) { Cmdhandler.DataMode = QSPI_DATA_NONE; @@ -323,8 +327,27 @@ rt_err_t rt_hw_qspi_device_attach(const char *bus_name, const char *device_name, goto __exit; } - qspi_device->enter_qspi_mode = enter_qspi_mode; - qspi_device->exit_qspi_mode = exit_qspi_mode; + /* Safe type conversion to resolve interface contract mismatch. + * Caller ensures the function pointer is compatible via adapter pattern. + */ + if (enter_qspi_mode != RT_NULL) + { + qspi_device->enter_qspi_mode = (void (*)(struct rt_qspi_device *))enter_qspi_mode; + } + else + { + qspi_device->enter_qspi_mode = RT_NULL; + } + + if (exit_qspi_mode != RT_NULL) + { + qspi_device->exit_qspi_mode = (void (*)(struct rt_qspi_device *))exit_qspi_mode; + } + else + { + qspi_device->exit_qspi_mode = RT_NULL; + } + qspi_device->config.qspi_dl_width = data_line_width; #ifdef BSP_QSPI_USING_SOFTCS @@ -377,3 +400,4 @@ INIT_BOARD_EXPORT(rt_hw_qspi_bus_init); #endif /* BSP_USING_QSPI */ #endif /* RT_USING_QSPI */ + diff --git a/bsp/stm32/stm32l475-atk-pandora/.ci/attachconfig/qspi-flash.attach b/bsp/stm32/stm32l475-atk-pandora/.ci/attachconfig/qspi-flash.attach new file mode 100644 index 00000000000..d1f367a7fec --- /dev/null +++ b/bsp/stm32/stm32l475-atk-pandora/.ci/attachconfig/qspi-flash.attach @@ -0,0 +1,31 @@ +CONFIG_RT_USING_DFS=y +CONFIG_DFS_USING_POSIX=y +CONFIG_DFS_USING_WORKDIR=y +CONFIG_DFS_FD_MAX=16 +CONFIG_RT_USING_DFS_V1=y +CONFIG_DFS_FILESYSTEMS_MAX=4 +CONFIG_DFS_FILESYSTEM_TYPES_MAX=4 +CONFIG_RT_USING_DFS_ELMFAT=y +CONFIG_RT_DFS_ELM_CODE_PAGE=437 +CONFIG_RT_DFS_ELM_WORD_ACCESS=y +CONFIG_RT_DFS_ELM_USE_LFN_3=y +CONFIG_RT_DFS_ELM_USE_LFN=3 +CONFIG_RT_DFS_ELM_LFN_UNICODE_0=y +CONFIG_RT_DFS_ELM_LFN_UNICODE=0 +CONFIG_RT_DFS_ELM_MAX_LFN=255 +CONFIG_RT_DFS_ELM_DRIVES=2 +CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=4096 +CONFIG_RT_DFS_ELM_REENTRANT=y +CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000 +CONFIG_RT_USING_DFS_DEVFS=y + +CONFIG_RT_USING_SPI=y +CONFIG_RT_USING_SPI_ISR=y +CONFIG_RT_USING_QSPI=y +CONFIG_RT_USING_SFUD=y +CONFIG_RT_SFUD_USING_SFDP=y +CONFIG_RT_SFUD_USING_FLASH_INFO_TABLE=y +CONFIG_RT_SFUD_USING_QSPI=y +CONFIG_RT_SFUD_SPI_MAX_HZ=50000000 +CONFIG_BSP_USING_QSPI_FLASH=y +CONFIG_BSP_USING_QSPI=y diff --git a/bsp/stm32/stm32l475-atk-pandora/board/ports/drv_qspi_flash.c b/bsp/stm32/stm32l475-atk-pandora/board/ports/drv_qspi_flash.c index 6dac69cce75..91034998ab7 100644 --- a/bsp/stm32/stm32l475-atk-pandora/board/ports/drv_qspi_flash.c +++ b/bsp/stm32/stm32l475-atk-pandora/board/ports/drv_qspi_flash.c @@ -1,11 +1,12 @@ /* - * Copyright (c) 2006-2021, RT-Thread Development Team + * Copyright (c) 2006-2025, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: - * Date Author Notes - * 2018-11-27 zylx first version + * Date Author Notes + * 2018-11-27 zylx first version + * 2025-12-14 LinuxMint-User resolve QSPI compilation error */ #include @@ -19,6 +20,9 @@ #include "dev_spi_flash.h" #include "dev_spi_flash_sfud.h" +#define QSPI_BUS_NAME "qspi1" +#define QSPI_DEVICE_NAME "qspi10" + char w25qxx_read_status_register2(struct rt_qspi_device *device) { /* 0x35 read status register2 */ @@ -62,16 +66,18 @@ void w25qxx_enter_qspi_mode(struct rt_qspi_device *device) static int rt_hw_qspi_flash_with_sfud_init(void) { - rt_hw_qspi_device_attach("qspi1", "qspi10", RT_NULL, 4, w25qxx_enter_qspi_mode, RT_NULL); + rt_hw_qspi_device_attach(QSPI_BUS_NAME, QSPI_DEVICE_NAME, RT_NULL, 4, + (void (*)(void))w25qxx_enter_qspi_mode, RT_NULL); /* init w25q128 */ - if (RT_NULL == rt_sfud_flash_probe("W25Q128", "qspi10")) + if (RT_NULL == rt_sfud_flash_probe("W25Q128", QSPI_DEVICE_NAME)) { return -RT_ERROR; } return RT_EOK; } + INIT_COMPONENT_EXPORT(rt_hw_qspi_flash_with_sfud_init); #if defined(RT_USING_DFS_ELMFAT) && !defined(BSP_USING_SDCARD_FATFS) @@ -108,3 +114,4 @@ INIT_ENV_EXPORT(mnt_init); #endif /* defined(RT_USING_DFS_ELMFAT) && !defined(BSP_USING_SDCARD_FATFS) */ #endif /* BSP_USING_QSPI_FLASH */ + From ccfc038f5f0d3c664ef6d91f98065c640119b3ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=E2=80=86b=E2=80=86b666?= <64397326+Rbb666@users.noreply.github.com> Date: Fri, 12 Dec 2025 10:34:53 +0800 Subject: [PATCH 02/20] Update RT_VER_NUM to 5.3.0 (#11039) --- src/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Kconfig b/src/Kconfig index ea50610b1f9..efb21f27528 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -434,7 +434,7 @@ endif config RT_VER_NUM hex - default 0x50201 + default 0x50300 help RT-Thread version number From df404ee182d57d65f241059ac7a350d988e8e03b Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Tue, 9 Dec 2025 17:32:26 +0800 Subject: [PATCH 03/20] [dm][clk] refactoring the CLK framework The old CLK is can't link all hardware clock cell in system that the API of layout such as 'set_parent' can't work as expected. Some hareware clock cell need some flags to prevent some dangerous behaviors, eg: When a clock cell is link to the PMU, the SoC will power-down if the cell is disable. The new CLK can do it, and make the CLK drivers implemented easier from TRM/DataSheet. Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/clk/SConscript | 10 +- components/drivers/clk/clk-fixed-rate.c | 80 +- components/drivers/clk/clk.c | 2143 ++++++++++++++++------ components/drivers/include/drivers/clk.h | 205 ++- 4 files changed, 1805 insertions(+), 633 deletions(-) diff --git a/components/drivers/clk/SConscript b/components/drivers/clk/SConscript index af6ed4dbeb2..928697863d3 100644 --- a/components/drivers/clk/SConscript +++ b/components/drivers/clk/SConscript @@ -1,7 +1,6 @@ from building import * group = [] -objs = [] if not GetDepend(['RT_USING_CLK']): Return('group') @@ -15,12 +14,7 @@ src = ['clk.c'] if GetDepend(['RT_USING_OFW']): src += ['clk-fixed-rate.c'] -group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) -objs = objs + group +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) -Return('objs') +Return('group') diff --git a/components/drivers/clk/clk-fixed-rate.c b/components/drivers/clk/clk-fixed-rate.c index 0912e86dd6b..944269c257b 100644 --- a/components/drivers/clk/clk-fixed-rate.c +++ b/components/drivers/clk/clk-fixed-rate.c @@ -6,66 +6,72 @@ * Change Logs: * Date Author Notes * 2022-11-26 GuEe-GUI first version + * 2024-05-01 GuEe-GUI update for new clk */ #include #include -#include - -static rt_err_t fixed_clk_ofw_init(struct rt_platform_device *pdev, struct rt_clk_fixed_rate *clk_fixed) +struct clk_fixed { - rt_err_t err = RT_EOK; - rt_uint32_t rate, accuracy; - struct rt_ofw_node *np = pdev->parent.ofw_node; - const char *clk_name = np->name; - - if (!rt_ofw_prop_read_u32(np, "clock-frequency", &rate)) - { - rt_ofw_prop_read_u32(np, "clock-accuracy", &accuracy); - rt_ofw_prop_read_string(np, "clock-output-names", &clk_name); + struct rt_clk_node parent; - clk_fixed->clk.name = clk_name; - clk_fixed->clk.rate = rate; - clk_fixed->clk.min_rate = rate; - clk_fixed->clk.max_rate = rate; - clk_fixed->fixed_rate = rate; - clk_fixed->fixed_accuracy = accuracy; + struct rt_clk_fixed_rate fcell; + struct rt_clk_cell *cells[1]; +}; - rt_ofw_data(np) = &clk_fixed->clk; - } - else - { - err = -RT_EIO; - } +static rt_ubase_t fixed_clk_recalc_rate(struct rt_clk_cell *cell, rt_ubase_t parent_rate) +{ + struct rt_clk_fixed_rate *fr = rt_container_of(cell, struct rt_clk_fixed_rate, cell); - return err; + return fr->fixed_rate; } +static struct rt_clk_ops fixed_clk_ops = +{ + .recalc_rate = fixed_clk_recalc_rate, +}; + static rt_err_t fixed_clk_probe(struct rt_platform_device *pdev) { - rt_err_t err = RT_EOK; - struct rt_clk_fixed_rate *clk_fixed = rt_calloc(1, sizeof(*clk_fixed)); + rt_err_t err; + rt_uint32_t val; + struct rt_device *dev = &pdev->parent; + struct clk_fixed *cf = rt_calloc(1, sizeof(*cf)); - if (clk_fixed) + if (!cf) { - err = fixed_clk_ofw_init(pdev, clk_fixed); - } - else - { - err = -RT_ENOMEM; + return -RT_ENOMEM; } - if (!err) + if ((err = rt_dm_dev_prop_read_u32(dev, "clock-frequency", &val))) { - err = rt_clk_register(&clk_fixed->clk, RT_NULL); + goto _fail; } + cf->fcell.fixed_rate = val; + + val = 0; + rt_dm_dev_prop_read_u32(dev, "clock-accuracy", &val); + cf->fcell.fixed_accuracy = val; - if (err && clk_fixed) + rt_dm_dev_prop_read_string(dev, "clock-output-names", &cf->fcell.cell.name); + + cf->parent.dev = dev; + cf->parent.cells_nr = 1; + cf->parent.cells = cf->cells; + cf->cells[0] = &cf->fcell.cell; + cf->fcell.cell.ops = &fixed_clk_ops; + + if ((err = rt_clk_register(&cf->parent))) { - rt_free(clk_fixed); + goto _fail; } + return RT_EOK; + +_fail: + rt_free(cf); + return err; } diff --git a/components/drivers/clk/clk.c b/components/drivers/clk/clk.c index 2c2cc2fb42d..4d8a9c48eaa 100644 --- a/components/drivers/clk/clk.c +++ b/components/drivers/clk/clk.c @@ -7,6 +7,7 @@ * Date Author Notes * 2022-11-26 GuEe-GUI first version * 2025-01-24 wumingzi add doxygen comment + * 2024-05-01 GuEe-GUI make cell for hareware clock */ #include @@ -22,290 +23,265 @@ #define DBG_LVL DBG_INFO #include -static RT_DEFINE_SPINLOCK(_clk_lock); -static rt_list_t _clk_nodes = RT_LIST_OBJECT_INIT(_clk_nodes); +static rt_bool_t clk_ignore_unused = RT_FALSE; + +static struct rt_mutex _clk_lock; +static rt_list_t _clk_node_nodes = RT_LIST_OBJECT_INIT(_clk_node_nodes); static rt_list_t _clk_notifier_nodes = RT_LIST_OBJECT_INIT(_clk_notifier_nodes); -/** - * @brief Release clock node - * - * @param r point to reference count of clock node - * @warning The function only can print log and MORE DETAILS SHOULD BE IMPLEMENTED. - */ -static void clk_release(struct rt_ref *r) +static int clk_init(void) { - struct rt_clk_node *clk_np = rt_container_of(r, struct rt_clk_node, ref); - - LOG_E("%s is release", clk_np->name); - (void)clk_np; +#ifdef RT_USING_OFW + clk_ignore_unused = !!rt_ofw_bootargs_select("clk_ignore_unused", 0); +#endif + rt_mutex_init(&_clk_lock, "CLK", RT_IPC_FLAG_PRIO); - RT_ASSERT(0); + return 0; } +INIT_CORE_EXPORT(clk_init); /** - * @brief Increase reference count for clock node - * - * @param clk_np point to clock node + * @brief Acquire global clock framework lock. * - * @return struct rt_clk_node * point to clock node whose reference count has increased */ -rt_inline struct rt_clk_node *clk_get(struct rt_clk_node *clk_np) +static void clk_lock(void) { - rt_ref_get(&clk_np->ref); - - return clk_np; + if (rt_thread_self()) + { + rt_mutex_take(&_clk_lock, RT_WAITING_FOREVER); + } } /** - * @brief Decrease reference count for clock node - * - * @param clk_np point to clock node + * @brief Release global clock framework lock. * */ -rt_inline void clk_put(struct rt_clk_node *clk_np) +static void clk_unlock(void) { - rt_ref_put(&clk_np->ref, &clk_release); + if (rt_thread_self()) + { + rt_mutex_release(&_clk_lock); + } } /** * @brief Allocate memory space for struct clock and return it * - * @param clk_np point to clock node + * @param cell point to clock cell * @param dev_id device identifier for the clock * @param con_id connection identifier for the clock - * @param fw_node point to the firmware node associated with the clock * * @return struct rt_clk* point to clock */ -static struct rt_clk *clk_alloc(struct rt_clk_node *clk_np, const char *dev_id, - const char *con_id, void *fw_node) +static struct rt_clk *clk_alloc(struct rt_clk_cell *cell, const char *dev_id, const char *con_id) { struct rt_clk *clk = rt_calloc(1, sizeof(*clk)); - if (clk) + if (!clk) { - clk->clk_np = clk_np; - clk->dev_id = dev_id; - clk->con_id = con_id; + LOG_E("%s not memory to create CLK for dev_id = %s con_id = %s", + cell->name, dev_id, con_id); + return RT_NULL; + } + + clk->cell = cell; - clk->fw_node = fw_node; + clk->dev_id = dev_id; + clk->con_id = con_id; + + if (cell->clk) + { + clk->min_rate = cell->clk->min_rate; + clk->max_rate = cell->clk->max_rate; } else { - clk = rt_err_ptr(-RT_ENOMEM); + clk->min_rate = 0; + clk->max_rate = ~0UL; } return clk; } /** - * @brief Free memory space of clock object + * @brief Update clk cell hardware information * - * @param clk point to clock + * @param cell point to clock cell + * @param clk bind clk * */ -static void clk_free(struct rt_clk *clk) +static void clk_cell_bind(struct rt_clk_cell *cell, struct rt_clk *clk) { - struct rt_clk_node *clk_np = clk->clk_np; - - if (clk_np && clk_np->ops->finit) + if (!cell->clk) { - clk_np->ops->finit(clk); + cell->clk = clk; } - - rt_free(clk); -} - -/** - * @brief Allocate memory space and creat clock object - * - * @param clk_np point to clock node - * @param dev_id device identifier for the clock - * @param con_id connection identifier for the clock - * @param fw_data point to the firmware data associated with the clock - * @param fw_node point to the firmware node associated with the clock - * - * @return struct rt_clk* point to clock - */ -static struct rt_clk *clk_create(struct rt_clk_node *clk_np, const char *dev_id, - const char *con_id, void *fw_data, void *fw_node) -{ - struct rt_clk *clk = clk_alloc(clk_np, dev_id, con_id, fw_node); - - if (!rt_is_err(clk)) + else { - clk_get(clk_np); - - if (clk_np->ops->init && clk_np->ops->init(clk, fw_data)) + if (!cell->clk->dev_id) { - LOG_E("Dev[%s] Con[%s] init fail", dev_id, con_id); + cell->clk->dev_id = clk->dev_id; + } - clk_free(clk); - clk = RT_NULL; + if (!cell->clk->con_id) + { + cell->clk->con_id = clk->con_id; } } - - return clk; } /** - * @brief Notify corresponding clock from all + * @brief Register a clock node into the global clock framework. * - * @param clk_np point to clock node - * @param msg message identifier for the event - * @param old_rate old rate of the clock before the event - * @param new_rate new rate of the clock after the event + * This function initializes an @ref rt_clk_node structure and inserts it + * into the global clock node list. Each node may contain multiple + * @ref rt_clk_cell instances, which represent the individual output clocks + * provided by the node. * - * @return rt_err_t RT_EOK on notify clock sucessfully, and other value is failed. + * If the node is associated with a device (clk_np->dev is not NULL), + * the framework will automatically try to obtain its parent clocks by calling + * rt_clk_get_array(clk_np->dev). Otherwise, the node will be treated as a + * root-level provider (e.g., fixed clock). + * + * The caller must ensure that all @ref rt_clk_cell entries are allocated + * and linked to the node before calling this function. + * + * @param clk_np Pointer to the clock node to be registered. + * + * @retval RT_EOK Successfully registered. + * @retval -RT_EINVAL Invalid argument or missing cell list. + * @retval -RT_ENOMEM Failed to allocate parent clock array. */ -static rt_err_t clk_notify(struct rt_clk_node *clk_np, rt_ubase_t msg, rt_ubase_t old_rate, rt_ubase_t new_rate) +rt_err_t rt_clk_register(struct rt_clk_node *clk_np) { rt_err_t err = RT_EOK; - struct rt_clk_notifier *notifier; + struct rt_clk_cell *cell; - rt_list_for_each_entry(notifier, &_clk_notifier_nodes, list) + if (!clk_np || !clk_np->cells_nr || !clk_np->cells) { - if (notifier->clk->clk_np == clk_np) - { - err = notifier->callback(notifier, msg, old_rate, new_rate); + return -RT_EINVAL; + } - /* Only check hareware's error */ - if (err == -RT_EIO) - { - break; - } + if (clk_np->dev && !rt_is_err(clk_np->parents_clk)) + { + clk_np->parents_clk = rt_clk_get_array(clk_np->dev); + + if (rt_is_err(clk_np->parents_clk)) + { + return rt_ptr_err(clk_np->parents_clk); } } - return err; -} +#if RT_NAME_MAX > 0 + rt_strncpy(clk_np->parent.name, RT_CLK_NODE_OBJ_NAME, RT_NAME_MAX); +#else + clk_np->parent.name = RT_CLK_NODE_OBJ_NAME; +#endif -/** - * @brief Set parent clock - * - * @param clk_np point to clock node - * @param parent_np point to parent rt_clk - * - */ -static void clk_set_parent(struct rt_clk_node *clk_np, struct rt_clk_node *parent_np) -{ - rt_hw_spin_lock(&_clk_lock.lock); + rt_list_init(&clk_np->parent.list); - clk_np->parent = parent_np; + for (int i = 0; i < clk_np->cells_nr; ++i) + { + cell = clk_np->cells[i]; - rt_list_insert_after(&parent_np->children_nodes, &clk_np->list); + if (!cell) + { + continue; + } - rt_hw_spin_unlock(&_clk_lock.lock); -} + cell->clk_np = clk_np; -static const struct rt_clk_ops unused_clk_ops = -{ -}; + cell->rate = 0; + cell->prepare_count = 0; + cell->enable_count = 0; + } -/** - * @brief Register clock node into clock list - * - * @param clk_np point to child node that will be registered node. - * @param parent_np point to parent rt_clk. If it is RT_NULL, clock node will be linked to init node. - * - * @retval RT_EOK - * @retval -RT_ENOMEM - */ -rt_err_t rt_clk_register(struct rt_clk_node *clk_np, struct rt_clk_node *parent_np) -{ - rt_err_t err = RT_EOK; - struct rt_clk *clk = RT_NULL; + clk_lock(); + rt_list_insert_after(&_clk_node_nodes, &clk_np->parent.list); + clk_unlock(); - if (clk_np) +#ifdef RT_USING_OFW + if (clk_np->dev && clk_np->dev->ofw_node) { - clk_np->clk = clk; + rt_bool_t set_ofw_data = RT_FALSE; + struct rt_ofw_node *np = clk_np->dev->ofw_node; - if (!clk_np->ops) + if (!rt_ofw_data(np)) { - clk_np->ops = &unused_clk_ops; + set_ofw_data = RT_TRUE; + rt_ofw_data(np) = &clk_np->parent; } - #if RT_NAME_MAX > 0 - rt_strncpy(clk_np->rt_parent.name, RT_CLK_NODE_OBJ_NAME, RT_NAME_MAX); - #else - clk_np->rt_parent.name = RT_CLK_NODE_OBJ_NAME; - #endif - - rt_ref_init(&clk_np->ref); - rt_list_init(&clk_np->list); - rt_list_init(&clk_np->children_nodes); - clk_np->multi_clk = 0; - - if (parent_np) + if ((err = rt_ofw_clk_set_defaults(np))) { - clk_np->clk = clk_alloc(clk_np, RT_NULL, RT_NULL, RT_NULL); - - if (clk_np->clk) - { - clk_set_parent(clk_np, parent_np); - } - else + if (set_ofw_data) { - err = -RT_ENOMEM; + rt_ofw_data(np) = RT_NULL; } } - else - { - clk_np->parent = RT_NULL; - - rt_hw_spin_lock(&_clk_lock.lock); - - rt_list_insert_after(&_clk_nodes, &clk_np->list); - - rt_hw_spin_unlock(&_clk_lock.lock); - } } - else +#endif /* RT_USING_OFW */ + + if (err) { - err = -RT_ENOMEM; + if (!rt_is_err(clk_np->parents_clk)) + { + rt_clk_array_put(clk_np->parents_clk); + } } return err; } /** - * @brief Unregister clock node from clock list + * @brief Unregister a clock node from global clock list * - * @param clk_np point to child node that will be Unregistered node. + * This API is intended for rollback use only, typically called + * when a clock provider fails after registration but before any + * consumer starts using its clocks. * - * @retval RT_EOK - * @retval -RT_EBUSY - * @retval -RT_EINVAL + * It removes the specified clock node from the global list and + * releases its parent clock array if present. The function does + * not free memory of @ref rt_clk_cell instances or the node itself. + * + * @param clk_np Pointer to the clock node to be unregistered. + * + * @retval RT_EOK Successfully unregistered. + * @retval -RT_EINVAL Invalid parameter. + * @retval -RT_EBUSY One or more cells are active and cannot be removed. */ rt_err_t rt_clk_unregister(struct rt_clk_node *clk_np) { - rt_err_t err = RT_EOK; + struct rt_clk_cell *cell; - if (clk_np) + if (!clk_np) { - err = -RT_EBUSY; - - rt_hw_spin_lock(&_clk_lock.lock); + return -RT_EINVAL; + } - if (rt_list_isempty(&clk_np->children_nodes)) + if (clk_np->cells && clk_np->cells_nr) + { + for (int i = 0; i < clk_np->cells_nr; ++i) { - if (rt_ref_read(&clk_np->ref) <= 1) - { - rt_list_remove(&clk_np->list); - clk_free(clk_np->clk); + cell = clk_np->cells[i]; - err = RT_EOK; + if (cell && cell->enable_count > 0) + { + return -RT_EBUSY; } } - - rt_hw_spin_unlock(&_clk_lock.lock); } - else + + clk_lock(); + rt_list_remove(&clk_np->parent.list); + clk_unlock(); + + if (!rt_is_err(clk_np->parents_clk)) { - err = -RT_EINVAL; + rt_clk_array_put(clk_np->parents_clk); } - return err; + return RT_EOK; } /** @@ -319,18 +295,17 @@ rt_err_t rt_clk_unregister(struct rt_clk_node *clk_np) */ rt_err_t rt_clk_notifier_register(struct rt_clk *clk, struct rt_clk_notifier *notifier) { - if (!clk || !clk->clk_np || !notifier) + if (!clk || !notifier) { return -RT_EINVAL; } - rt_hw_spin_lock(&_clk_lock.lock); - - ++clk->clk_np->notifier_count; + notifier->clk = clk; rt_list_init(¬ifier->list); - rt_list_insert_after(&_clk_notifier_nodes, ¬ifier->list); - rt_hw_spin_unlock(&_clk_lock.lock); + clk_lock(); + rt_list_insert_after(&_clk_notifier_nodes, ¬ifier->list); + clk_unlock(); return RT_EOK; } @@ -353,51 +328,112 @@ rt_err_t rt_clk_notifier_unregister(struct rt_clk *clk, struct rt_clk_notifier * return -RT_EINVAL; } - rt_hw_spin_lock(&_clk_lock.lock); - + clk_lock(); rt_list_for_each_entry(notifier_find, &_clk_notifier_nodes, list) { - if (notifier_find->clk->clk_np == notifier->clk->clk_np) + if (notifier_find == notifier) { - --clk->clk_np->notifier_count; rt_list_remove(¬ifier->list); break; } } - - rt_hw_spin_unlock(&_clk_lock.lock); + clk_unlock(); return RT_EOK; } +/** + * @brief Notify corresponding clock from all + * + * @param clk_np point to clock node + * @param msg message identifier for the event + * @param old_rate old rate of the clock before the event + * @param new_rate new rate of the clock after the event + * + * @return rt_err_t RT_EOK on notify clock sucessfully, and other value is failed. + */ +static rt_err_t clk_notify(struct rt_clk_node *clk_np, rt_ubase_t msg, + rt_ubase_t old_rate, rt_ubase_t new_rate) +{ + rt_err_t err = RT_EOK; + struct rt_clk_notifier *notifier; + + rt_list_for_each_entry(notifier, &_clk_notifier_nodes, list) + { + if (notifier->clk->cell->clk_np == clk_np) + { + err = notifier->callback(notifier, msg, old_rate, new_rate); + + /* Only check hareware's error */ + if (err == -RT_EIO) + { + break; + } + } + } + + return err; +} + +static void clk_unprepare(struct rt_clk *clk); +static void clk_disable(struct rt_clk *clk); +static rt_ubase_t clk_round_rate(struct rt_clk *clk, rt_ubase_t rate); +static rt_err_t clk_set_rate(struct rt_clk *clk, rt_ubase_t rate); +static rt_err_t clk_set_parent(struct rt_clk *clk, struct rt_clk *parent); +static struct rt_clk *clk_get_parent(struct rt_clk *clk); +static rt_ubase_t clk_get_rate(struct rt_clk *clk); + +static struct rt_clk *clk_cell_get_clk(struct rt_clk_cell *cell); + /** * @brief Recursively prepare clock * * @param clk Ponit to clock that will be prepared - * @param clk_np Ponit to clock node that will be prepared * * @return rt_err_t RT_EOK on prepare clock sucessfully, and other value is failed. */ -static rt_err_t clk_prepare(struct rt_clk *clk, struct rt_clk_node *clk_np) +static rt_err_t clk_prepare(struct rt_clk *clk) { - rt_err_t err = RT_EOK; + rt_err_t err; + struct rt_clk *parent; + struct rt_clk_cell *cell; + + cell = clk->cell; - if (clk_np->parent) + /* Already prepared */ + if (cell->prepare_count++ > 0) { - clk_prepare(clk_np->clk, clk_np->parent); + return RT_EOK; } - if (clk->prepare_count == 0 && clk_np->ops->prepare) + parent = clk_get_parent(clk); + + if (parent) { - err = clk_np->ops->prepare(clk); + if ((err = clk_prepare(parent))) + { + goto _fail; + } } - if (!err) + if (cell->ops->prepare) { - ++clk->prepare_count; + if ((err = cell->ops->prepare(cell))) + { + if (parent) + { + clk_unprepare(parent); + } + + goto _fail; + } } + return RT_EOK; + +_fail: + --cell->prepare_count; return err; } @@ -410,17 +446,19 @@ static rt_err_t clk_prepare(struct rt_clk *clk, struct rt_clk_node *clk_np) */ rt_err_t rt_clk_prepare(struct rt_clk *clk) { - rt_err_t err = RT_EOK; + rt_err_t err; RT_DEBUG_NOT_IN_INTERRUPT; - if (clk && clk->clk_np) + if (clk) { - rt_hw_spin_lock(&_clk_lock.lock); - - err = clk_prepare(clk, clk->clk_np); - - rt_hw_spin_unlock(&_clk_lock.lock); + clk_lock(); + err = clk_prepare(clk); + clk_unlock(); + } + else + { + err = RT_EOK; } return err; @@ -430,42 +468,50 @@ rt_err_t rt_clk_prepare(struct rt_clk *clk) * @brief Recursively unprepare clock * * @param clk Ponit to clock that will be unprepared - * @param clk_np Ponit to clock node that will be unprepared * */ -static void clk_unprepare(struct rt_clk *clk, struct rt_clk_node *clk_np) +static void clk_unprepare(struct rt_clk *clk) { - if (clk_np->parent) + struct rt_clk *parent; + struct rt_clk_cell *cell; + + cell = clk->cell; + + /* Don't unprepare readly */ + if (cell->prepare_count-- > 1) { - clk_unprepare(clk_np->clk, clk_np->parent); + return; } - if (clk->prepare_count == 1 && clk_np->ops->unprepare) + if (cell->ops->unprepare) { - clk_np->ops->unprepare(clk); + cell->ops->unprepare(cell); } - if (clk->prepare_count) + + parent = clk_get_parent(clk); + + if (parent) { - --clk->prepare_count; + clk_unprepare(parent); } } -rt_err_t rt_clk_unprepare(struct rt_clk *clk) +/** + * @brief Unprepare clock + * + * @param clk Ponit to clock that will be unprepared + * + */ +void rt_clk_unprepare(struct rt_clk *clk) { - rt_err_t err = RT_EOK; - RT_DEBUG_NOT_IN_INTERRUPT; - if (clk && clk->clk_np) + if (clk) { - rt_hw_spin_lock(&_clk_lock.lock); - - clk_unprepare(clk, clk->clk_np); - - rt_hw_spin_unlock(&_clk_lock.lock); + clk_lock(); + clk_unprepare(clk); + clk_unlock(); } - - return err; } /** @@ -475,25 +521,47 @@ rt_err_t rt_clk_unprepare(struct rt_clk *clk) * * @return rt_err_t RT_EOK on enable clock FOREVER. */ -static rt_err_t clk_enable(struct rt_clk *clk, struct rt_clk_node *clk_np) +static rt_err_t clk_enable(struct rt_clk *clk) { - rt_err_t err = RT_EOK; + rt_err_t err; + struct rt_clk *parent; + struct rt_clk_cell *cell; - if (clk_np->parent) + cell = clk->cell; + + /* Already enabled */ + if (cell->enable_count++ > 0) { - clk_enable(clk_np->clk, clk_np->parent); + return RT_EOK; } - if (clk->enable_count == 0 && clk_np->ops->enable) + parent = clk_get_parent(clk); + + if (parent) { - err = clk_np->ops->enable(clk); + if ((err = clk_enable(parent))) + { + goto _fail; + } } - if (!err) + if (cell->ops->enable) { - ++clk->enable_count; + if ((err = cell->ops->enable(cell))) + { + if (parent) + { + clk_disable(parent); + } + + goto _fail; + } } + return RT_EOK; + +_fail: + --cell->enable_count; return err; } @@ -506,15 +574,17 @@ static rt_err_t clk_enable(struct rt_clk *clk, struct rt_clk_node *clk_np) */ rt_err_t rt_clk_enable(struct rt_clk *clk) { - rt_err_t err = RT_EOK; + rt_err_t err; - if (clk && clk->clk_np) + if (clk) { - rt_hw_spin_lock(&_clk_lock.lock); - - err = clk_enable(clk, clk->clk_np); - - rt_hw_spin_unlock(&_clk_lock.lock); + clk_lock(); + err = clk_enable(clk); + clk_unlock(); + } + else + { + err = RT_EOK; } return err; @@ -524,23 +594,46 @@ rt_err_t rt_clk_enable(struct rt_clk *clk) * @brief Recursively disable clock * * @param clk Ponit to clock that will be disabled - * @param clk_np Ponit to clock node that will be disabled * */ -static void clk_disable(struct rt_clk *clk, struct rt_clk_node *clk_np) +static void clk_disable(struct rt_clk *clk) { - if (clk_np->parent) + struct rt_clk *parent; + struct rt_clk_cell *cell; + + cell = clk->cell; + + if (cell->enable_count == 0) + { + LOG_W("%s: Disable called with count = 0", cell->name); + return; + } + + if (cell->enable_count-- > 1) + { + return; + } + + if (cell->flags & RT_CLK_F_IS_CRITICAL) + { + return; + } + + if (clk_ignore_unused && cell->flags & RT_CLK_F_IGNORE_UNUSED) { - clk_disable(clk_np->clk, clk_np->parent); + return; } - if (clk->enable_count == 1 && clk_np->ops->disable) + if (cell->ops->disable) { - clk_np->ops->disable(clk); + cell->ops->disable(cell); } - if (clk->enable_count) + + parent = clk_get_parent(clk); + + if (parent) { - --clk->enable_count; + clk_disable(parent); } } @@ -552,13 +645,11 @@ static void clk_disable(struct rt_clk *clk, struct rt_clk_node *clk_np) */ void rt_clk_disable(struct rt_clk *clk) { - if (clk && clk->clk_np) + if (clk) { - rt_hw_spin_lock(&_clk_lock.lock); - - clk_disable(clk, clk->clk_np); - - rt_hw_spin_unlock(&_clk_lock.lock); + clk_lock(); + clk_disable(clk); + clk_unlock(); } } @@ -571,23 +662,25 @@ void rt_clk_disable(struct rt_clk *clk) */ rt_err_t rt_clk_prepare_enable(struct rt_clk *clk) { - rt_err_t err = RT_EOK; + rt_err_t err; RT_DEBUG_NOT_IN_INTERRUPT; if (clk) { - err = rt_clk_prepare(clk); - - if (!err) + clk_lock(); + if (!(err = clk_prepare(clk))) { - err = rt_clk_enable(clk); - - if (err) + if ((err = clk_enable(clk))) { - rt_clk_unprepare(clk); + clk_unprepare(clk); } } + clk_unlock(); + } + else + { + err = RT_EOK; } return err; @@ -605,8 +698,10 @@ void rt_clk_disable_unprepare(struct rt_clk *clk) if (clk) { - rt_clk_disable(clk); - rt_clk_unprepare(clk); + clk_lock(); + clk_disable(clk); + clk_unprepare(clk); + clk_unlock(); } } @@ -619,7 +714,7 @@ void rt_clk_disable_unprepare(struct rt_clk *clk) */ rt_err_t rt_clk_array_prepare(struct rt_clk_array *clk_arr) { - rt_err_t err = RT_EOK; + rt_err_t err; if (clk_arr) { @@ -639,29 +734,29 @@ rt_err_t rt_clk_array_prepare(struct rt_clk_array *clk_arr) } } } + else + { + err = RT_EOK; + } return err; } -rt_err_t rt_clk_array_unprepare(struct rt_clk_array *clk_arr) +/** + * @brief Unprepare clock array for mutipule out clock + * + * @param clk_arr point to clock array + * + */ +void rt_clk_array_unprepare(struct rt_clk_array *clk_arr) { - rt_err_t err = RT_EOK; - if (clk_arr) { for (int i = 0; i < clk_arr->count; ++i) { - if ((err = rt_clk_unprepare(clk_arr->clks[i]))) - { - LOG_E("CLK Array[%d] %s failed error = %s", i, - "unprepare", rt_strerror(err)); - - break; - } + rt_clk_unprepare(clk_arr->clks[i]); } } - - return err; } /** @@ -673,7 +768,7 @@ rt_err_t rt_clk_array_unprepare(struct rt_clk_array *clk_arr) */ rt_err_t rt_clk_array_enable(struct rt_clk_array *clk_arr) { - rt_err_t err = RT_EOK; + rt_err_t err; if (clk_arr) { @@ -693,6 +788,10 @@ rt_err_t rt_clk_array_enable(struct rt_clk_array *clk_arr) } } } + else + { + err = RT_EOK; + } return err; } @@ -752,51 +851,85 @@ void rt_clk_array_disable_unprepare(struct rt_clk_array *clk_arr) } /** - * @brief Set clock rate range + * @brief Set and clamp clock rate within specified range. * - * @param clk point to clock - * @param min minimum clock rate - * @param max minimum clock rate + * @details This function updates the minimum and maximum allowed rate + * of a clock, clamps its current rate to the new range, and + * immediately applies the change via set_rate(). * - * @return rt_err_t RT_EOK on set clock rate range sucessfully, and other value is failed. + * @param clk Pointer to clock handle. + * @param min Minimum allowed rate (Hz). + * @param max Maximum allowed rate (Hz). + * + * @retval RT_EOK Successfully updated. + * @retval -RT_EINVAL Invalid parameter or range. + * @retval -RT_ENOSYS Clock driver does not support set_rate(). + * @retval other Hardware-specific error returned by set_rate(). */ -rt_err_t rt_clk_set_rate_range(struct rt_clk *clk, rt_ubase_t min, rt_ubase_t max) +static rt_err_t clk_set_rate_range(struct rt_clk *clk, rt_ubase_t min, rt_ubase_t max) { - rt_err_t err = RT_EOK; + rt_err_t err; + rt_ubase_t rate, old_min, old_max; + struct rt_clk_cell *cell; - if (clk && clk->clk_np) + if (min > max) { - struct rt_clk_node *clk_np = clk->clk_np; + return -RT_EINVAL; + } - rt_hw_spin_lock(&_clk_lock.lock); + cell = clk->cell; - if (clk_np->ops->set_rate) - { - rt_ubase_t rate = clk_np->rate; - rt_ubase_t old_min = clk_np->min_rate; - rt_ubase_t old_max = clk_np->max_rate; + old_min = clk->min_rate; + old_max = clk->max_rate; - clk_np->min_rate = min; - clk_np->max_rate = max; + clk->min_rate = min; + clk->max_rate = max; - rate = rt_clamp(rate, min, max); - err = clk_np->ops->set_rate(clk, rate, - rt_clk_get_rate(clk_np->parent ? clk_np->parent->clk : RT_NULL)); + if (cell->flags & RT_CLK_F_GET_RATE_NOCACHE) + { + rate = clk_get_rate(clk); + } + else + { + rate = cell->rate; + } - if (err) - { - clk_np->min_rate = old_min; - clk_np->max_rate = old_max; - } - } - else - { - err = -RT_ENOSYS; - } + if ((err = clk_set_rate(clk, rt_clamp(rate, min, max)))) + { + goto _fail; + } - rt_hw_spin_unlock(&_clk_lock.lock); + return RT_EOK; + +_fail: + clk->min_rate = old_min; + clk->max_rate = old_max; + + return err; +} + +/** + * @brief Set clock rate range + * + * @param clk point to clock + * @param min minimum clock rate + * @param max minimum clock rate + * + * @return rt_err_t RT_EOK on set clock rate range sucessfully, and other value is failed. + */ +rt_err_t rt_clk_set_rate_range(struct rt_clk *clk, rt_ubase_t min, rt_ubase_t max) +{ + rt_err_t err; + + if (!clk) + { + return RT_EOK; } + clk_lock(); + err = clk_set_rate_range(clk, min, max); + clk_unlock(); + return err; } @@ -810,16 +943,12 @@ rt_err_t rt_clk_set_rate_range(struct rt_clk *clk, rt_ubase_t min, rt_ubase_t ma */ rt_err_t rt_clk_set_min_rate(struct rt_clk *clk, rt_ubase_t rate) { - rt_err_t err = RT_EOK; - - if (clk && clk->clk_np) + if (clk) { - struct rt_clk_node *clk_np = clk->clk_np; - - err = rt_clk_set_rate_range(clk, rate, clk_np->max_rate); + return rt_clk_set_rate_range(clk, rate, clk->max_rate); } - return err; + return RT_EOK; } /** @@ -832,13 +961,158 @@ rt_err_t rt_clk_set_min_rate(struct rt_clk *clk, rt_ubase_t rate) */ rt_err_t rt_clk_set_max_rate(struct rt_clk *clk, rt_ubase_t rate) { - rt_err_t err = RT_EOK; + if (clk) + { + return rt_clk_set_rate_range(clk, clk->min_rate, rate); + } + + return RT_EOK; +} + +/** + * @brief Set clock rate. + * + * @details This function directly sets the frequency of the given clock. + * If the hardware driver supports set_rate(), the new rate will + * be applied immediately and the cached rate will be updated. + * + * @param clk Pointer to clock handle. + * @param rate Target frequency (Hz). + * + * @retval RT_EOK Successfully updated. + * @retval -RT_EINVAL Invalid parameter. + * @retval -RT_ENOSYS Clock driver does not support set_rate(). + * @retval other Hardware-specific error returned by set_rate(). + */ +static rt_err_t clk_set_rate(struct rt_clk *clk, rt_ubase_t rate) +{ + rt_err_t err; + rt_ubase_t old_rate, prate; + rt_bool_t was_enabled = RT_FALSE; + rt_bool_t was_disabled = RT_FALSE; + struct rt_clk *parent = RT_NULL; + struct rt_clk_node *clk_np; + struct rt_clk_cell *cell; + + cell = clk->cell; + + if (!cell->ops->set_rate) + { + return -RT_ENOSYS; + } + + clk_np = cell->clk_np; + + if (cell->flags & RT_CLK_F_GET_RATE_NOCACHE) + { + old_rate = clk_get_rate(clk); + } + else + { + old_rate = cell->rate; + } + rate = rt_clamp(rate, clk->min_rate, clk->max_rate); + + parent = clk_get_parent(clk); + + if (cell->parents_nr > 1) + { + rt_uint8_t best_idx = RT_UINT8_MAX; + rt_ubase_t best_rounded = 0, best_diff = ~0UL; + struct rt_clk_cell *parent_cell, *best_parent_cell = RT_NULL; + + for (rt_uint8_t idx = 0; idx < cell->parents_nr; ++idx) + { + rt_ubase_t rounded, diff; + + if (!(parent_cell = rt_clk_cell_get_parent_by_index(cell, idx))) + { + continue; + } + + if (!parent_cell->clk && !(parent_cell->clk = clk_cell_get_clk(parent_cell))) + { + return RT_NULL; + } + + prate = clk_get_rate(parent_cell->clk); + rounded = clk_round_rate(parent_cell->clk, rate); + rounded = (rounded > 0) ? rounded : rate; + + diff = rt_abs(rounded - rate); + + if (diff < best_diff) + { + best_idx = idx; + best_diff = diff; + best_rounded = rounded; + best_parent_cell = parent_cell; + } + } + + if (best_idx != RT_UINT8_MAX && parent->cell != best_parent_cell) + { + parent = best_parent_cell->clk; + + if ((err = clk_set_parent(clk, parent))) + { + return err; + } + + rate = best_rounded; + } + } + + if (parent) + { + if (cell->flags & RT_CLK_F_SET_RATE_PARENT) + { + if ((err = clk_set_rate(parent, rate))) + { + return err; + } + } + + prate = clk_get_rate(parent); + } + else + { + prate = 0; + } + + if ((cell->flags & RT_CLK_F_SET_RATE_GATE) && cell->enable_count > 0) + { + was_enabled = RT_TRUE; + clk_disable(clk); + } + else if ((cell->flags & RT_CLK_F_SET_RATE_UNGATE) && cell->enable_count == 0) + { + was_disabled = RT_TRUE; + clk_enable(clk); + } - if (clk && clk->clk_np) + clk_notify(clk_np, RT_CLK_MSG_PRE_RATE_CHANGE, old_rate, rate); + + if ((err = cell->ops->set_rate(cell, rate, prate))) { - struct rt_clk_node *clk_np = clk->clk_np; + clk_notify(clk_np, RT_CLK_MSG_ABORT_RATE_CHANGE, old_rate, rate); + + goto _end; + } + + /* Update cached rate */ + cell->rate = rate; - err = rt_clk_set_rate_range(clk, clk_np->min_rate, rate); + clk_notify(clk_np, RT_CLK_MSG_POST_RATE_CHANGE, old_rate, rate); + +_end: + if (was_enabled) + { + clk_enable(clk); + } + else if (was_disabled) + { + clk_disable(clk); } return err; @@ -854,76 +1128,361 @@ rt_err_t rt_clk_set_max_rate(struct rt_clk *clk, rt_ubase_t rate) */ rt_err_t rt_clk_set_rate(struct rt_clk *clk, rt_ubase_t rate) { - rt_err_t err = RT_EOK; + rt_err_t err; - rate = rt_clk_round_rate(clk, rate); + if (clk) + { + clk_lock(); + err = clk_set_rate(clk, rate); + clk_unlock(); + } + else + { + err = RT_EOK; + } + + return err; +} + +/** + * @brief Internal helper to get clock rate (no locking, no validation). + * + * @param clk Pointer to clock handle. + * + * @return Clock frequency in Hz, or 0 if invalid. + */ +static rt_ubase_t clk_get_rate(struct rt_clk *clk) +{ + rt_ubase_t prate; + struct rt_clk *parent; + struct rt_clk_cell *cell; + + cell = clk->cell; + parent = clk_get_parent(clk); + prate = parent ? clk_get_rate(parent) : 0; + + if (cell->ops->recalc_rate) + { + cell->rate = cell->ops->recalc_rate(cell, prate); + } + else + { + cell->rate = prate; + } + + return cell->rate; +} + +/** + * @brief Get clock rate + * + * @param clk point to clock + * + * @return rt_ubase_t clock rate or error code + */ +rt_ubase_t rt_clk_get_rate(struct rt_clk *clk) +{ + rt_ubase_t rate; - if (clk && clk->clk_np && rate > 0) + if (clk) + { + clk_lock(); + rate = clk_get_rate(clk); + clk_unlock(); + } + else { - struct rt_clk_node *clk_np = clk->clk_np; + rate = 0; + } + + return rate; +} + +/** + * @brief Internal helper to round clock rate (no locking). + * + * @param clk Pointer to clock handle. + * @param rate Desired frequency in Hz. + * + * @return Rounded frequency in Hz (may differ from requested value). + */ +static rt_ubase_t clk_round_rate(struct rt_clk *clk, rt_ubase_t rate) +{ + rt_ubase_t prate, rounded = rate; + struct rt_clk *parent; + struct rt_clk_cell *cell; + + cell = clk->cell; - rt_hw_spin_lock(&_clk_lock.lock); + parent = clk_get_parent(clk); + prate = parent ? clk_get_rate(parent) : 0; - if (clk_np->min_rate && rate < clk_np->min_rate) + /* If driver provides round_rate() callback, use it */ + if (cell->ops->round_rate) + { + rt_base_t res = cell->ops->round_rate(cell, rate, &prate); + + if (res > 0) { - err = -RT_EINVAL; + rounded = res; } + } + else if ((cell->flags & RT_CLK_F_SET_RATE_PARENT) && parent) + { + /* Delegate rounding to parent clock if supported */ + rounded = clk_round_rate(parent, rate); + } + + /* Clamp to valid range */ + return rt_clamp(rounded, clk->min_rate, clk->max_rate); +} - if (clk_np->max_rate && rate > clk_np->max_rate) +/** + * @brief Check if clock rate is in the minimum to maximun and get it + * + * @param clk point to clock + * @param rate rate will be checked + * + * @return rt_base_t get the correct rate + * @note if parameter rate less than the minimum or more than maximum, the + retrun rate will be set to minimum ormaximum value + */ +rt_base_t rt_clk_round_rate(struct rt_clk *clk, rt_ubase_t rate) +{ + rt_ubase_t rounded = 0; + + if (clk) + { + clk_lock(); + rounded = clk_round_rate(clk, rate); + clk_unlock(); + } + + return rounded; +} + +/** + * @brief Set parent clock + * + * @param clk_np point to clock node + * @param parent_np point to parent rt_clk + * + * @return rt_err_t RT_EOK on set clock parent sucessfully, and other value is failed. + */ +static rt_err_t clk_set_parent(struct rt_clk *clk, struct rt_clk *parent) +{ + rt_err_t err; + rt_uint8_t idx = RT_UINT8_MAX; + rt_bool_t was_enabled = RT_FALSE; + struct rt_clk_cell *cell; + + cell = clk->cell; + + /* Already same parent? */ + if (parent) + { + if (cell->parent == parent->cell->clk) { - err = -RT_EINVAL; + return RT_EOK; } + } + else if (!cell->parent) + { + return RT_EOK; + } - if (!err) + /* No multi-parent */ + if (cell->parents_nr <= 1) + { + return -RT_EINVAL; + } + + /* Multi-parent but driver lacks support */ + if (!cell->ops->set_parent) + { + return -RT_EINVAL; + } + + /* Find new parent index if provided */ + if (parent) + { + const char *pname = parent->cell->name; + + /* Temporarily gate if required */ + if ((cell->flags & RT_CLK_F_SET_PARENT_GATE) && cell->enable_count > 0) { - if (clk_np->ops->set_rate) + was_enabled = RT_TRUE; + clk_disable(clk); + } + + for (int i = 0; i < cell->parents_nr; ++i) + { + if (!rt_strcmp(cell->parent_names[i], pname)) { - rt_ubase_t old_rate = clk_np->rate; + idx = i; + break; + } + } - err = clk_np->ops->set_rate(clk, rate, - rt_clk_get_rate(clk_np->parent ? clk_np->parent->clk : RT_NULL)); + if (idx == RT_UINT8_MAX) + { + LOG_W("%s: Invalid parent %s", cell->name, pname); + err = -RT_EINVAL; + goto _end; + } - if (clk_np->rate != old_rate) - { - clk_notify(clk_np, RT_CLK_MSG_PRE_RATE_CHANGE, old_rate, clk_np->rate); - } - } - else + if (cell->ops->set_parent) + { + if (!(err = cell->ops->set_parent(cell, idx))) { - err = -RT_ENOSYS; + cell->parent = parent->cell->clk; } } + else + { + err = -RT_ENOSYS; + } - rt_hw_spin_unlock(&_clk_lock.lock); + _end: + if (was_enabled) + { + clk_enable(clk); + } + } + else + { + err = RT_EOK; } return err; } /** - * @brief Get clock rate + * @brief Set clock parent object * * @param clk point to clock + * @param clk_parent point to parent clock * - * @return rt_ubase_t clock rate or error code + * @return rt_err_t RT_EOK on set clock parent sucessfully, and other value is failed. */ -rt_ubase_t rt_clk_get_rate(struct rt_clk *clk) +rt_err_t rt_clk_set_parent(struct rt_clk *clk, struct rt_clk *clk_parent) { - rt_ubase_t rate = 0; + rt_err_t err; if (clk) { - if (clk->rate) + clk_lock(); + err = clk_set_parent(clk, clk_parent); + clk_unlock(); + } + else + { + err = RT_EOK; + } + + return err; +} + +/** + * @brief Resolve and return the parent clock of a given clock handle. + * + * @details This function determines the parent clock for the provided + * clock handle (`clk`). It first checks for an existing cached + * parent, and if none exists: + * 1. Calls the driver's `get_parent()` callback to retrieve + * the parent index. + * 2. Looks up the corresponding parent clock by name from: + * - The controller's `parents_clk` array, or + * - The controller's own `cells` array. + * 3. If a matching cell exists but no rt_clk handle yet, a new + * handle is allocated via `clk_alloc()`. + * 4. The resolved parent is cached in `cell->parent`. + * + * @param clk Pointer to the clock handle. + * + * @return Pointer to the parent clock handle, or NULL on failure. + */ +static struct rt_clk *clk_get_parent(struct rt_clk *clk) +{ + rt_uint8_t idx; + struct rt_clk *parent; + struct rt_clk_cell *cell, *parent_cell; + + cell = clk->cell; + + if (!cell->parent_names) + { + return RT_NULL; + } + + if (cell->parent) + { + return cell->parent; + } + + if (cell->parents_nr > 1) + { + if (!cell->ops->get_parent) { - rate = clk->rate; + LOG_E("%s: Missing get_parent() while having parent_names", cell->name); + return RT_NULL; } - else if (clk->clk_np) + + idx = cell->ops->get_parent(cell); + + if (idx >= cell->parents_nr) { - rate = clk->clk_np->rate; + LOG_E("%s: Get parent fail", cell->name); + return RT_NULL; } } + else + { + idx = 0; + } - return rate; + parent_cell = rt_clk_cell_get_parent_by_index(cell, idx); + + if (!parent_cell) + { + return RT_NULL; + } + + if (!parent_cell->clk && !(parent_cell->clk = clk_cell_get_clk(parent_cell))) + { + return RT_NULL; + } + + parent = parent_cell->clk; + cell->parent = parent; + + return parent; +} + +/** + * @brief Get parent clock pointer + * + * @param clk child clock + * + * @return struct rt_clk* parent clock object pointer will be return, unless child + clock node havn't parent node instead return RT_NULL + */ +struct rt_clk *rt_clk_get_parent(struct rt_clk *clk) +{ + struct rt_clk *parent; + + if (clk) + { + clk_lock(); + parent = clk_get_parent(clk); + clk_unlock(); + } + else + { + parent = RT_NULL; + } + + return parent; } /** @@ -936,15 +1495,32 @@ rt_ubase_t rt_clk_get_rate(struct rt_clk *clk) */ rt_err_t rt_clk_set_phase(struct rt_clk *clk, int degrees) { - rt_err_t err = RT_EOK; + rt_err_t err; - if (clk && clk->clk_np && clk->clk_np->ops->set_phase) + if (clk) { - rt_hw_spin_lock(&_clk_lock.lock); + struct rt_clk_cell *cell = clk->cell; - err = clk->clk_np->ops->set_phase(clk, degrees); + /* Sanity check degrees */ + degrees %= 360; - rt_hw_spin_unlock(&_clk_lock.lock); + if (degrees < 0) + { + degrees += 360; + } + + if (cell->ops->set_phase) + { + err = cell->ops->set_phase(cell, degrees); + } + else + { + err = -RT_ENOSYS; + } + } + else + { + err = RT_EOK; } return err; @@ -959,122 +1535,310 @@ rt_err_t rt_clk_set_phase(struct rt_clk *clk, int degrees) */ rt_base_t rt_clk_get_phase(struct rt_clk *clk) { - rt_base_t res = RT_EOK; + rt_base_t res; - if (clk && clk->clk_np && clk->clk_np->ops->get_phase) + if (clk) { - rt_hw_spin_lock(&_clk_lock.lock); + struct rt_clk_cell *cell = clk->cell; - res = clk->clk_np->ops->get_phase(clk); - - rt_hw_spin_unlock(&_clk_lock.lock); + if (cell->ops->get_phase) + { + res = cell->ops->get_phase(cell); + } + else + { + res = 0; + } + } + else + { + res = 0; } return res; } /** - * @brief Check if clock rate is in the minimum to maximun and get it + * @brief Check if the clock cell is prepared * - * @param clk point to clock - * @param rate rate will be checked + * @param cell Pointer to clock cell * - * @return rt_base_t get the correct rate - * @note if parameter rate less than the minimum or more than maximum, the - retrun rate will be set to minimum ormaximum value + * @return RT_TRUE if prepared, otherwise RT_FALSE */ -rt_base_t rt_clk_round_rate(struct rt_clk *clk, rt_ubase_t rate) +rt_bool_t rt_clk_cell_is_prepared(const struct rt_clk_cell *cell) { - rt_base_t res = -RT_EINVAL; + RT_ASSERT(cell != RT_NULL); - if (clk && clk->clk_np) + if (cell->ops->is_prepared) { - struct rt_clk_node *clk_np = clk->clk_np; + return cell->ops->is_prepared((struct rt_clk_cell *)cell); + } - if (clk_np->ops->round_rate) - { - rt_ubase_t best_parent_rate; + return RT_TRUE; +} - rt_hw_spin_lock(&_clk_lock.lock); +/** + * @brief Get or create clock handle for a clock cell + * + * @param cell Pointer to clock cell + * + * @return Pointer to clock handle, or RT_NULL on failure + * + * @note If the clock handle does not exist, it will be created automatically. + */ +static struct rt_clk *clk_cell_get_clk(struct rt_clk_cell *cell) +{ + if (cell->clk) + { + return cell->clk; + } - if (clk_np->min_rate && clk_np->max_rate) - { - rate = rt_clamp(rate, clk_np->min_rate, clk_np->max_rate); - } + cell->clk = clk_alloc(cell, RT_NULL, RT_NULL); - res = clk_np->ops->round_rate(clk, rate, &best_parent_rate); - (void)best_parent_rate; + return cell->clk; +} - rt_hw_spin_unlock(&_clk_lock.lock); +/** + * @brief Get or create clock handle for a clock cell + * + * @param cell Pointer to clock cell + * @param con_id Connection identifier for the clock cell + * + * @return Pointer to clock handle, or RT_NULL on failure + * + * @note If the clock handle does not exist, it will be created automatically. + */ +struct rt_clk *rt_clk_cell_get_clk(const struct rt_clk_cell *cell, const char *con_id) +{ + struct rt_clk *clk; + + RT_ASSERT(cell != RT_NULL); + + if ((clk = clk_cell_get_clk((struct rt_clk_cell *)cell))) + { + if (!clk->con_id) + { + clk->con_id = con_id; } - else + } + + return clk; +} + +/** + * @brief Check if the clock cell is enabled + * + * @param cell Pointer to clock cell + * + * @return RT_TRUE if enabled, otherwise RT_FALSE + */ +rt_bool_t rt_clk_cell_is_enabled(const struct rt_clk_cell *cell) +{ + RT_ASSERT(cell != RT_NULL); + + if (cell->ops->is_enabled) + { + return cell->ops->is_enabled((struct rt_clk_cell *)cell); + } + + return RT_TRUE; +} + +/** + * @brief Get current rate of the clock cell + * + * @param cell Pointer to clock cell + * + * @return Current rate in Hz + */ +rt_ubase_t rt_clk_cell_get_rate(const struct rt_clk_cell *cell) +{ + struct rt_clk *clk; + + RT_ASSERT(cell != RT_NULL); + + clk = clk_cell_get_clk((struct rt_clk_cell *)cell); + + return clk_get_rate(clk); +} + +/** + * @brief Round a desired rate to the nearest supported rate + * + * @param cell Pointer to clock cell + * @param rate Desired frequency in Hz + * + * @return Closest supported frequency in Hz + */ +rt_ubase_t rt_clk_cell_round_rate(struct rt_clk_cell *cell, rt_ubase_t rate) +{ + struct rt_clk *clk; + + RT_ASSERT(cell != RT_NULL); + + clk = clk_cell_get_clk((struct rt_clk_cell *)cell); + + return clk_round_rate(clk, rate); +} + +/** + * @brief Get parent clock cell + * + * @param cell Pointer to clock cell + * + * @return Pointer to parent clock cell, or RT_NULL if none + */ +struct rt_clk_cell *rt_clk_cell_get_parent(const struct rt_clk_cell *cell) +{ + struct rt_clk *clk, *parent_clk; + + RT_ASSERT(cell != RT_NULL); + + clk = clk_cell_get_clk((struct rt_clk_cell *)cell); + + if ((parent_clk = clk_get_parent(clk))) + { + return parent_clk->cell; + } + + return RT_NULL; +} + +/** + * @brief Get parent clock cell by index + * + * @param cell Pointer to clock cell + * @param idx Parent index + * + * @return Pointer to parent clock cell, or RT_NULL if not found + */ +struct rt_clk_cell *rt_clk_cell_get_parent_by_index(const struct rt_clk_cell *cell, rt_uint8_t idx) +{ + const char *pname; + struct rt_clk_cell *parent_cell; + struct rt_clk_node *clk_np, *clk_np_raw; + + RT_ASSERT(cell != RT_NULL); + RT_ASSERT(idx != RT_UINT8_MAX); + + clk_np = cell->clk_np; + + if (cell->parents_nr > 1) + { + pname = cell->parent_names[idx]; + } + else if (idx == 0) + { + pname = cell->parent_name; + } + else + { + pname = RT_NULL; + goto _end; + } + + clk_np_raw = RT_NULL; + +_retry: + if (!rt_is_err_or_null(clk_np->parents_clk)) + { + struct rt_clk_array *parents_clk = clk_np->parents_clk; + + for (rt_uint8_t i = 0; i < parents_clk->count; ++i) { - if (rate < clk_np->min_rate) - { - res = clk_np->min_rate; - } - else if (rate > clk_np->max_rate) - { - res = clk_np->max_rate; - } - else + if (!rt_strcmp(pname, parents_clk->clks[i]->cell->name)) { - res = rate; + return parents_clk->clks[i]->cell; } } } - return res; + for (int i = 0; i < clk_np->cells_nr; ++i) + { + parent_cell = clk_np->cells[i]; + + if (!parent_cell) + { + continue; + } + + if (!rt_strcmp(parent_cell->name, pname)) + { + return (struct rt_clk_cell *)parent_cell; + } + } + + /* Find on the global list */ + if (clk_np_raw) + { + do { + clk_np = rt_list_entry(clk_np->parent.list.next, rt_typeof(*clk_np), parent.list); + } while (&clk_np->parent.list != &_clk_node_nodes && clk_np == clk_np_raw); + } + else + { + clk_np_raw = clk_np; + clk_np = rt_list_entry(_clk_node_nodes.next, rt_typeof(*clk_np), parent.list); + } + + if (&clk_np->parent.list != &_clk_node_nodes) + { + goto _retry; + } + +_end: + LOG_E("%s: Parent[%d] '%s' not found", cell->name, idx, pname); + + return RT_NULL; } /** - * @brief Set clock parent object + * @brief Get current parent index * - * @param clk point to clock - * @param clk_parent point to parent clock + * @param cell Pointer to clock cell * - * @return rt_err_t RT_EOK on set clock parent sucessfully, and other value is failed. + * @return Parent index on success, negative error code on failure */ -rt_err_t rt_clk_set_parent(struct rt_clk *clk, struct rt_clk *clk_parent) +rt_uint8_t rt_clk_cell_get_parent_index(struct rt_clk_cell *cell) { - rt_err_t err = RT_EOK; + RT_ASSERT(cell != RT_NULL); - if (clk && clk->clk_np && clk->clk_np->ops->set_parent) + if (cell->ops->get_parent) { - rt_hw_spin_lock(&_clk_lock.lock); - - err = clk->clk_np->ops->set_parent(clk, clk_parent); - - rt_hw_spin_unlock(&_clk_lock.lock); + return cell->ops->get_parent(cell); } - return err; + return RT_UINT8_MAX; } /** - * @brief Get parent clock pointer + * @brief Set new parent clock cell * - * @param clk child clock + * @param cell Pointer to clock cell + * @param parent Pointer to new parent clock cell * - * @return struct rt_clk* parent clock object pointer will be return, unless child - clock node havn't parent node instead return RT_NULL + * @return RT_EOK on success, or error code on failure */ -struct rt_clk *rt_clk_get_parent(struct rt_clk *clk) +rt_err_t rt_clk_cell_set_parent(struct rt_clk_cell *cell, struct rt_clk_cell *parent) { - struct rt_clk *parent = RT_NULL; + rt_err_t err; + struct rt_clk *clk, *parent_clk = RT_NULL; - if (clk) - { - struct rt_clk_node *clk_np = clk->clk_np; + RT_ASSERT(cell != RT_NULL); - rt_hw_spin_lock(&_clk_lock.lock); + clk = clk_cell_get_clk((struct rt_clk_cell *)cell); - parent = clk_np->parent ? clk_np->parent->clk : RT_NULL; + if (parent) + { + parent_clk = clk_cell_get_clk((struct rt_clk_cell *)parent); + } - rt_hw_spin_unlock(&_clk_lock.lock); + if ((err = clk_set_parent(clk, parent_clk))) + { + return err; } - return parent; + return RT_EOK; } /** @@ -1133,6 +1897,40 @@ struct rt_clk *rt_clk_get_by_name(struct rt_device *dev, const char *name) clk = rt_ofw_get_clk_by_name(dev->ofw_node, name); #endif + if (!clk && name) + { + struct rt_clk_node *clk_np; + struct rt_clk_cell *cell = RT_NULL; + + clk_lock(); + rt_list_for_each_entry(clk_np, &_clk_node_nodes, parent.list) + { + for (int i = 0; i < clk_np->cells_nr; ++i) + { + cell = clk_np->cells[i]; + + if (!cell) + { + continue; + } + + if (!rt_strcmp(cell->name, name)) + { + clk = clk_alloc(cell, rt_dm_dev_get_name(dev), RT_NULL); + + if (clk) + { + clk_cell_bind(cell, clk); + } + + goto _out_lock; + } + } + } + _out_lock: + clk_unlock(); + } + return clk; } @@ -1148,7 +1946,7 @@ void rt_clk_array_put(struct rt_clk_array *clk_arr) { for (int i = 0; i < clk_arr->count; ++i) { - if (clk_arr->clks[i]) + if (!rt_is_err_or_null(clk_arr->clks[i])) { rt_clk_put(clk_arr->clks[i]); } @@ -1170,100 +1968,122 @@ void rt_clk_array_put(struct rt_clk_array *clk_arr) */ void rt_clk_put(struct rt_clk *clk) { - if (clk) + if (clk && clk->cell->clk != clk) { - clk_put(clk->clk_np); - clk_free(clk); + rt_free(clk); } } #ifdef RT_USING_OFW +static struct rt_clk_array *ofw_get_clk_array(struct rt_ofw_node *np, + const char *basename, const char *propname); +static struct rt_clk *ofw_get_clk(struct rt_ofw_node *np, + const char *basename, int index, const char *name); + +/** + * @brief Retrieve a clock cell from a clock node using OFW (device tree) arguments. + * + * @details + * This helper function translates parsed device tree clock specifiers + * (from `clocks = <&phandle args...>;`) into an actual `rt_clk_cell` pointer + * belonging to the specified `clk_np` (clock node). + * + * Behavior: + * - If the clock node provides a custom parser (`clk_np->ofw_parse`), + * this function delegates the lookup to that callback. + * → This allows complex clock providers (e.g. multiplexers, dividers) + * to interpret multiple arguments or encoded indices. + * - Otherwise, it assumes the first argument (`args->args[0]`) + * is the cell index and directly returns `clk_np->cells[args->args[0]]`. + * + * This abstraction allows different clock providers to implement flexible + * device-tree bindings without changing the core clock framework. + * + * @param clk_np Pointer to the clock node containing clock cells. + * @param args Pointer to parsed OFW clock arguments (from device tree). + * + * @return Pointer to the resolved `rt_clk_cell` if found, or `RT_NULL` on failure. + * + * @note + * - The default indexing behavior assumes that the clock node’s `#clock-cells` + * property equals 1 (only one integer index). + * - Complex clock providers should implement their own `.ofw_parse()` callback + * to handle multiple argument cases. + * - This function is typically used during `rt_ofw_clk_get()` to + * resolve device clock references. + */ +static struct rt_clk_cell *ofw_get_cell(struct rt_clk_node *clk_np, struct rt_ofw_cell_args *args) +{ + if (clk_np->ofw_parse) + { + return clk_np->ofw_parse(clk_np, args); + } + + return clk_np->cells[args->args[0]]; +} + /** - * @brief Get a clock object from a device tree node without acquiring a lock + * @brief Get clock array from ofw by name * - * @param np point to ofw node - * @param index index of clock in ofw - * @param name connection identifier for the clock - * @param locked lock flag for indicating whether the caller holds the lock + * @param np point to ofw node + * @param basename name of clocks base name + * @param propname name of clocks prop name * - * @return struct rt_clk* point to the newly created clock object, or an error pointer + * @return struct rt_clk_array* point to the newly created clock array, or an error pointer */ -static struct rt_clk *ofw_get_clk_no_lock(struct rt_ofw_node *np, int index, const char *name, rt_bool_t locked) +static struct rt_clk_array *ofw_get_clk_array(struct rt_ofw_node *np, + const char *basename, const char *propname) { - struct rt_clk *clk = RT_NULL; - struct rt_ofw_cell_args clk_args; + int count; + rt_bool_t has_name; + struct rt_clk_array *clk_arr; - if (!rt_ofw_parse_phandle_cells(np, "clocks", "#clock-cells", index, &clk_args)) + if ((count = rt_ofw_count_phandle_cells(np, basename, "#clock-cells")) <= 0) { - int count; - struct rt_object *obj; - struct rt_clk_node *clk_np = RT_NULL; - struct rt_ofw_node *clk_ofw_np = clk_args.data; - - if (!rt_ofw_data(clk_ofw_np)) + if (count) { - if (locked) - { - rt_hw_spin_unlock(&_clk_lock.lock); - } - - rt_platform_ofw_request(clk_ofw_np); - - if (locked) - { - rt_hw_spin_lock(&_clk_lock.lock); - } + return rt_err_ptr(count); } - if (rt_ofw_data(clk_ofw_np) && (obj = rt_ofw_parse_object(clk_ofw_np, - RT_CLK_NODE_OBJ_NAME, "#clock-cells"))) - { - clk_np = rt_container_of(obj, struct rt_clk_node, rt_parent); + return RT_NULL; + } - count = rt_ofw_count_of_clk(clk_ofw_np); - } + clk_arr = rt_calloc(1, sizeof(*clk_arr) + sizeof(clk_arr->clks[0]) * count); + + if (!clk_arr) + { + return rt_err_ptr(-RT_ENOMEM); + } - rt_ofw_node_put(clk_ofw_np); + clk_arr->count = count; + has_name = rt_ofw_prop_read_bool(np, propname); - if (clk_np) - { - if (count > 1) - { - /* args[0] must be the index of CLK */ - clk_np = &clk_np[clk_args.args[0]]; - } + clk_lock(); + for (int i = 0; i < count; ++i) + { + const char *name = RT_NULL; - clk = clk_create(clk_np, np->full_name, name, &clk_args, np); - } - else + if (has_name) { - clk = rt_err_ptr(-RT_ERROR); + rt_ofw_prop_read_string_index(np, "clock-names", i, &name); } - } - return clk; -} + clk_arr->clks[i] = ofw_get_clk(np, basename, i, name); -/** - * @brief Get clock from ofw with acquiring a spin lock - * - * @param np point to ofw node - * @param index index of clock in ofw - * @param name connection identifier for the clock - * - * @return struct rt_clk* point to the newly created clock object, or an error pointer - */ -static struct rt_clk *ofw_get_clk(struct rt_ofw_node *np, int index, const char *name) -{ - struct rt_clk *clk; + if (rt_is_err(clk_arr->clks[i])) + { + rt_err_t err = rt_ptr_err(clk_arr->clks[i]); - rt_hw_spin_lock(&_clk_lock.lock); + clk_unlock(); - clk = ofw_get_clk_no_lock(np, index, name, RT_TRUE); + rt_clk_array_put(clk_arr); - rt_hw_spin_unlock(&_clk_lock.lock); + return rt_err_ptr(err); + } + } + clk_unlock(); - return clk; + return clk_arr; } /** @@ -1275,59 +2095,115 @@ static struct rt_clk *ofw_get_clk(struct rt_ofw_node *np, int index, const char */ struct rt_clk_array *rt_ofw_get_clk_array(struct rt_ofw_node *np) { - int count; - struct rt_clk_array *clk_arr = RT_NULL; - if (!np) { return rt_err_ptr(-RT_EINVAL); } - if ((count = rt_ofw_count_phandle_cells(np, "clocks", "#clock-cells")) > 0) - { - clk_arr = rt_calloc(1, sizeof(*clk_arr) + sizeof(clk_arr->clks[0]) * count); + return ofw_get_clk_array(np, "clocks", "clock-names"); +} - if (clk_arr) - { - int i; - rt_err_t err = RT_EOK; - rt_bool_t has_name = rt_ofw_prop_read_bool(np, "clock-names"); +/** + * @brief Get clock from ofw + * + * @param np point to ofw node + * @param basename name of clocks base name + * @param index index of clock in ofw + * @param name connection identifier for the clock + * + * @return struct rt_clk* point to the newly created clock object, or an error pointer + */ +static struct rt_clk *ofw_get_clk(struct rt_ofw_node *np, + const char *basename, int index, const char *name) +{ + struct rt_object *obj; + struct rt_clk *clk; + struct rt_clk_cell *cell; + struct rt_clk_node *clk_np = RT_NULL; + struct rt_ofw_node *clk_ofw_np; + struct rt_ofw_cell_args clk_args; - clk_arr->count = count; + if (rt_ofw_parse_phandle_cells(np, basename, "#clock-cells", index, &clk_args)) + { + return RT_NULL; + } - rt_hw_spin_lock(&_clk_lock.lock); + clk_ofw_np = clk_args.data; - for (i = 0; i < count; ++i) - { - const char *name = RT_NULL; + if (!rt_ofw_data(clk_ofw_np)) + { + if (clk_ofw_np == np) + { + LOG_D("%s: No registration to the system yet", rt_ofw_node_full_name(clk_ofw_np)); + return RT_NULL; + } - if (has_name) - { - rt_ofw_prop_read_string_index(np, "clock-names", i, &name); - } + rt_platform_ofw_request(clk_ofw_np); + } - clk_arr->clks[i] = ofw_get_clk_no_lock(np, i, name, RT_FALSE); + if (rt_ofw_data(clk_ofw_np) && (obj = rt_ofw_parse_object(clk_ofw_np, + RT_CLK_NODE_OBJ_NAME, "#clock-cells"))) + { + clk_np = rt_container_of(obj, struct rt_clk_node, parent); + } - if (rt_is_err(clk_arr->clks[i])) - { - err = rt_ptr_err(clk_arr->clks[i]); + if (!clk_np) + { + clk = rt_err_ptr(-RT_EINVAL); + goto _end; + } - --i; - break; - } - } + if (!clk_args.args_count) + { + clk_args.args[0] = 0; + } + index = clk_args.args[0]; - rt_hw_spin_unlock(&_clk_lock.lock); + if (rt_ofw_prop_read_bool(clk_ofw_np, "clock-indices")) + { + const fdt32_t *val_raw; + rt_uint32_t val, indice = 0; + struct rt_ofw_prop *prop; - if (i > 0 && i < count) + rt_ofw_foreach_prop_u32(clk_ofw_np, "clock-indices", prop, val_raw, val) + { + if (index == val) { - rt_clk_array_put(clk_arr); - clk_arr = rt_err_ptr(err); + index = indice; + goto _goon; } + ++indice; } + + clk = rt_err_ptr(-RT_EINVAL); + goto _end; } +_goon: - return clk_arr; + rt_ofw_prop_read_string_index(clk_ofw_np, "clock-output-names", index, &name); + + if (!(cell = ofw_get_cell(clk_np, &clk_args))) + { + LOG_D("%s: CLK index = %d (%s) is not implemented", + rt_ofw_node_full_name(np), index, name); + return RT_NULL; + } + + clk = clk_alloc(cell, rt_ofw_node_full_name(np), name); + + if (clk) + { + clk_cell_bind(cell, clk); + } + else + { + clk = rt_err_ptr(-RT_ENOMEM); + } + +_end: + rt_ofw_node_put(clk_ofw_np); + + return clk; } /** @@ -1344,7 +2220,7 @@ struct rt_clk *rt_ofw_get_clk(struct rt_ofw_node *np, int index) if (np && index >= 0) { - clk = ofw_get_clk(np, index, RT_NULL); + clk = ofw_get_clk(np, "clocks", index, RT_NULL); } return clk; @@ -1368,7 +2244,7 @@ struct rt_clk *rt_ofw_get_clk_by_name(struct rt_ofw_node *np, const char *name) if (index >= 0) { - clk = ofw_get_clk(np, index, name); + clk = ofw_get_clk(np, "clocks", index, name); } } @@ -1431,6 +2307,10 @@ rt_ssize_t rt_ofw_count_of_clk(struct rt_ofw_node *clk_ofw_np) ++count; } } + if (!count) + { + count = 1; + } } else { @@ -1450,6 +2330,219 @@ rt_ssize_t rt_ofw_count_of_clk(struct rt_ofw_node *clk_ofw_np) return -RT_EINVAL; } +/** + * @brief Get parent clock name from device tree + * + * @param np Pointer to device tree node + * @param index Index within "clocks" property + * + * @return const char* Name of the parent clock, or NULL if not found + */ +const char *rt_ofw_clk_get_parent_name(struct rt_ofw_node *np, int index) +{ + const char *pname = RT_NULL; + struct rt_ofw_node *clk_ofw_np; + struct rt_ofw_cell_args clk_args; + + if (rt_ofw_parse_phandle_cells(np, "clocks", "#clock-cells", index, &clk_args)) + { + return RT_NULL; + } + + clk_ofw_np = clk_args.data; + + index = clk_args.args_count ? clk_args.args[0] : 0; + + if (rt_ofw_prop_read_bool(clk_ofw_np, "clock-indices")) + { + const fdt32_t *val_raw; + rt_uint32_t val, indice = 0; + struct rt_ofw_prop *prop; + + rt_ofw_foreach_prop_u32(clk_ofw_np, "clock-indices", prop, val_raw, val) + { + if (index == val) + { + index = indice; + goto _goon; + } + ++indice; + } + + goto _end; + } +_goon: + + if (rt_ofw_prop_read_string_index(clk_ofw_np, "clock-output-names", index, &pname)) + { + struct rt_clk *provider_clk = rt_ofw_get_clk(np, index); + + if (rt_is_err_or_null(provider_clk)) + { + pname = provider_clk->cell->name; + + rt_clk_put(provider_clk); + } + } + +_end: + rt_ofw_node_put(clk_ofw_np); + + return pname; +} + +/** + * @brief Initialize clock from device tree (OFW) defaults. + * + * @details + * This function applies the device tree–specified clock default. + * It processes the following standard DT bindings in order: + * + * - **assigned-clocks**: list of clock phandles that must be configured + * before the device is probed. + * - **assigned-clock-parents**: optional list of corresponding parent + * clock phandles for each entry in *assigned-clocks*. + * - **assigned-clock-rates**: optional list of target rates (in Hz) + * to set for each clock in *assigned-clocks*. + * + * For each assigned clock, the function will: + * 1. Retrieve the referenced clock handle. + * 2. Set its parent if a corresponding entry in + * *assigned-clock-parents* exists. + * 3. Set its rate if a corresponding entry in + * *assigned-clock-rates* exists. + * + * This ensures that all clocks required by a device are configured + * according to the hardware design before the device driver runs. + * + * @param np Point to ofw node + * + * @return + * - RT_EOK : Successfully applied assigned-clocks settings. + * - -RT_EINVAL : Invalid or inconsistent device tree entries. + * - -RT_ENOSYS : Clock driver does not support required operation. + * - Other negative values : Underlying driver or hardware error. + * + * @note + * - This function should be called **after all clocks in the system + * have been registered**, ensuring that referenced parents exist. + * - Clocks not listed in *assigned-clocks* are left unchanged. + * - The function is typically invoked at the end of + * `rt_clk_node_register()`. + */ +rt_err_t rt_ofw_clk_set_defaults(struct rt_ofw_node *np) +{ + struct rt_clk *clk; + struct rt_clk_array *clk_arr; + + if (!np) + { + return RT_EOK; + } + + clk_arr = ofw_get_clk_array(np, "assigned-clocks", RT_NULL); + + if (rt_is_err(clk_arr)) + { + return rt_ptr_err(clk_arr); + } + + if (clk_arr) + { + rt_uint32_t rate; + struct rt_clk_array *clk_parent_arr; + + clk_parent_arr = ofw_get_clk_array(np, "assigned-clock-parents", RT_NULL); + + if (rt_is_err(clk_parent_arr)) + { + rt_clk_array_put(clk_arr); + return rt_ptr_err(clk_parent_arr); + } + + for (int i = 0; i < clk_arr->count; ++i) + { + clk = clk_arr->clks[i]; + + if (clk_parent_arr && i < clk_parent_arr->count) + { + rt_clk_set_parent(clk, clk_parent_arr->clks[i]); + } + + if (!rt_ofw_prop_read_u32_index(np, "assigned-clock-rates", i, &rate)) + { + rt_clk_set_rate(clk, rate); + } + } + + rt_clk_array_put(clk_parent_arr); + rt_clk_array_put(clk_arr); + } + + return RT_EOK; +} #endif /* RT_USING_OFW */ +#if defined(RT_USING_CONSOLE) && defined(RT_USING_MSH) +static int list_clk(int argc, char**argv) +{ + struct rt_clk_node *clk_np; + struct rt_clk_cell *cell, *parent; + + rt_kprintf("%-*.s %-*.s %-*.s %-*.s %-*.s %-*.s Parent\n", + 32, "Name", + 12, "Enable Count", + 13, "Prepare Count", + 11, "Rate", + 32, "Device ID", + 32, "Connection ID"); + + clk_lock(); + rt_list_for_each_entry(clk_np, &_clk_node_nodes, parent.list) + { + for (int i = 0; i < clk_np->cells_nr; ++i) + { + rt_ubase_t rate; + const char *dev_id = "deviceless", *con_id = "no_connection_id"; + + cell = clk_np->cells[i]; + + if (!cell) + { + continue; + } + + rate = cell->rate ? : rt_clk_cell_get_rate(cell); + + if (cell->clk) + { + if (cell->clk->dev_id) + { + dev_id = cell->clk->dev_id; + } + if (cell->clk->con_id) + { + con_id = cell->clk->con_id; + } + } + + parent = rt_clk_cell_get_parent(cell); + + rt_kprintf("%-*.s %-12d %-13d %-11lu %-*.s %-*.s %s\n", + 32, cell->name, + cell->enable_count, + cell->prepare_count, + rate, + 32, dev_id, + 32, con_id, + parent ? parent->name : RT_NULL); + } + } + clk_unlock(); + + return 0; +} +MSH_CMD_EXPORT(list_clk, dump all of clk information); +#endif /* RT_USING_CONSOLE && RT_USING_MSH */ + /**@}*/ \ No newline at end of file diff --git a/components/drivers/include/drivers/clk.h b/components/drivers/include/drivers/clk.h index 26da4d87200..dd74fdc85bf 100644 --- a/components/drivers/include/drivers/clk.h +++ b/components/drivers/include/drivers/clk.h @@ -7,6 +7,7 @@ * Date Author Notes * 2022-11-26 GuEe-GUI first version * 2025-01-24 wumingzi add doxygen comment + * 2024-05-01 GuEe-GUI make cell for hareware clock */ #ifndef __CLK_H__ @@ -30,83 +31,131 @@ #define RT_CLK_NODE_OBJ_NAME "CLKNP" +struct rt_clk; struct rt_clk_ops; -struct rt_reset_control_node; +struct rt_clk_cell; /** - * @brief Clk node, it is a pat of clk source or controller - * @note Defined as the array like this if the CLK have multi out clocks: - * @code{.c} - * struct XYZ_single_clk - * { - * struct rt_clk_node parent; - * ... - * }; + * @brief Clock provider node - represents a hardware clock controller. * - * struct XYZ_multi_clk - * { - * struct rt_clk_node parent[N]; - * ... - * }; - * @endcode - * We assume the 'N' is the max value of element in 'clock-indices' if OFW. + * A @ref rt_clk_node corresponds to one hardware clock provider in the + * system, such as a PLL controller, a clock multiplexer, or a composite + * clock block defined in the device tree. + * + * Each clock node may contain multiple hardware clock outputs, described + * as @ref rt_clk_cell structures, which represent individual leaf clocks. + * + * Members: + * - `parent` — embedded @ref rt_object header for RT-Thread object system. + * - `dev` — back-reference to the hardware device providing this clock domain. + * - `parents_clk` — optional array of parent clock handles. + * - `multi_clk` — number of clock outputs exported by this provider. + * - `cells` — list of @ref rt_clk_cell pointers representing each output. + * - `ofw_parse` — callback used to parse clock arguments from device tree + * (`#clock-cells`) and select the corresponding @ref rt_clk_cell. + * - `priv` — implementation-specific private data. + * + * Typical usage: + * 1. Define a @ref rt_clk_node describing the hardware clock controller. + * 2. Implement `ofw_parse()` to resolve device tree `phandle` arguments. + * 3. Register the node using @ref rt_clk_register(). */ struct rt_clk_node { - struct rt_object rt_parent; + struct rt_object parent; - rt_list_t list; - rt_list_t children_nodes; + struct rt_device *dev; + struct rt_clk_array *parents_clk; + + rt_size_t multi_clk; + + rt_size_t cells_nr; + struct rt_clk_cell **cells; + + struct rt_clk_cell *(*ofw_parse)(struct rt_clk_node *clk_np, struct rt_ofw_cell_args *args); + + void *priv; +}; + +#define RT_CLK_F_SET_RATE_GATE RT_BIT(0) /**< Must be gated across rate change */ +#define RT_CLK_F_SET_PARENT_GATE RT_BIT(1) /**< Must be gated across re-parent */ +#define RT_CLK_F_SET_RATE_PARENT RT_BIT(2) /**< Propagate rate change up one level */ +#define RT_CLK_F_IGNORE_UNUSED RT_BIT(3) /**< Do not gate even if unused */ +#define RT_CLK_F_SET_RATE_UNGATE RT_BIT(4) /**< Clock needs to run to set rate */ +#define RT_CLK_F_IS_CRITICAL RT_BIT(5) /**< Do not gate, ever */ +#define RT_CLK_F_GET_RATE_NOCACHE RT_BIT(6) /**< Do not get rate by cache */ + +/** + * @brief Clock cell - represents a single hardware clock element. + * + * A clk_cell is the fundamental unit of a clock tree, such as a PLL, divider, + * mux, or gate. It maintains its relationship to parent clocks using pointers, + * not lists, for lightweight hierarchy management. + * + * The 'ops' field defines hardware-specific callbacks. The framework invokes + * these during enable, disable, and rate changes. + */ +struct rt_clk_cell +{ + struct rt_clk_node *clk_np; const char *name; const struct rt_clk_ops *ops; - struct rt_clk_node *parent; - struct rt_ref ref; + rt_uint8_t parents_nr; + union + { + const char *parent_name; /**< When parents_nr = 1 */ + const char *const *parent_names; + }; - rt_ubase_t rate; - rt_ubase_t min_rate; - rt_ubase_t max_rate; + rt_ubase_t rate; /**< Cached or fixed rate (not always accurate) */ + struct rt_clk *clk; + struct rt_clk *parent; - rt_size_t notifier_count; + int prepare_count; + int enable_count; - void *priv; + rt_uint32_t flags; - struct rt_clk *clk; - rt_size_t multi_clk; + void *priv; }; /** - * @brief Constant rate clk + * @brief Fixed-rate clock descriptor. + * + * Used for constant-frequency clocks without configurable parents or dividers. */ struct rt_clk_fixed_rate { - struct rt_clk_node clk; + struct rt_clk_cell cell; rt_ubase_t fixed_rate; rt_ubase_t fixed_accuracy; }; /** - * @brief Clk object, it can be clk source or controller + * @brief Clock handle - represents a consumer reference to a clock. + * + * Each consumer obtains an rt_clk instance bound to a specific clk_cell. + * The handle stores consumer-specific constraints such as min/max rate. */ struct rt_clk { - struct rt_clk_node *clk_np; + struct rt_clk_cell *cell; - const char *dev_id; - const char *con_id; + const char *dev_id; /**< Device identifier using this clock */ + const char *con_id; /**< Connection identifier (name) */ - rt_ubase_t rate; - int prepare_count; - int enable_count; - - void *fw_node; - void *priv; + rt_ubase_t min_rate; + rt_ubase_t max_rate; }; /** - * @brief Clk array + * @brief Clock array container. + * + * Represents a group of rt_clk handles, typically used for devices that + * require multiple clock inputs. */ struct rt_clk_array { @@ -116,20 +165,23 @@ struct rt_clk_array struct rt_clk_ops { - rt_err_t (*init)(struct rt_clk *, void *fw_data); - rt_err_t (*finit)(struct rt_clk *); - /* API */ - rt_err_t (*prepare)(struct rt_clk *); - void (*unprepare)(struct rt_clk *); - rt_bool_t (*is_prepared)(struct rt_clk *); - rt_err_t (*enable)(struct rt_clk *); - void (*disable)(struct rt_clk *); - rt_bool_t (*is_enabled)(struct rt_clk *); - rt_err_t (*set_rate)(struct rt_clk *, rt_ubase_t rate, rt_ubase_t parent_rate); - rt_err_t (*set_parent)(struct rt_clk *, struct rt_clk *parent); - rt_err_t (*set_phase)(struct rt_clk *, int degrees); - rt_base_t (*get_phase)(struct rt_clk *); - rt_base_t (*round_rate)(struct rt_clk *, rt_ubase_t drate, rt_ubase_t *prate); + rt_err_t (*prepare)(struct rt_clk_cell *cell); + void (*unprepare)(struct rt_clk_cell *cell); + rt_bool_t (*is_prepared)(struct rt_clk_cell *cell); + + rt_err_t (*enable)(struct rt_clk_cell *cell); + void (*disable)(struct rt_clk_cell *cell); + rt_bool_t (*is_enabled)(struct rt_clk_cell *cell); + + rt_ubase_t (*recalc_rate)(struct rt_clk_cell *cell, rt_ubase_t parent_rate); + rt_base_t (*round_rate)(struct rt_clk_cell *cell, rt_ubase_t drate, rt_ubase_t *prate); + rt_err_t (*set_rate)(struct rt_clk_cell *cell, rt_ubase_t rate, rt_ubase_t parent_rate); + + rt_err_t (*set_parent)(struct rt_clk_cell *cell, rt_uint8_t idx); + rt_uint8_t (*get_parent)(struct rt_clk_cell *cell); + + rt_err_t (*set_phase)(struct rt_clk_cell *cell, int degrees); + rt_base_t (*get_phase)(struct rt_clk_cell *cell); }; struct rt_clk_notifier; @@ -142,7 +194,10 @@ typedef rt_err_t (*rt_clk_notifier_callback)(struct rt_clk_notifier *notifier, rt_ubase_t msg, rt_ubase_t old_rate, rt_ubase_t new_rate); /** - * @brief Clock notifier, it containers of clock list and callback function + * @brief Clock notifier descriptor. + * + * Used to register callbacks for clock events (rate change, abort, etc). + * Each notifier is linked to a specific clock and triggered on rate changes. */ struct rt_clk_notifier { @@ -153,16 +208,14 @@ struct rt_clk_notifier void *priv; }; -rt_err_t rt_clk_register(struct rt_clk_node *clk_np, struct rt_clk_node *parent_np); +rt_err_t rt_clk_register(struct rt_clk_node *clk_np); rt_err_t rt_clk_unregister(struct rt_clk_node *clk_np); rt_err_t rt_clk_notifier_register(struct rt_clk *clk, struct rt_clk_notifier *notifier); rt_err_t rt_clk_notifier_unregister(struct rt_clk *clk, struct rt_clk_notifier *notifier); -rt_err_t rt_clk_set_parent(struct rt_clk *clk, struct rt_clk *clk_parent); - rt_err_t rt_clk_prepare(struct rt_clk *clk); -rt_err_t rt_clk_unprepare(struct rt_clk *clk); +void rt_clk_unprepare(struct rt_clk *clk); rt_err_t rt_clk_enable(struct rt_clk *clk); void rt_clk_disable(struct rt_clk *clk); @@ -171,7 +224,7 @@ rt_err_t rt_clk_prepare_enable(struct rt_clk *clk); void rt_clk_disable_unprepare(struct rt_clk *clk); rt_err_t rt_clk_array_prepare(struct rt_clk_array *clk_arr); -rt_err_t rt_clk_array_unprepare(struct rt_clk_array *clk_arr); +void rt_clk_array_unprepare(struct rt_clk_array *clk_arr); rt_err_t rt_clk_array_enable(struct rt_clk_array *clk_arr); void rt_clk_array_disable(struct rt_clk_array *clk_arr); @@ -185,12 +238,28 @@ rt_err_t rt_clk_set_max_rate(struct rt_clk *clk, rt_ubase_t rate); rt_err_t rt_clk_set_rate(struct rt_clk *clk, rt_ubase_t rate); rt_ubase_t rt_clk_get_rate(struct rt_clk *clk); +rt_base_t rt_clk_round_rate(struct rt_clk *clk, rt_ubase_t rate); + +rt_err_t rt_clk_set_parent(struct rt_clk *clk, struct rt_clk *clk_parent); +struct rt_clk *rt_clk_get_parent(struct rt_clk *clk); + rt_err_t rt_clk_set_phase(struct rt_clk *clk, int degrees); rt_base_t rt_clk_get_phase(struct rt_clk *clk); -rt_base_t rt_clk_round_rate(struct rt_clk *clk, rt_ubase_t rate); +struct rt_clk *rt_clk_cell_get_clk(const struct rt_clk_cell *cell, const char *con_id); -struct rt_clk *rt_clk_get_parent(struct rt_clk *clk); +rt_bool_t rt_clk_cell_is_prepared(const struct rt_clk_cell *cell); + +rt_bool_t rt_clk_cell_is_enabled(const struct rt_clk_cell *cell); + +rt_ubase_t rt_clk_cell_get_rate(const struct rt_clk_cell *cell); + +rt_ubase_t rt_clk_cell_round_rate(struct rt_clk_cell *cell, rt_ubase_t rate); + +struct rt_clk_cell *rt_clk_cell_get_parent(const struct rt_clk_cell *cell); +struct rt_clk_cell *rt_clk_cell_get_parent_by_index(const struct rt_clk_cell *cell, rt_uint8_t idx); +rt_uint8_t rt_clk_cell_get_parent_index(struct rt_clk_cell *cell); +rt_err_t rt_clk_cell_set_parent(struct rt_clk_cell *cell, struct rt_clk_cell *parent); struct rt_clk_array *rt_clk_get_array(struct rt_device *dev); struct rt_clk *rt_clk_get_by_index(struct rt_device *dev, int index); @@ -203,6 +272,8 @@ struct rt_clk_array *rt_ofw_get_clk_array(struct rt_ofw_node *np); struct rt_clk *rt_ofw_get_clk(struct rt_ofw_node *np, int index); struct rt_clk *rt_ofw_get_clk_by_name(struct rt_ofw_node *np, const char *name); rt_ssize_t rt_ofw_count_of_clk(struct rt_ofw_node *clk_ofw_np); +const char *rt_ofw_clk_get_parent_name(struct rt_ofw_node *np, int index); +rt_err_t rt_ofw_clk_set_defaults(struct rt_ofw_node *np); #else rt_inline struct rt_clk *rt_ofw_get_clk(struct rt_ofw_node *np, int index) { @@ -216,6 +287,14 @@ rt_inline rt_ssize_t rt_ofw_count_of_clk(struct rt_ofw_node *clk_ofw_np) { return 0; } +rt_inline const char *rt_ofw_clk_get_parent_name(struct rt_ofw_node *np, int index) +{ + return RT_NULL; +} +rt_inline rt_err_t rt_ofw_clk_set_defaults(struct rt_ofw_node *np) +{ + return RT_EOK; +} #endif /* RT_USING_OFW */ /*! @}*/ From 77683e8c8c1e7d11c5b0d46a15a42683f8557bc3 Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Tue, 9 Dec 2025 17:42:32 +0800 Subject: [PATCH 04/20] [dm][core] Set default CLK config for platform device probe Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/core/platform.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/components/drivers/core/platform.c b/components/drivers/core/platform.c index c3a141654a8..d308dd08065 100644 --- a/components/drivers/core/platform.c +++ b/components/drivers/core/platform.c @@ -15,6 +15,9 @@ #define DBG_LVL DBG_INFO #include +#ifdef RT_USING_CLK +#include +#endif #include #include #include @@ -119,6 +122,13 @@ static rt_err_t platform_probe(rt_device_t dev) struct rt_ofw_node *np = dev->ofw_node; #endif +#ifdef RT_USING_CLK + if ((err = rt_ofw_clk_set_defaults(dev->ofw_node))) + { + return err; + } +#endif + err = rt_dm_power_domain_attach(dev, RT_TRUE); if (err && err != -RT_EEMPTY) From daf063e452bb4a3d5423ed963556ab7b0db3ab5d Mon Sep 17 00:00:00 2001 From: Siwei Xu Date: Fri, 12 Dec 2025 13:42:35 +0800 Subject: [PATCH 05/20] [bsp][nxp][imx] Add FRDM-i.MX91 bsp #10570 --- .github/ALL_BSP_COMPILE.json | 3 +- bsp/Copyright_Notice.md | 11 + bsp/nxp/imx/imx91/.config | 1477 + bsp/nxp/imx/imx91/Kconfig | 29 + bsp/nxp/imx/imx91/Makefile | 10 + .../README.assets/GS-FRDM-IMX91-IMG1.webp | Bin 0 -> 74792 bytes .../README.assets/image-20251210021421740.png | Bin 0 -> 11017 bytes .../README.assets/image-20251210220620728.png | Bin 0 -> 18137 bytes bsp/nxp/imx/imx91/README.md | 233 + bsp/nxp/imx/imx91/SConscript | 14 + bsp/nxp/imx/imx91/SConstruct | 33 + bsp/nxp/imx/imx91/applications/SConscript | 9 + bsp/nxp/imx/imx91/applications/main.c | 18 + bsp/nxp/imx/imx91/drivers/Kconfig | 23 + bsp/nxp/imx/imx91/drivers/SConscript | 15 + bsp/nxp/imx/imx91/drivers/board.c | 83 + bsp/nxp/imx/imx91/drivers/board.h | 34 + bsp/nxp/imx/imx91/drivers/imx91.c | 30 + bsp/nxp/imx/imx91/drivers/imx91.h | 46 + .../Include/CMSIS_Include_core_ca.cmake | 12 + .../CMSIS/Core_AArch64/Include/cache_armv8a.h | 131 + .../Core_AArch64/Include/cmsis_compiler.h | 92 + .../CMSIS/Core_AArch64/Include/cmsis_gcc.h | 269 + .../CMSIS/Core_AArch64/Include/cmsis_iar.h | 30 + .../CMSIS/Core_AArch64/Include/core_ca53.h | 108 + .../CMSIS/Core_AArch64/Include/core_ca55.h | 109 + .../CMSIS/Core_AArch64/Include/core_common.h | 138 + .../sdk/CMSIS/Core_AArch64/Include/gic_v3.h | 949 + .../CMSIS/Core_AArch64/Include/mmu_armv8a.h | 248 + .../CMSIS/Core_AArch64/Include/timer_armv8a.h | 145 + .../drivers/sdk/CMSIS/Core_AArch64/SConscript | 19 + .../CMSIS/Core_AArch64/Source/cache_armv8a.c | 137 + .../CMSIS/Core_AArch64/Source/mmu_armv8a.c | 720 + .../imx/imx91/drivers/sdk/CMSIS/SConscript | 13 + bsp/nxp/imx/imx91/drivers/sdk/SConscript | 13 + .../drivers/sdk/devices/MIMX9131/MIMX9131.c | 24 + .../drivers/sdk/devices/MIMX9131/MIMX9131.h | 138365 +++++++++++++++ .../sdk/devices/MIMX9131/MIMX9131_features.h | 671 + .../drivers/sdk/devices/MIMX9131/SConscript | 19 + .../MIMX9131/all_lib_device_MIMX9131.cmake | 64 + .../sdk/devices/MIMX9131/device_CMSIS.cmake | 15 + .../sdk/devices/MIMX9131/device_system.cmake | 14 + .../MIMX9131/drivers/driver_clock.cmake | 15 + .../MIMX9131/drivers/driver_iomuxc.cmake | 10 + .../MIMX9131/drivers/driver_memory.cmake | 10 + .../MIMX9131/drivers/driver_reset.cmake | 10 + .../sdk/devices/MIMX9131/drivers/fsl_clock.c | 149 + .../sdk/devices/MIMX9131/drivers/fsl_clock.h | 1279 + .../sdk/devices/MIMX9131/drivers/fsl_iomuxc.h | 796 + .../devices/MIMX9131/fsl_device_registers.h | 33 + .../sdk/devices/MIMX9131/system_MIMX9131.c | 82 + .../sdk/devices/MIMX9131/system_MIMX9131.h | 101 + .../imx/imx91/drivers/sdk/devices/SConscript | 13 + .../imx/imx91/drivers/sdk/drivers/SConscript | 13 + .../drivers/sdk/drivers/cache/SConscript | 13 + .../sdk/drivers/cache/armv8-a/SConscript | 17 + .../sdk/drivers/cache/armv8-a/fsl_cache.c | 58 + .../sdk/drivers/cache/armv8-a/fsl_cache.h | 83 + .../drivers/sdk/drivers/common/SConscript | 17 + .../drivers/sdk/drivers/common/fsl_common.c | 90 + .../drivers/sdk/drivers/common/fsl_common.h | 355 + .../sdk/drivers/common/fsl_common_arm.c | 369 + .../sdk/drivers/common/fsl_common_arm.h | 1184 + .../sdk/drivers/common/fsl_common_dsc.c | 476 + .../sdk/drivers/common/fsl_common_dsc.h | 496 + .../sdk/drivers/common/fsl_common_dsp.c | 45 + .../sdk/drivers/common/fsl_common_dsp.h | 174 + .../sdk/drivers/common/fsl_common_riscv.c | 45 + .../sdk/drivers/common/fsl_common_riscv.h | 148 + .../drivers/sdk/drivers/lpuart/SConscript | 17 + .../drivers/sdk/drivers/lpuart/fsl_lpuart.c | 2786 + .../drivers/sdk/drivers/lpuart/fsl_lpuart.h | 1150 + .../sdk/drivers/lpuart/fsl_lpuart_dma.c | 434 + .../sdk/drivers/lpuart/fsl_lpuart_dma.h | 186 + .../sdk/drivers/lpuart/fsl_lpuart_edma.c | 469 + .../sdk/drivers/lpuart/fsl_lpuart_edma.h | 189 + .../drivers/sdk/drivers/rgpio/SConscript | 17 + .../drivers/sdk/drivers/rgpio/fsl_rgpio.c | 322 + .../drivers/sdk/drivers/rgpio/fsl_rgpio.h | 708 + bsp/nxp/imx/imx91/drivers/serial.c | 377 + bsp/nxp/imx/imx91/drivers/serial.h | 38 + bsp/nxp/imx/imx91/rtconfig.h | 468 + bsp/nxp/imx/imx91/rtconfig.py | 58 + 83 files changed, 157672 insertions(+), 1 deletion(-) create mode 100644 bsp/nxp/imx/imx91/.config create mode 100644 bsp/nxp/imx/imx91/Kconfig create mode 100644 bsp/nxp/imx/imx91/Makefile create mode 100644 bsp/nxp/imx/imx91/README.assets/GS-FRDM-IMX91-IMG1.webp create mode 100644 bsp/nxp/imx/imx91/README.assets/image-20251210021421740.png create mode 100644 bsp/nxp/imx/imx91/README.assets/image-20251210220620728.png create mode 100644 bsp/nxp/imx/imx91/README.md create mode 100644 bsp/nxp/imx/imx91/SConscript create mode 100644 bsp/nxp/imx/imx91/SConstruct create mode 100644 bsp/nxp/imx/imx91/applications/SConscript create mode 100644 bsp/nxp/imx/imx91/applications/main.c create mode 100644 bsp/nxp/imx/imx91/drivers/Kconfig create mode 100644 bsp/nxp/imx/imx91/drivers/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/board.c create mode 100644 bsp/nxp/imx/imx91/drivers/board.h create mode 100644 bsp/nxp/imx/imx91/drivers/imx91.c create mode 100644 bsp/nxp/imx/imx91/drivers/imx91.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/CMSIS_Include_core_ca.cmake create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cache_armv8a.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_compiler.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_gcc.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_iar.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_ca53.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_ca55.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_common.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/gic_v3.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/mmu_armv8a.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/timer_armv8a.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Source/cache_armv8a.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Source/mmu_armv8a.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/CMSIS/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131_features.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/all_lib_device_MIMX9131.cmake create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/device_CMSIS.cmake create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/device_system.cmake create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_clock.cmake create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_iomuxc.cmake create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_memory.cmake create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_reset.cmake create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_clock.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_clock.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_iomuxc.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/fsl_device_registers.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/system_MIMX9131.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/system_MIMX9131.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/devices/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/fsl_cache.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/fsl_cache.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_arm.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_arm.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsc.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsc.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsp.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsp.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_riscv.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_riscv.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_dma.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_dma.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_edma.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_edma.h create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/SConscript create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/fsl_rgpio.c create mode 100644 bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/fsl_rgpio.h create mode 100644 bsp/nxp/imx/imx91/drivers/serial.c create mode 100644 bsp/nxp/imx/imx91/drivers/serial.h create mode 100644 bsp/nxp/imx/imx91/rtconfig.h create mode 100644 bsp/nxp/imx/imx91/rtconfig.py diff --git a/.github/ALL_BSP_COMPILE.json b/.github/ALL_BSP_COMPILE.json index 70f15a96ef0..f2703450484 100644 --- a/.github/ALL_BSP_COMPILE.json +++ b/.github/ALL_BSP_COMPILE.json @@ -387,7 +387,8 @@ "SUB_RTT_BSP": [ "qemu-virt64-aarch64", "raspberry-pi/raspi3-64", - "raspberry-pi/raspi4-64" + "raspberry-pi/raspi4-64", + "nxp/imx/imx91" ] }, { diff --git a/bsp/Copyright_Notice.md b/bsp/Copyright_Notice.md index 7a805d17719..59358aa5ffa 100644 --- a/bsp/Copyright_Notice.md +++ b/bsp/Copyright_Notice.md @@ -325,6 +325,17 @@ Path: - bsp/imx6ul/platform +### imx91 + +License: bsd-new + +Copyright: Copyright 2014-2016 Freescale Semiconductor, Inc. + Copyright 2016-2025 NXP + +Path: + +- bsp/nxp/imx/imx91/drivers/sdk + ### imxrt License: clear-bsd diff --git a/bsp/nxp/imx/imx91/.config b/bsp/nxp/imx/imx91/.config new file mode 100644 index 00000000000..b03e676ecf5 --- /dev/null +++ b/bsp/nxp/imx/imx91/.config @@ -0,0 +1,1477 @@ + +# +# RT-Thread Kernel +# + +# +# klibc options +# + +# +# rt_vsnprintf options +# +# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set +CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER=y +CONFIG_RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER=y +# CONFIG_RT_KLIBC_USING_VSNPRINTF_MSVC_STYLE_INTEGER_SPECIFIERS is not set +CONFIG_RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE=32 +CONFIG_RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE=32 +CONFIG_RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION=6 +CONFIG_RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9 +CONFIG_RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS=4 +# end of rt_vsnprintf options + +# +# rt_vsscanf options +# +# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set +# end of rt_vsscanf options + +# +# rt_memset options +# +# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set +# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set +# end of rt_memset options + +# +# rt_memcpy options +# +# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set +# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set +# end of rt_memcpy options + +# +# rt_memmove options +# +# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set +# end of rt_memmove options + +# +# rt_memcmp options +# +# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set +# end of rt_memcmp options + +# +# rt_strstr options +# +# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set +# end of rt_strstr options + +# +# rt_strcasecmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set +# end of rt_strcasecmp options + +# +# rt_strncpy options +# +# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set +# end of rt_strncpy options + +# +# rt_strcpy options +# +# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set +# end of rt_strcpy options + +# +# rt_strncmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set +# end of rt_strncmp options + +# +# rt_strcmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set +# end of rt_strcmp options + +# +# rt_strlen options +# +# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set +# end of rt_strlen options + +# +# rt_strnlen options +# +# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set +# end of rt_strnlen options +# end of klibc options + +CONFIG_RT_NAME_MAX=16 +# CONFIG_RT_USING_ARCH_DATA_TYPE is not set +# CONFIG_RT_USING_NANO is not set +# CONFIG_RT_USING_SMART is not set +# CONFIG_RT_USING_AMP is not set +# CONFIG_RT_USING_SMP is not set +CONFIG_RT_CPUS_NR=1 +CONFIG_RT_ALIGN_SIZE=16 +# CONFIG_RT_THREAD_PRIORITY_8 is not set +CONFIG_RT_THREAD_PRIORITY_32=y +# CONFIG_RT_THREAD_PRIORITY_256 is not set +CONFIG_RT_THREAD_PRIORITY_MAX=32 +CONFIG_RT_TICK_PER_SECOND=1000 +CONFIG_RT_USING_OVERFLOW_CHECK=y +CONFIG_RT_USING_HOOK=y +CONFIG_RT_HOOK_USING_FUNC_PTR=y +# CONFIG_RT_USING_HOOKLIST is not set +CONFIG_RT_USING_IDLE_HOOK=y +CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 +CONFIG_IDLE_THREAD_STACK_SIZE=8192 +CONFIG_RT_USING_TIMER_SOFT=y +CONFIG_RT_TIMER_THREAD_PRIO=4 +CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192 +# CONFIG_RT_USING_TIMER_ALL_SOFT is not set +# CONFIG_RT_USING_CPU_USAGE_TRACER is not set + +# +# kservice options +# +# CONFIG_RT_USING_TINY_FFS is not set +# end of kservice options + +CONFIG_RT_USING_DEBUG=y +CONFIG_RT_DEBUGING_ASSERT=y +CONFIG_RT_DEBUGING_COLOR=y +CONFIG_RT_DEBUGING_CONTEXT=y +# CONFIG_RT_DEBUGING_AUTO_INIT is not set +# CONFIG_RT_USING_CI_ACTION is not set + +# +# Inter-Thread communication +# +CONFIG_RT_USING_SEMAPHORE=y +CONFIG_RT_USING_MUTEX=y +CONFIG_RT_USING_EVENT=y +CONFIG_RT_USING_MAILBOX=y +CONFIG_RT_USING_MESSAGEQUEUE=y +# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set +# CONFIG_RT_USING_SIGNALS is not set +# end of Inter-Thread communication + +# +# Memory Management +# +CONFIG_RT_USING_MEMPOOL=y +CONFIG_RT_USING_SMALL_MEM=y +# CONFIG_RT_USING_SLAB is not set +# CONFIG_RT_USING_MEMHEAP is not set +CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y +# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set +# CONFIG_RT_USING_SLAB_AS_HEAP is not set +# CONFIG_RT_USING_USERHEAP is not set +# CONFIG_RT_USING_NOHEAP is not set +# CONFIG_RT_USING_MEMTRACE is not set +# CONFIG_RT_USING_HEAP_ISR is not set +CONFIG_RT_USING_HEAP=y +# end of Memory Management + +CONFIG_RT_USING_DEVICE=y +# CONFIG_RT_USING_DEVICE_OPS is not set +# CONFIG_RT_USING_INTERRUPT_INFO is not set +CONFIG_RT_USING_THREADSAFE_PRINTF=y +CONFIG_RT_USING_CONSOLE=y +CONFIG_RT_CONSOLEBUF_SIZE=128 +CONFIG_RT_CONSOLE_DEVICE_NAME="uart1" +CONFIG_RT_VER_NUM=0x50201 +# CONFIG_RT_USING_STDC_ATOMIC is not set +CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32 +# end of RT-Thread Kernel + +# +# AArch64 Architecture Configuration +# +CONFIG_ARCH_TEXT_OFFSET=0x0 +CONFIG_ARCH_RAM_OFFSET=0x80000000 +CONFIG_ARCH_SECONDARY_CPU_STACK_SIZE=4096 +CONFIG_ARCH_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USING_GENERIC_CPUID=y +CONFIG_ARCH_HEAP_SIZE=0x2000000 +CONFIG_ARCH_INIT_PAGE_SIZE=0x8000000 +# end of AArch64 Architecture Configuration + +CONFIG_ARCH_CPU_64BIT=y +CONFIG_RT_USING_CACHE=y +CONFIG_RT_USING_HW_ATOMIC=y +CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE=y +CONFIG_RT_USING_CPU_FFS=y +CONFIG_ARCH_MM_MMU=y +CONFIG_ARCH_ARM=y +CONFIG_ARCH_ARM_MMU=y +CONFIG_ARCH_ARM_CORTEX_A=y +CONFIG_RT_NO_USING_GIC=y +CONFIG_ARCH_ARM_CORTEX_A55=y +# CONFIG_ARCH_ARM_SECURE_MODE is not set +CONFIG_RT_BACKTRACE_FUNCTION_NAME=y +CONFIG_ARCH_ARMV8=y +CONFIG_ARCH_USING_ASID=y +CONFIG_ARCH_USING_HW_THREAD_SELF=y +CONFIG_ARCH_USING_IRQ_CTX_LIST=y + +# +# RT-Thread Components +# +CONFIG_RT_USING_COMPONENTS_INIT=y +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=8192 +CONFIG_RT_MAIN_THREAD_PRIORITY=10 +# CONFIG_RT_USING_LEGACY is not set +CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y +CONFIG_FINSH_USING_MSH=y +CONFIG_FINSH_THREAD_NAME="tshell" +CONFIG_FINSH_THREAD_PRIORITY=20 +CONFIG_FINSH_THREAD_STACK_SIZE=8092 +CONFIG_FINSH_USING_HISTORY=y +CONFIG_FINSH_HISTORY_LINES=5 +# CONFIG_FINSH_USING_WORD_OPERATION is not set +# CONFIG_FINSH_USING_FUNC_EXT is not set +CONFIG_FINSH_USING_SYMTAB=y +CONFIG_FINSH_CMD_SIZE=80 +CONFIG_MSH_USING_BUILT_IN_COMMANDS=y +CONFIG_FINSH_USING_DESCRIPTION=y +# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set +# CONFIG_FINSH_USING_AUTH is not set +CONFIG_FINSH_ARG_MAX=10 +CONFIG_FINSH_USING_OPTION_COMPLETION=y + +# +# DFS: device virtual file system +# +CONFIG_RT_USING_DFS=y +CONFIG_DFS_USING_POSIX=y +CONFIG_DFS_USING_WORKDIR=y +# CONFIG_RT_USING_DFS_MNTTABLE is not set +CONFIG_DFS_FD_MAX=16 +CONFIG_RT_USING_DFS_V1=y +# CONFIG_RT_USING_DFS_V2 is not set +CONFIG_DFS_FILESYSTEMS_MAX=4 +CONFIG_DFS_FILESYSTEM_TYPES_MAX=4 +# CONFIG_RT_USING_DFS_ELMFAT is not set +CONFIG_RT_USING_DFS_DEVFS=y +# CONFIG_RT_USING_DFS_ROMFS is not set +# CONFIG_RT_USING_DFS_CROMFS is not set +# CONFIG_RT_USING_DFS_RAMFS is not set +# CONFIG_RT_USING_DFS_TMPFS is not set +# CONFIG_RT_USING_DFS_MQUEUE is not set +# end of DFS: device virtual file system + +# CONFIG_RT_USING_FAL is not set + +# +# Device Drivers +# +# CONFIG_RT_USING_DM is not set +# CONFIG_RT_USING_DEV_BUS is not set +CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_UNAMED_PIPE_NUMBER=64 +# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set +CONFIG_RT_USING_SERIAL=y +CONFIG_RT_USING_SERIAL_V1=y +# CONFIG_RT_USING_SERIAL_V2 is not set +CONFIG_RT_SERIAL_USING_DMA=y +CONFIG_RT_SERIAL_RB_BUFSZ=64 +# CONFIG_RT_USING_SERIAL_BYPASS is not set +# CONFIG_RT_USING_CAN is not set +# CONFIG_RT_USING_CPUTIME is not set +# CONFIG_RT_USING_I2C is not set +# CONFIG_RT_USING_PHY is not set +# CONFIG_RT_USING_PHY_V2 is not set +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +# CONFIG_RT_USING_NULL is not set +# CONFIG_RT_USING_ZERO is not set +# CONFIG_RT_USING_RANDOM is not set +# CONFIG_RT_USING_PWM is not set +# CONFIG_RT_USING_PULSE_ENCODER is not set +# CONFIG_RT_USING_INPUT_CAPTURE is not set +# CONFIG_RT_USING_MTD_NOR is not set +# CONFIG_RT_USING_MTD_NAND is not set +# CONFIG_RT_USING_PM is not set +# CONFIG_RT_USING_RTC is not set +# CONFIG_RT_USING_SDIO is not set +# CONFIG_RT_USING_SPI is not set +# CONFIG_RT_USING_WDT is not set +# CONFIG_RT_USING_AUDIO is not set +# CONFIG_RT_USING_SENSOR is not set +# CONFIG_RT_USING_TOUCH is not set +# CONFIG_RT_USING_LCD is not set +# CONFIG_RT_USING_HWCRYPTO is not set +# CONFIG_RT_USING_WIFI is not set +# CONFIG_RT_USING_BLK is not set +# CONFIG_RT_USING_VIRTIO is not set +CONFIG_RT_USING_PIN=y +# CONFIG_RT_USING_KTIME is not set +# CONFIG_RT_USING_HWTIMER is not set +# CONFIG_RT_USING_CHERRYUSB is not set +# end of Device Drivers + +# +# C/C++ and POSIX layer +# + +# +# ISO-ANSI C layer +# + +# +# Timezone and Daylight Saving Time +# +# CONFIG_RT_LIBC_USING_FULL_TZ_DST is not set +CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y +CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8 +CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0 +CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0 +# end of Timezone and Daylight Saving Time +# end of ISO-ANSI C layer + +# +# POSIX (Portable Operating System Interface) layer +# +# CONFIG_RT_USING_POSIX_FS is not set +# CONFIG_RT_USING_POSIX_DELAY is not set +# CONFIG_RT_USING_POSIX_CLOCK is not set +# CONFIG_RT_USING_POSIX_TIMER is not set +# CONFIG_RT_USING_PTHREADS is not set +# CONFIG_RT_USING_MODULE is not set + +# +# Interprocess Communication (IPC) +# +# CONFIG_RT_USING_POSIX_PIPE is not set +# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set +# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set + +# +# Socket is in the 'Network' category +# +# end of Interprocess Communication (IPC) +# end of POSIX (Portable Operating System Interface) layer + +# CONFIG_RT_USING_CPLUSPLUS is not set +# end of C/C++ and POSIX layer + +# +# Network +# +# CONFIG_RT_USING_SAL is not set +# CONFIG_RT_USING_NETDEV is not set +# CONFIG_RT_USING_LWIP is not set +# CONFIG_RT_USING_AT is not set +# end of Network + +# +# Memory protection +# +# CONFIG_RT_USING_MEM_PROTECTION is not set +# CONFIG_RT_USING_HW_STACK_GUARD is not set +# end of Memory protection + +# +# Utilities +# +# CONFIG_RT_USING_RYM is not set +# CONFIG_RT_USING_ULOG is not set +# CONFIG_RT_USING_UTEST is not set +# CONFIG_RT_USING_VAR_EXPORT is not set +# CONFIG_RT_USING_RESOURCE_ID is not set +CONFIG_RT_USING_ADT=y +CONFIG_RT_USING_ADT_AVL=y +CONFIG_RT_USING_ADT_BITMAP=y +CONFIG_RT_USING_ADT_HASHMAP=y +CONFIG_RT_USING_ADT_REF=y +# CONFIG_RT_USING_RT_LINK is not set +# end of Utilities + +# +# Memory management +# +# CONFIG_RT_PAGE_MPR_SIZE_DYNAMIC is not set +CONFIG_RT_PAGE_AFFINITY_BLOCK_SIZE=0x1000 +CONFIG_RT_PAGE_MAX_ORDER=11 +# CONFIG_RT_USING_MEMBLOCK is not set + +# +# Debugging +# +# CONFIG_RT_DEBUGGING_ALIASING is not set +# CONFIG_RT_DEBUGING_PAGE_LEAK is not set +# CONFIG_RT_DEBUGGING_PAGE_POISON is not set +# end of Debugging +# end of Memory management + +# +# Using USB legacy version +# +# CONFIG_RT_USING_USB_HOST is not set +# CONFIG_RT_USING_USB_DEVICE is not set +# end of Using USB legacy version + +# CONFIG_RT_USING_FDT is not set +# CONFIG_RT_USING_RUST is not set +# end of RT-Thread Components + +# +# RT-Thread Utestcases +# +# CONFIG_RT_USING_UTESTCASES is not set +# end of RT-Thread Utestcases + +# +# RT-Thread online packages +# + +# +# IoT - internet of things +# +# CONFIG_PKG_USING_LORAWAN_DRIVER is not set +# CONFIG_PKG_USING_PAHOMQTT is not set +# CONFIG_PKG_USING_UMQTT is not set +# CONFIG_PKG_USING_WEBCLIENT is not set +# CONFIG_PKG_USING_WEBNET is not set +# CONFIG_PKG_USING_MONGOOSE is not set +# CONFIG_PKG_USING_MYMQTT is not set +# CONFIG_PKG_USING_KAWAII_MQTT is not set +# CONFIG_PKG_USING_BC28_MQTT is not set +# CONFIG_PKG_USING_WEBTERMINAL is not set +# CONFIG_PKG_USING_FREEMODBUS is not set +# CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set +# CONFIG_PKG_USING_ESP_HOSTED is not set + +# +# Wi-Fi +# + +# +# Marvell WiFi +# +# CONFIG_PKG_USING_WLANMARVELL is not set +# end of Marvell WiFi + +# +# Wiced WiFi +# +# CONFIG_PKG_USING_WLAN_WICED is not set +# end of Wiced WiFi + +# CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi +# end of Wi-Fi + +# CONFIG_PKG_USING_COAP is not set +# CONFIG_PKG_USING_NOPOLL is not set +# CONFIG_PKG_USING_NETUTILS is not set +# CONFIG_PKG_USING_CMUX is not set +# CONFIG_PKG_USING_PPP_DEVICE is not set +# CONFIG_PKG_USING_AT_DEVICE is not set +# CONFIG_PKG_USING_ATSRV_SOCKET is not set +# CONFIG_PKG_USING_WIZNET is not set +# CONFIG_PKG_USING_ZB_COORDINATOR is not set + +# +# IoT Cloud +# +# CONFIG_PKG_USING_ONENET is not set +# CONFIG_PKG_USING_GAGENT_CLOUD is not set +# CONFIG_PKG_USING_ALI_IOTKIT is not set +# CONFIG_PKG_USING_AZURE is not set +# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set +# CONFIG_PKG_USING_JIOT-C-SDK is not set +# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set +# CONFIG_PKG_USING_JOYLINK is not set +# CONFIG_PKG_USING_IOTSHARP_SDK is not set +# end of IoT Cloud + +# CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set +# CONFIG_PKG_USING_OTA_DOWNLOADER is not set +# CONFIG_PKG_USING_IPMSG is not set +# CONFIG_PKG_USING_LSSDP is not set +# CONFIG_PKG_USING_AIRKISS_OPEN is not set +# CONFIG_PKG_USING_LIBRWS is not set +# CONFIG_PKG_USING_TCPSERVER is not set +# CONFIG_PKG_USING_PROTOBUF_C is not set +# CONFIG_PKG_USING_DLT645 is not set +# CONFIG_PKG_USING_QXWZ is not set +# CONFIG_PKG_USING_SMTP_CLIENT is not set +# CONFIG_PKG_USING_ABUP_FOTA is not set +# CONFIG_PKG_USING_LIBCURL2RTT is not set +# CONFIG_PKG_USING_CAPNP is not set +# CONFIG_PKG_USING_AGILE_TELNET is not set +# CONFIG_PKG_USING_NMEALIB is not set +# CONFIG_PKG_USING_PDULIB is not set +# CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set +# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set +# CONFIG_PKG_USING_WAYZ_IOTKIT is not set +# CONFIG_PKG_USING_MAVLINK is not set +# CONFIG_PKG_USING_BSAL is not set +# CONFIG_PKG_USING_AGILE_MODBUS is not set +# CONFIG_PKG_USING_AGILE_FTP is not set +# CONFIG_PKG_USING_EMBEDDEDPROTO is not set +# CONFIG_PKG_USING_RT_LINK_HW is not set +# CONFIG_PKG_USING_RYANMQTT is not set +# CONFIG_PKG_USING_RYANW5500 is not set +# CONFIG_PKG_USING_LORA_PKT_FWD is not set +# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set +# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set +# CONFIG_PKG_USING_HM is not set +# CONFIG_PKG_USING_SMALL_MODBUS is not set +# CONFIG_PKG_USING_NET_SERVER is not set +# CONFIG_PKG_USING_ZFTP is not set +# CONFIG_PKG_USING_WOL is not set +# CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set +# CONFIG_PKG_USING_PNET is not set +# CONFIG_PKG_USING_OPENER is not set +# CONFIG_PKG_USING_FREEMQTT is not set +# end of IoT - internet of things + +# +# security packages +# +# CONFIG_PKG_USING_MBEDTLS is not set +# CONFIG_PKG_USING_LIBSODIUM is not set +# CONFIG_PKG_USING_LIBHYDROGEN is not set +# CONFIG_PKG_USING_TINYCRYPT is not set +# CONFIG_PKG_USING_TFM is not set +# CONFIG_PKG_USING_YD_CRYPTO is not set +# end of security packages + +# +# language packages +# + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set +# CONFIG_PKG_USING_PARSON is not set +# CONFIG_PKG_USING_RYAN_JSON is not set +# end of JSON: JavaScript Object Notation, a lightweight data-interchange format + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set +# end of XML: Extensible Markup Language + +# CONFIG_PKG_USING_LUATOS_SOC is not set +# CONFIG_PKG_USING_LUA is not set +# CONFIG_PKG_USING_JERRYSCRIPT is not set +# CONFIG_PKG_USING_MICROPYTHON is not set +# CONFIG_PKG_USING_PIKASCRIPT is not set +# CONFIG_PKG_USING_RTT_RUST is not set +# end of language packages + +# +# multimedia packages +# + +# +# LVGL: powerful and easy-to-use embedded GUI library +# +# CONFIG_PKG_USING_LVGL is not set +# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set +# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set +# end of LVGL: powerful and easy-to-use embedded GUI library + +# +# u8g2: a monochrome graphic library +# +# CONFIG_PKG_USING_U8G2_OFFICIAL is not set +# CONFIG_PKG_USING_U8G2 is not set +# end of u8g2: a monochrome graphic library + +# CONFIG_PKG_USING_OPENMV is not set +# CONFIG_PKG_USING_MUPDF is not set +# CONFIG_PKG_USING_STEMWIN is not set +# CONFIG_PKG_USING_WAVPLAYER is not set +# CONFIG_PKG_USING_TJPGD is not set +# CONFIG_PKG_USING_PDFGEN is not set +# CONFIG_PKG_USING_HELIX is not set +# CONFIG_PKG_USING_AZUREGUIX is not set +# CONFIG_PKG_USING_TOUCHGFX2RTT is not set +# CONFIG_PKG_USING_NUEMWIN is not set +# CONFIG_PKG_USING_MP3PLAYER is not set +# CONFIG_PKG_USING_TINYJPEG is not set +# CONFIG_PKG_USING_UGUI is not set +# CONFIG_PKG_USING_MCURSES is not set +# CONFIG_PKG_USING_TERMBOX is not set +# CONFIG_PKG_USING_VT100 is not set +# CONFIG_PKG_USING_QRCODE is not set +# CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_PERSIMMON is not set +# CONFIG_PKG_USING_3GPP_AMRNB is not set +# end of multimedia packages + +# +# tools packages +# +# CONFIG_PKG_USING_CMBACKTRACE is not set +# CONFIG_PKG_USING_MCOREDUMP is not set +# CONFIG_PKG_USING_EASYFLASH is not set +# CONFIG_PKG_USING_EASYLOGGER is not set +# CONFIG_PKG_USING_SYSTEMVIEW is not set +# CONFIG_PKG_USING_SEGGER_RTT is not set +# CONFIG_PKG_USING_RTT_AUTO_EXE_CMD is not set +# CONFIG_PKG_USING_RDB is not set +# CONFIG_PKG_USING_ULOG_EASYFLASH is not set +# CONFIG_PKG_USING_LOGMGR is not set +# CONFIG_PKG_USING_ADBD is not set +# CONFIG_PKG_USING_COREMARK is not set +# CONFIG_PKG_USING_DHRYSTONE is not set +# CONFIG_PKG_USING_MEMORYPERF is not set +# CONFIG_PKG_USING_NR_MICRO_SHELL is not set +# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set +# CONFIG_PKG_USING_LUNAR_CALENDAR is not set +# CONFIG_PKG_USING_BS8116A is not set +# CONFIG_PKG_USING_GPS_RMC is not set +# CONFIG_PKG_USING_URLENCODE is not set +# CONFIG_PKG_USING_UMCN is not set +# CONFIG_PKG_USING_LWRB2RTT is not set +# CONFIG_PKG_USING_CPU_USAGE is not set +# CONFIG_PKG_USING_GBK2UTF8 is not set +# CONFIG_PKG_USING_VCONSOLE is not set +# CONFIG_PKG_USING_KDB is not set +# CONFIG_PKG_USING_WAMR is not set +# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set +# CONFIG_PKG_USING_LWLOG is not set +# CONFIG_PKG_USING_ANV_TRACE is not set +# CONFIG_PKG_USING_ANV_MEMLEAK is not set +# CONFIG_PKG_USING_ANV_TESTSUIT is not set +# CONFIG_PKG_USING_ANV_BENCH is not set +# CONFIG_PKG_USING_DEVMEM is not set +# CONFIG_PKG_USING_REGEX is not set +# CONFIG_PKG_USING_MEM_SANDBOX is not set +# CONFIG_PKG_USING_SOLAR_TERMS is not set +# CONFIG_PKG_USING_GAN_ZHI is not set +# CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set +# CONFIG_PKG_USING_HASH_MATCH is not set +# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set +# CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set +# CONFIG_PKG_USING_RVBACKTRACE is not set +# CONFIG_PKG_USING_HPATCHLITE is not set +# CONFIG_PKG_USING_THREAD_METRIC is not set +# end of tools packages + +# +# system packages +# + +# +# enhanced kernel services +# +# CONFIG_PKG_USING_RT_MEMCPY_CM is not set +# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set +# end of enhanced kernel services + +# CONFIG_PKG_USING_AUNITY is not set + +# +# acceleration: Assembly language or algorithmic acceleration packages +# +# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set +# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set +# CONFIG_PKG_USING_QFPLIB_M3 is not set +# end of acceleration: Assembly language or algorithmic acceleration packages + +# +# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard +# +# CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_NN is not set +# CONFIG_PKG_USING_CMSIS_RTOS1 is not set +# CONFIG_PKG_USING_CMSIS_RTOS2 is not set +# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard + +# +# Micrium: Micrium software products porting for RT-Thread +# +# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set +# CONFIG_PKG_USING_UCOSII_WRAPPER is not set +# CONFIG_PKG_USING_UC_CRC is not set +# CONFIG_PKG_USING_UC_CLK is not set +# CONFIG_PKG_USING_UC_COMMON is not set +# CONFIG_PKG_USING_UC_MODBUS is not set +# end of Micrium: Micrium software products porting for RT-Thread + +# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set +# CONFIG_PKG_USING_CAIRO is not set +# CONFIG_PKG_USING_PIXMAN is not set +# CONFIG_PKG_USING_PARTITION is not set +# CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set +# CONFIG_PKG_USING_FLASHDB is not set +# CONFIG_PKG_USING_SQLITE is not set +# CONFIG_PKG_USING_RTI is not set +# CONFIG_PKG_USING_DFS_YAFFS is not set +# CONFIG_PKG_USING_LITTLEFS is not set +# CONFIG_PKG_USING_DFS_JFFS2 is not set +# CONFIG_PKG_USING_DFS_UFFS is not set +# CONFIG_PKG_USING_LWEXT4 is not set +# CONFIG_PKG_USING_THREAD_POOL is not set +# CONFIG_PKG_USING_ROBOTS is not set +# CONFIG_PKG_USING_EV is not set +# CONFIG_PKG_USING_SYSWATCH is not set +# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set +# CONFIG_PKG_USING_PLCCORE is not set +# CONFIG_PKG_USING_RAMDISK is not set +# CONFIG_PKG_USING_MININI is not set +# CONFIG_PKG_USING_QBOOT is not set +# CONFIG_PKG_USING_PPOOL is not set +# CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set +# CONFIG_PKG_USING_LPM is not set +# CONFIG_PKG_USING_TLSF is not set +# CONFIG_PKG_USING_EVENT_RECORDER is not set +# CONFIG_PKG_USING_ARM_2D is not set +# CONFIG_PKG_USING_MCUBOOT is not set +# CONFIG_PKG_USING_TINYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set +# CONFIG_PKG_USING_TFDB is not set +# CONFIG_PKG_USING_QPC is not set +# CONFIG_PKG_USING_AGILE_UPGRADE is not set +# CONFIG_PKG_USING_FLASH_BLOB is not set +# CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_UART_FRAMEWORK is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_RMP is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set +# CONFIG_PKG_USING_HEARTBEAT is not set +# CONFIG_PKG_USING_MICRO_ROS_RTTHREAD_PACKAGE is not set +# end of system packages + +# +# peripheral libraries and drivers +# + +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32F0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F1_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F1_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F2_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F2_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F3_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F3_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F7_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F7_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32G0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32G0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32G4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32G4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H7_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H7_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H7RS_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H7RS_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32U5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32U5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# CONFIG_PKG_USING_STM32WL_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32WL_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32WB_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32MP1_M4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32MP1_M4_CMSIS_DRIVER is not set +# end of STM32 HAL & SDK Drivers + +# +# Infineon HAL Packages +# +# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set +# CONFIG_PKG_USING_INFINEON_CMSIS is not set +# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set +# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set +# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set +# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set +# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set +# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set +# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set +# CONFIG_PKG_USING_INFINEON_USBDEV is not set +# end of Infineon HAL Packages + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_RP2350_SDK is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# CONFIG_PKG_USING_MM32 is not set + +# +# WCH HAL & SDK Drivers +# +# CONFIG_PKG_USING_CH32V20x_SDK is not set +# CONFIG_PKG_USING_CH32V307_SDK is not set +# end of WCH HAL & SDK Drivers + +# +# AT32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_AT32A403A_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A403A_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_CMSIS_DRIVER is not set +# end of AT32 HAL & SDK Drivers + +# +# HC32 DDL Drivers +# +# CONFIG_PKG_USING_HC32F3_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_HC32F3_SERIES_DRIVER is not set +# CONFIG_PKG_USING_HC32F4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_HC32F4_SERIES_DRIVER is not set +# end of HC32 DDL Drivers + +# +# NXP HAL & SDK Drivers +# +# CONFIG_PKG_USING_NXP_MCX_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_NXP_MCX_SERIES_DRIVER is not set +# CONFIG_PKG_USING_NXP_LPC_DRIVER is not set +# CONFIG_PKG_USING_NXP_LPC55S_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMX6SX_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMX6UL_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMXRT_DRIVER is not set +# end of NXP HAL & SDK Drivers + +# +# NUVOTON Drivers +# +# CONFIG_PKG_USING_NUVOTON_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_NUVOTON_SERIES_DRIVER is not set +# CONFIG_PKG_USING_NUVOTON_ARM926_LIB is not set +# end of NUVOTON Drivers + +# +# GD32 Drivers +# +# CONFIG_PKG_USING_GD32_ARM_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_GD32_ARM_SERIES_DRIVER is not set +# end of GD32 Drivers +# end of HAL & SDK Drivers + +# +# sensors drivers +# +# CONFIG_PKG_USING_LSM6DSM is not set +# CONFIG_PKG_USING_LSM6DSL is not set +# CONFIG_PKG_USING_LPS22HB is not set +# CONFIG_PKG_USING_HTS221 is not set +# CONFIG_PKG_USING_LSM303AGR is not set +# CONFIG_PKG_USING_BME280 is not set +# CONFIG_PKG_USING_BME680 is not set +# CONFIG_PKG_USING_BMA400 is not set +# CONFIG_PKG_USING_BMI160_BMX160 is not set +# CONFIG_PKG_USING_SPL0601 is not set +# CONFIG_PKG_USING_MS5805 is not set +# CONFIG_PKG_USING_DA270 is not set +# CONFIG_PKG_USING_DF220 is not set +# CONFIG_PKG_USING_HSHCAL001 is not set +# CONFIG_PKG_USING_BH1750 is not set +# CONFIG_PKG_USING_MPU6XXX is not set +# CONFIG_PKG_USING_AHT10 is not set +# CONFIG_PKG_USING_AP3216C is not set +# CONFIG_PKG_USING_TSL4531 is not set +# CONFIG_PKG_USING_DS18B20 is not set +# CONFIG_PKG_USING_DHT11 is not set +# CONFIG_PKG_USING_DHTXX is not set +# CONFIG_PKG_USING_GY271 is not set +# CONFIG_PKG_USING_GP2Y10 is not set +# CONFIG_PKG_USING_SGP30 is not set +# CONFIG_PKG_USING_HDC1000 is not set +# CONFIG_PKG_USING_BMP180 is not set +# CONFIG_PKG_USING_BMP280 is not set +# CONFIG_PKG_USING_SHTC1 is not set +# CONFIG_PKG_USING_BMI088 is not set +# CONFIG_PKG_USING_HMC5883 is not set +# CONFIG_PKG_USING_MAX6675 is not set +# CONFIG_PKG_USING_MAX31855 is not set +# CONFIG_PKG_USING_TMP1075 is not set +# CONFIG_PKG_USING_SR04 is not set +# CONFIG_PKG_USING_CCS811 is not set +# CONFIG_PKG_USING_PMSXX is not set +# CONFIG_PKG_USING_RT3020 is not set +# CONFIG_PKG_USING_MLX90632 is not set +# CONFIG_PKG_USING_MLX90382 is not set +# CONFIG_PKG_USING_MLX90393 is not set +# CONFIG_PKG_USING_MLX90392 is not set +# CONFIG_PKG_USING_MLX90394 is not set +# CONFIG_PKG_USING_MLX90397 is not set +# CONFIG_PKG_USING_MS5611 is not set +# CONFIG_PKG_USING_MAX31865 is not set +# CONFIG_PKG_USING_VL53L0X is not set +# CONFIG_PKG_USING_INA260 is not set +# CONFIG_PKG_USING_MAX30102 is not set +# CONFIG_PKG_USING_INA226 is not set +# CONFIG_PKG_USING_LIS2DH12 is not set +# CONFIG_PKG_USING_HS300X is not set +# CONFIG_PKG_USING_ZMOD4410 is not set +# CONFIG_PKG_USING_ISL29035 is not set +# CONFIG_PKG_USING_MMC3680KJ is not set +# CONFIG_PKG_USING_QMP6989 is not set +# CONFIG_PKG_USING_BALANCE is not set +# CONFIG_PKG_USING_SHT2X is not set +# CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set +# CONFIG_PKG_USING_AD7746 is not set +# CONFIG_PKG_USING_ADT74XX is not set +# CONFIG_PKG_USING_MAX17048 is not set +# CONFIG_PKG_USING_AS7341 is not set +# CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_ICM20608 is not set +# CONFIG_PKG_USING_PAJ7620 is not set +# CONFIG_PKG_USING_STHS34PF80 is not set +# CONFIG_PKG_USING_P3T1755 is not set +# CONFIG_PKG_USING_QMI8658 is not set +# CONFIG_PKG_USING_ICM20948 is not set +# end of sensors drivers + +# +# touch drivers +# +# CONFIG_PKG_USING_GT9147 is not set +# CONFIG_PKG_USING_GT1151 is not set +# CONFIG_PKG_USING_GT917S is not set +# CONFIG_PKG_USING_GT911 is not set +# CONFIG_PKG_USING_FT6206 is not set +# CONFIG_PKG_USING_FT5426 is not set +# CONFIG_PKG_USING_FT6236 is not set +# CONFIG_PKG_USING_XPT2046_TOUCH is not set +# CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set +# end of touch drivers + +# CONFIG_PKG_USING_REALTEK_AMEBA is not set +# CONFIG_PKG_USING_BUTTON is not set +# CONFIG_PKG_USING_PCF8574 is not set +# CONFIG_PKG_USING_SX12XX is not set +# CONFIG_PKG_USING_SIGNAL_LED is not set +# CONFIG_PKG_USING_LEDBLINK is not set +# CONFIG_PKG_USING_LITTLED is not set +# CONFIG_PKG_USING_LKDGUI is not set +# CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set +# CONFIG_PKG_USING_AGILE_BUTTON is not set +# CONFIG_PKG_USING_AGILE_LED is not set +# CONFIG_PKG_USING_AT24CXX is not set +# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set +# CONFIG_PKG_USING_PCA9685 is not set +# CONFIG_PKG_USING_ILI9341 is not set +# CONFIG_PKG_USING_I2C_TOOLS is not set +# CONFIG_PKG_USING_NRF24L01 is not set +# CONFIG_PKG_USING_RPLIDAR is not set +# CONFIG_PKG_USING_AS608 is not set +# CONFIG_PKG_USING_RC522 is not set +# CONFIG_PKG_USING_WS2812B is not set +# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set +# CONFIG_PKG_USING_MULTI_RTIMER is not set +# CONFIG_PKG_USING_MAX7219 is not set +# CONFIG_PKG_USING_BEEP is not set +# CONFIG_PKG_USING_EASYBLINK is not set +# CONFIG_PKG_USING_PMS_SERIES is not set +# CONFIG_PKG_USING_CAN_YMODEM is not set +# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set +# CONFIG_PKG_USING_QLED is not set +# CONFIG_PKG_USING_AGILE_CONSOLE is not set +# CONFIG_PKG_USING_LD3320 is not set +# CONFIG_PKG_USING_WK2124 is not set +# CONFIG_PKG_USING_LY68L6400 is not set +# CONFIG_PKG_USING_DM9051 is not set +# CONFIG_PKG_USING_SSD1306 is not set +# CONFIG_PKG_USING_QKEY is not set +# CONFIG_PKG_USING_RS485 is not set +# CONFIG_PKG_USING_RS232 is not set +# CONFIG_PKG_USING_NES is not set +# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set +# CONFIG_PKG_USING_VDEVICE is not set +# CONFIG_PKG_USING_SGM706 is not set +# CONFIG_PKG_USING_RDA58XX is not set +# CONFIG_PKG_USING_LIBNFC is not set +# CONFIG_PKG_USING_MFOC is not set +# CONFIG_PKG_USING_TMC51XX is not set +# CONFIG_PKG_USING_TCA9534 is not set +# CONFIG_PKG_USING_KOBUKI is not set +# CONFIG_PKG_USING_ROSSERIAL is not set +# CONFIG_PKG_USING_MICRO_ROS is not set +# CONFIG_PKG_USING_MCP23008 is not set +# CONFIG_PKG_USING_MISAKA_AT24CXX is not set +# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set +# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set +# CONFIG_PKG_USING_SOFT_SERIAL is not set +# CONFIG_PKG_USING_MB85RS16 is not set +# CONFIG_PKG_USING_RFM300 is not set +# CONFIG_PKG_USING_IO_INPUT_FILTER is not set +# CONFIG_PKG_USING_LRF_NV7LIDAR is not set +# CONFIG_PKG_USING_AIP650 is not set +# CONFIG_PKG_USING_FINGERPRINT is not set +# CONFIG_PKG_USING_BT_ECB02C is not set +# CONFIG_PKG_USING_UAT is not set +# CONFIG_PKG_USING_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set +# CONFIG_PKG_USING_BT_MX02 is not set +# CONFIG_PKG_USING_GC9A01 is not set +# CONFIG_PKG_USING_IK485 is not set +# CONFIG_PKG_USING_SERVO is not set +# CONFIG_PKG_USING_SEAN_WS2812B is not set +# CONFIG_PKG_USING_IC74HC165 is not set +# CONFIG_PKG_USING_IST8310 is not set +# CONFIG_PKG_USING_ST7789_SPI is not set +# CONFIG_PKG_USING_SPI_TOOLS is not set +# end of peripheral libraries and drivers + +# +# AI packages +# +# CONFIG_PKG_USING_LIBANN is not set +# CONFIG_PKG_USING_NNOM is not set +# CONFIG_PKG_USING_ONNX_BACKEND is not set +# CONFIG_PKG_USING_ONNX_PARSER is not set +# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set +# CONFIG_PKG_USING_ELAPACK is not set +# CONFIG_PKG_USING_ULAPACK is not set +# CONFIG_PKG_USING_QUEST is not set +# CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set +# CONFIG_PKG_USING_LLMCHAT is not set +# end of AI packages + +# +# Signal Processing and Control Algorithm Packages +# +# CONFIG_PKG_USING_APID is not set +# CONFIG_PKG_USING_FIRE_PID_CURVE is not set +# CONFIG_PKG_USING_QPID is not set +# CONFIG_PKG_USING_UKAL is not set +# CONFIG_PKG_USING_DIGITALCTRL is not set +# CONFIG_PKG_USING_KISSFFT is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# end of Signal Processing and Control Algorithm Packages + +# +# miscellaneous packages +# + +# +# project laboratory +# +# end of project laboratory + +# +# samples: kernel and components samples +# +# CONFIG_PKG_USING_KERNEL_SAMPLES is not set +# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set +# CONFIG_PKG_USING_NETWORK_SAMPLES is not set +# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set +# end of samples: kernel and components samples + +# +# entertainment: terminal games and other interesting software packages +# +# CONFIG_PKG_USING_CMATRIX is not set +# CONFIG_PKG_USING_SL is not set +# CONFIG_PKG_USING_CAL is not set +# CONFIG_PKG_USING_ACLOCK is not set +# CONFIG_PKG_USING_THREES is not set +# CONFIG_PKG_USING_2048 is not set +# CONFIG_PKG_USING_SNAKE is not set +# CONFIG_PKG_USING_TETRIS is not set +# CONFIG_PKG_USING_DONUT is not set +# CONFIG_PKG_USING_COWSAY is not set +# CONFIG_PKG_USING_MORSE is not set +# end of entertainment: terminal games and other interesting software packages + +# CONFIG_PKG_USING_LIBCSV is not set +# CONFIG_PKG_USING_OPTPARSE is not set +# CONFIG_PKG_USING_FASTLZ is not set +# CONFIG_PKG_USING_MINILZO is not set +# CONFIG_PKG_USING_QUICKLZ is not set +# CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set +# CONFIG_PKG_USING_MULTIBUTTON is not set +# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set +# CONFIG_PKG_USING_CANFESTIVAL is not set +# CONFIG_PKG_USING_ZLIB is not set +# CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set +# CONFIG_PKG_USING_DSTR is not set +# CONFIG_PKG_USING_TINYFRAME is not set +# CONFIG_PKG_USING_KENDRYTE_DEMO is not set +# CONFIG_PKG_USING_UPACKER is not set +# CONFIG_PKG_USING_UPARAM is not set +# CONFIG_PKG_USING_HELLO is not set +# CONFIG_PKG_USING_VI is not set +# CONFIG_PKG_USING_KI is not set +# CONFIG_PKG_USING_ARMv7M_DWT is not set +# CONFIG_PKG_USING_CRCLIB is not set +# CONFIG_PKG_USING_LIBCRC is not set +# CONFIG_PKG_USING_LWGPS is not set +# CONFIG_PKG_USING_STATE_MACHINE is not set +# CONFIG_PKG_USING_DESIGN_PATTERN is not set +# CONFIG_PKG_USING_CONTROLLER is not set +# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set +# CONFIG_PKG_USING_SLCAN2RTT is not set +# CONFIG_PKG_USING_SOEM is not set +# CONFIG_PKG_USING_QPARAM is not set +# CONFIG_PKG_USING_CorevMCU_CLI is not set +# CONFIG_PKG_USING_DRMP is not set +# end of miscellaneous packages + +# +# Arduino libraries +# +# CONFIG_PKG_USING_RTDUINO is not set + +# +# Projects and Demos +# +# CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_RTDUINO_SENSORFUSION_SHIELD is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set +# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set +# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set +# end of Projects and Demos + +# +# Sensors +# +# CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90614 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS1 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AHTX0 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS0 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP280 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADT7410 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME680 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9808 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4728 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA219 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR390 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL345 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DHT is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9600 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM6DS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO055 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX1704X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMC56X3 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90393 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90395 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ICM20X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DPS310 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTS221 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT4X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT31 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL343 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME280 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS726X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AMG88XX is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2320 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2315 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR329_LTR303 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP3XX is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MS8607 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS2MDL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303DLH_MAG is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LC709203F is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CAP1188 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CCS811 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_NAU7802 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS331 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS2X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS35HW is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303_ACCEL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3DH is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8591 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL3115A2 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPR121 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPRLS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPU6050 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCT2075 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PM25AQI is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_EMC2101 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXAS21002C is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SCD30 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXOS8700 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HMC5883_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP30 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP006 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TLA202X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCS34725 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI7021 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI1145 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP40 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHTC3 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HDC1000 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP117 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSC2007 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2561 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2591_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VCNL4040 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6070 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6075 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML7700 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LIS3DHTR is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_DHT is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL335 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL345 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BME280 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BMP280 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_H3LIS331DL is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MMA7660 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_TSL2561 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_PAJ7620 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_VL53L0X is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ITG3200 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SHT31 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HP20X is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_DRV2605L is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BBM150 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HMC5883L is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LSM303DLH is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_TCS3414CS is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MP503 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BMP085 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HIGHTEMP is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_VEML6070 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SI1145 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SHT35 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_AT42QT1070 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LSM6DS3 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HDC1000 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HM3301 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set +# end of Sensors + +# +# Display +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set +# CONFIG_PKG_USING_SEEED_TM1637 is not set +# end of Display + +# +# Timing +# +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set +# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set +# CONFIG_PKG_USING_ARDUINO_TICKER is not set +# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set +# end of Timing + +# +# Data Processing +# +# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set +# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set +# end of Data Processing + +# +# Data Storage +# + +# +# Communication +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set +# end of Communication + +# +# Device Control +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TPA2016 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DRV2605 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set +# end of Device Control + +# +# Other +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set +# end of Other + +# +# Signal IO +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BUSIO is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCA8418 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP23017 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADS1X15 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AW9523 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set +# end of Signal IO + +# +# Uncategorized +# +# end of Arduino libraries +# end of RT-Thread online packages + +CONFIG_BOARD_IMX91=y +CONFIG_SOC_MIMX91X1D=y + +# +# Hardware Drivers Config +# +CONFIG_BSP_USING_EARLY_CONSOLE=y +CONFIG_BSP_USING_UART1=y +CONFIG_BSP_USING_GIC=y +CONFIG_BSP_USING_GICV3=y +CONFIG_KERNEL_ASPACE_START=0x1000000 +# end of Hardware Drivers Config diff --git a/bsp/nxp/imx/imx91/Kconfig b/bsp/nxp/imx/imx91/Kconfig new file mode 100644 index 00000000000..38ff35d75da --- /dev/null +++ b/bsp/nxp/imx/imx91/Kconfig @@ -0,0 +1,29 @@ +mainmenu "RT-Thread Project Configuration" + +BSP_DIR := . + +RTT_DIR := ../../../.. + +PKGS_DIR := packages + +source "$(RTT_DIR)/Kconfig" +osource "$PKGS_DIR/Kconfig" + +config BOARD_IMX91 + bool + select ARCH_ARM_CORTEX_A55 + select BSP_USING_GICV3 + select BSP_USING_GIC + default y + +config SOC_MIMX91X1D + bool + select ARCH_ARMV8 + select ARCH_CPU_64BIT + select RT_USING_CACHE + select RT_USING_COMPONENTS_INIT + select RT_USING_USER_MAIN + select ARCH_ARM_BOOTWITH_FLUSH_CACHE + default y + +source "$(BSP_DIR)/drivers/Kconfig" diff --git a/bsp/nxp/imx/imx91/Makefile b/bsp/nxp/imx/imx91/Makefile new file mode 100644 index 00000000000..f9b884d9d3b --- /dev/null +++ b/bsp/nxp/imx/imx91/Makefile @@ -0,0 +1,10 @@ +scons:=python ${SCONS}\scons.py + +all: + @$(scons) + +clean: + @$(scons) -c + +copy: + @$(scons) --copy -s diff --git a/bsp/nxp/imx/imx91/README.assets/GS-FRDM-IMX91-IMG1.webp b/bsp/nxp/imx/imx91/README.assets/GS-FRDM-IMX91-IMG1.webp new file mode 100644 index 0000000000000000000000000000000000000000..3fd5b168742e81ac2b76b70f0dc58c90bcef59cd GIT binary patch literal 74792 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 z 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 R000000000000000008JNMC$+m literal 0 HcmV?d00001 diff --git a/bsp/nxp/imx/imx91/README.assets/image-20251210021421740.png b/bsp/nxp/imx/imx91/README.assets/image-20251210021421740.png new file mode 100644 index 0000000000000000000000000000000000000000..a15c5b5fa690e0d7641d3fd33baeae5d5cd7e68d GIT binary patch literal 11017 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 literal 0 HcmV?d00001 diff --git a/bsp/nxp/imx/imx91/README.md b/bsp/nxp/imx/imx91/README.md new file mode 100644 index 00000000000..7a89cc674e6 --- /dev/null +++ b/bsp/nxp/imx/imx91/README.md @@ -0,0 +1,233 @@ +# FRDM-IMX91 板级支持包 使用说明 + +本目录包含NXP FRDM-IMX91 开发板的板级支持包代码。 + +## 1. 简介 + +### 1.1 i.MX91系列处理器简介 + +i.MX 91系列采用了可扩展的Arm® Cortex®-A55内核,其主频高达1.4GHz,支持新一代LPDDR4内存以延长平台寿命,支持双千兆以太网和双USB端口,以及面向医疗、工业和消费物联网市场细分领域的丰富外设。 + + + +### 1.2 FRDM-i.MX91开发板简介 + +FRDM i.MX 91开发板是一款低成本、紧凑型开发板,采用i.MX 91应用处理器。该板配备板载IW610模块,集成了恩智浦的三频解决方案,支持Wi-Fi 6、BLE 5.4和802.15.4,适用于开发现代工业和物联网应用。该开发板包含LPDDR4、用于快速启动的eMMC存储、PMIC以及扩展功能。 + +FRDM i.MX 91开发板是一款入门级紧凑型开发板,采用i.MX 91应用处理器。 + +![GS-FRDM-IMX91-IMG1](README.assets/GS-FRDM-IMX91-IMG1.webp) + +开发板主要硬件资源: + +| 资源 | 简介 | +| ------------------ | ------------------------------------------------------------ | +| 处理器 | ◆ i.MX 91应用处理器
◆ Cortex-A55@1.4G
◆ EdgeLock®安全区域 | +| 存储器 | ◆ 1GB LPDDR4
◆ 8GB eMMC5.1
◆ MicroSD插槽
◆ EEPROM | +| 显示器和摄像头接口 | ◆ 并行RGB LCD接口(40引脚扩展接口)
◆ 并行摄像头接口(40引脚扩展接口) | +| 无线 | ◆ u-blox MAYA-W476-00B三频Wi-Fi 6/BLE 5.4/802.15.4模块 | +| 音频 | ◆ 3.5mm耳机插孔 | +| 连接 | ◆ USB2.0 Type-C连接器
◆ USB2.0 type A连接器
◆ 两个GbE RJ45
◆ CAN(HDR)
◆ 40引脚(2x20)
◆ 扩展接口
◆ I²C HDR
◆ ADC HDR | +| 调试 | ◆ SWD连接器
◆ 通过USB Type C的UART | + + + +### 1.3 开发板和PC之间的连接 + +在FRDM i.MX 91开发板上调测RT-Thread的过程中,需要使用到的接口有: + +1. POWER(P1),USB供电接口,用于向开发板供电; +2. DEBUG(P16),带有USB转串口芯片,用于U-Boot和RT-Thread日志输出、命令行交互; +3. ENET1(P4)或者ENET2(P3),以太网口,用于网络下载编译生成的RT-Thread固件; + + + +## 2. 编译 + +### 2.1 下载AArch64工具链 + +从ARM开发者网站下载AArch64裸机工具链, + +下载页面: [Arm GNU Toolchain Downloads – Arm Developer](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads) + +例如,64位Windows主机上下载: https://developer.arm.com/-/media/Files/downloads/gnu/14.3.rel1/binrel/arm-gnu-toolchain-14.3.rel1-mingw-w64-x86_64-aarch64-none-elf.zip + +例如,下载后解压到本地路径:`D:\ARM\arm-gnu-toolchain-14.3.rel1-mingw-w64-x86_64-aarch64-none-elf` + + + +### 2.2 下载RT-Thread Env工具 + +下载页面:[rt-thread.org/download.html#download-rt-thread-env-tool](https://www.rt-thread.org/download.html#download-rt-thread-env-tool) + + + +### 2.3 下载RT-Thread源代码 + +在Env环境中,使用git命令下载RT-Thread源代码,例如: + +```sh +git clone https://github.com/RT-Thread/rt-thread.git +``` + + + +### 2.4 编译FRDM-i.MX 91目标 + +在Env环境中,转到`i.MX 91`的BSP目录: + +```sh +cd bsp/nxp/imx/imx91/ +``` + +然后,设置工具链路径(Windows Env环境): + +```bat +set RTT_EXEC_PATH=D:\ARM\arm-gnu-toolchain-14.3.rel1-mingw-w64-x86_64-aarch64-none-elf\bin +``` + +或者(bash): + +```sh'' +export RTT_EXEC_PATH=/path/to/aarch64-none-elf/bin +``` + +接着,执行`scons`命令开始编译: + +```sh +scons -j 8 +``` + + + +## 3.下载 + +开发板默认固件带有U-Boot启动加载器,开机3秒内通过串口发送换行符,可以进入U-Boot命令行界面。 + +### 3.1 准备U-Boot网络环境 + +将开发板和PC连接到同一个路由器。 + +例如,PC的IP地址为:`192.168.0.101` + +在开发板的U-Boot命令行界面内,设置FRDM-i.MX为静态IP: + +```sh +setenv ipaddr 192.168.0.120 +``` + +或者从路由器动态获取IP: + +```sh +dhcp +``` + +成功后,可以使用ping命令测试是否可以访问PC: + +```sh +ping 192.168.0.101 +``` + +成功则表示网络环境正常,可以执行后续步骤。 + + + +### 3.2 安装TFTP服务 + +Windows系统可以使用Tftpd,下载链接: [Releases · PJO2/tftpd64](https://github.com/PJO2/tftpd64/releases/) + +例如,下载portable免安装版本: https://github.com/PJO2/tftpd64/releases/download/v4.74/tftpd64_portable_v4.74.zip + +启动后,设置TFTP工作目录: + +![image-20251210021421740](README.assets/image-20251210021421740.png) + + + +### 3.3 拷贝rtthread.bin到TFTP工作目录 + +在PC的Env环境中,将 `rtthread.bin` 拷贝到TFTP工作目录: +```bat +copy /Y rtthread.bin D:\PortableSoftwareApps\tftpd64_portable_v4.74\work\ +``` + +或者: + +```sh +cp rtthread.bin /path/to/tftp_work_dir/ +``` + + + +### 3.4 下载rtthread.bin到开发板内存中 + +在开发板的U-Boot命令行界面中,首先执行如下命令,设置TFTP服务地址(PC的IP地址): + +```sh +setenv serverip 192.168.0.101 +``` + +然后,继续在开发板的U-Boot命令行界面中,执行如下命令,将`rtthread.bin`下载到内存中: + +```sh +tftp 0x80000000 rtthread.bin +``` + +下载的目标内存地址为:`0x80000000`; + + + +## 4. 运行 + +### 4.1 通过U-Boot的tftp命令下载、运行rtthread.bin + +完成前述步骤后,在开发板的 U-Boot 命令行界面中,继续执行以下命令,以跳转至 `0x80000000` 地址并执行代码: + +```sh +dcache flush +icache flush +go 0x80000000 +``` + +每次开发板上电启动后,均需执行上述 U-Boot 命令,RT-Thread 方可正常运行。这在需要反复调试时显得不够便捷。 + +为此,可将以上命令写入 U-Boot 的环境变量 `bootcmd` 中,从而实现开机自动执行,便于后续调试。具体操作命令如下: + +```sh +setenv ipaddr 192.168.0.120 +setenv serverip 192.168.0.101 +setenv bootcmd "tftp 0x80000000 rtthread.bin; dcache flush; icache flush; go 0x80000000" +saveenv +reset +``` + +其中,`saveenv` 命令用于保存环境变量的值,确保重启后依然生效;最后的 `reset` 为重启命令。 + +执行效果如下图所示: + +![image-20251210220620728](README.assets/image-20251210220620728.png) + +### 4.2 通过U-Boot的fatload命令下载、运行rtthread.bin + +另外,也可以先将PC上编译生产的`rtthread.bin`文件拷贝到MicroSD卡中,再将MicroSD弹出后插到开发板上,然后通过U-Boot的`fatload`命令将MicroSD卡中的文件加载内存,再执行跳转: + +```sh +fatload mmc 1:1 0x80000000 rtthread.bin; dcache flush ; icache flush; go 0x80000000 +``` + +相应的也可以保存到`bootcmd`变量中: + +```sh +setenv bootcmd "fatload mmc 1:1 0x80000000 rtthread.bin; dcache flush ; icache flush; go 0x80000000" +``` + + + +## 5. 参考链接 + +1. 维护人: [xusiwei](https://github.com/xusiwei) +2. AArch64工具链下载页面: [Arm GNU Toolchain Downloads – Arm Developer](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads) +3. Tftp64下载页面:https://github.com/PJO2/tftpd64/releases +4. FRDM-i.MX91开发板介绍:[FRDM i.MX 91 Development Board | NXP 半导体](https://www.nxp.com.cn/design/design-center/development-boards-and-designs/FRDM-IMX91) +5. i.MX91处理器介绍: [i.MX 91 Applications Processors Family | NXP 半导体](https://www.nxp.com.cn/products/i.MX91) + diff --git a/bsp/nxp/imx/imx91/SConscript b/bsp/nxp/imx/imx91/SConscript new file mode 100644 index 00000000000..744d8d78214 --- /dev/null +++ b/bsp/nxp/imx/imx91/SConscript @@ -0,0 +1,14 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() +objs = [] +list = os.listdir(cwd) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/SConstruct b/bsp/nxp/imx/imx91/SConstruct new file mode 100644 index 00000000000..456429c826a --- /dev/null +++ b/bsp/nxp/imx/imx91/SConstruct @@ -0,0 +1,33 @@ +import os +import sys +import rtconfig + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.join(os.getcwd(), '..', '..', '..', '..') + +sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] +from building import * + +TARGET = 'rtthread.' + rtconfig.TARGET_EXT + +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS, + CXX= rtconfig.CXX, CXXFLAGS = rtconfig.CFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) +env['ASCOM'] = env['ASPPCOM'] +env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS -Wl,--start-group $_LIBFLAGS -Wl,--end-group' + +Export('RTT_ROOT') +Export('rtconfig') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/nxp/imx/imx91/applications/SConscript b/bsp/nxp/imx/imx91/applications/SConscript new file mode 100644 index 00000000000..c583d3016e0 --- /dev/null +++ b/bsp/nxp/imx/imx91/applications/SConscript @@ -0,0 +1,9 @@ +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') + Glob('*.cpp') +CPPPATH = [cwd] + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/nxp/imx/imx91/applications/main.c b/bsp/nxp/imx/imx91/applications/main.c new file mode 100644 index 00000000000..780e49d0918 --- /dev/null +++ b/bsp/nxp/imx/imx91/applications/main.c @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2006-2022, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2017-5-30 Bernard the first version + */ + +#include + +int main(int argc, char** argv) +{ + rt_kprintf("Hi, this is RT-Thread!!\n"); + + return 0; +} diff --git a/bsp/nxp/imx/imx91/drivers/Kconfig b/bsp/nxp/imx/imx91/drivers/Kconfig new file mode 100644 index 00000000000..3ca01326427 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/Kconfig @@ -0,0 +1,23 @@ +menu "Hardware Drivers Config" + +config BSP_USING_EARLY_CONSOLE + bool "Enable early console" + default n + +config BSP_USING_UART1 + bool "Enable UART1" + default y + +config BSP_USING_GIC + bool "Enalbe GIC" + default y + +config BSP_USING_GICV3 + bool "Enable GICv3" + default y + +config KERNEL_ASPACE_START + hex "Kernel aspace start address" + default 0x1000000 + +endmenu \ No newline at end of file diff --git a/bsp/nxp/imx/imx91/drivers/SConscript b/bsp/nxp/imx/imx91/drivers/SConscript new file mode 100644 index 00000000000..356b6faf24d --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/SConscript @@ -0,0 +1,15 @@ +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') + +CPPPATH = [cwd] + +objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/board.c b/bsp/nxp/imx/imx91/drivers/board.c new file mode 100644 index 00000000000..0fcea165f62 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/board.c @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2025-08-10 Siwei Xu Add i.MX91 SDK + * 2025-09-15 Siwei Xu Fix LPUART driver + * 2025-10-08 Siwei Xu Fix MMU Enable issues + */ +#include "board.h" + +#include "serial.h" +#include "MIMX9131.h" + +#include +#include +#include +#include +#include + +#include + +#define DRAM_MAP_START KERNEL_BOOT_ADDR +#define DRAM_MAP_SIZE MB_SIZE(256) + +#define MEM_DESC(vaddr_start, size, paddr_start, attr) \ + vaddr_start, (vaddr_start + size - 1uL), paddr_start, attr + +extern volatile unsigned long MMUTable[]; + +static struct mem_desc platform_mem_desc[] = { + { MEM_DESC(DRAM_MAP_START, DRAM_MAP_SIZE, DRAM_MAP_START, NORMAL_MEM) }, // 0x8000_0000 + { MEM_DESC(LPUART1_BASE, LPUART1_SIZE, LPUART1_BASE, DEVICE_MEM) }, // 0x4438_0000 + { MEM_DESC(CCM_CTRL_BASE, CCM_CTRL_SIZE, CCM_CTRL_BASE, DEVICE_MEM) }, // 0x4445_8000 + { MEM_DESC(GIC_DISTRIBUTOR_BASE, GIC_DISTRIBUTOR_SIZE, GIC_DISTRIBUTOR_BASE, DEVICE_MEM) }, // 0x4800_0000 + { MEM_DESC(GIC_REDISTRIBUTOR_BASE, GIC_REDISTRIBUTOR_SIZE, GIC_REDISTRIBUTOR_BASE, DEVICE_MEM) }, // 0x4804_0000 +}; + +static const rt_uint32_t platform_mem_desc_size = sizeof(platform_mem_desc) / sizeof(platform_mem_desc[0]); + +static rt_region_t init_page_region; + +static rt_base_t get_sctlr_el1() +{ + rt_base_t sctlr = 0; + __asm__ volatile("mrs %0, sctlr_el1" : "=r"(sctlr)); + return sctlr; +} + +/** + * This function will initialize hardware board + */ +void rt_hw_board_init(void) +{ + rt_hw_earlycon_ioremap(); + rt_hw_earlycon_print_hex("sctlr_el1: ", get_sctlr_el1()); + rt_hw_mmu_map_init(&rt_kernel_space, (void *)0x080000000000, 0x10000000, (size_t *)MMUTable, 0); + + init_page_region.start = BOARD_PAGE_START; + init_page_region.end = BOARD_PAGE_END; + rt_page_init(init_page_region); + + rt_hw_mmu_setup(&rt_kernel_space, platform_mem_desc, platform_mem_desc_size); + +#ifdef RT_USING_HEAP + /* initialize system heap */ + rt_system_heap_init((void *)BOARD_HEAP_BEGIN, (void *)BOARD_HEAP_END); +#endif + + /* initialize hardware interrupt */ + rt_hw_interrupt_init(); + + /* initialize uart */ + rt_hw_uart_init(); + + /* initialize timer for os tick */ + rt_hw_gtimer_init(); + + rt_components_board_init(); + rt_console_set_device(RT_CONSOLE_DEVICE_NAME); +} diff --git a/bsp/nxp/imx/imx91/drivers/board.h b/bsp/nxp/imx/imx91/drivers/board.h new file mode 100644 index 00000000000..de5153f9234 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/board.h @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2025-08-10 Siwei Xu Add i.MX91 SDK + * 2025-09-15 Siwei Xu Fix LPUART driver + * 2025-12-10 Siwei Xu Fix ioremap issues + */ + +#ifndef __BOARD_H__ +#define __BOARD_H__ + +#include "imx91.h" +#include "rtconfig.h" + +#ifndef KERNEL_BOOT_ADDR +#define KERNEL_BOOT_ADDR (ARCH_RAM_OFFSET + ARCH_TEXT_OFFSET) +#endif + +/* defined in linker script */ +extern unsigned char __bss_end; + +#define BOARD_PAGE_START RT_ALIGN((rt_base_t) & __bss_end, KB_SIZE(4)) +#define BOARD_PAGE_END (BOARD_PAGE_START + MB_SIZE(1)) + +#define BOARD_HEAP_BEGIN (BOARD_PAGE_END) +#define BOARD_HEAP_END (BOARD_HEAP_BEGIN + MB_SIZE(32)) + +void rt_hw_board_init(void); + +#endif diff --git a/bsp/nxp/imx/imx91/drivers/imx91.c b/bsp/nxp/imx/imx91/drivers/imx91.c new file mode 100644 index 00000000000..64380f07a19 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/imx91.c @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2025-08-10 Siwei Xu Add i.MX91 SDK + */ +#include "imx91.h" + +#include "MIMX9131.h" + +#include +#include + +rt_base_t platform_get_gic_dist_base(void) +{ + return (rt_base_t)rt_ioremap((void *)GIC_DISTRIBUTOR_BASE, GIC_DISTRIBUTOR_SIZE); +} + +rt_base_t platform_get_gic_redist_base(void) +{ + return (rt_base_t)rt_ioremap((void *)GIC_REDISTRIBUTOR_BASE, GIC_REDISTRIBUTOR_SIZE); +} + +rt_base_t platform_get_gic_cpu_base(void) +{ + return (rt_base_t)rt_ioremap((void *)GIC_REDISTRIBUTOR_BASE, GIC_REDISTRIBUTOR_SIZE); +} diff --git a/bsp/nxp/imx/imx91/drivers/imx91.h b/bsp/nxp/imx/imx91/drivers/imx91.h new file mode 100644 index 00000000000..fd8452c10d5 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/imx91.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2025-08-10 Siwei Xu Add i.MX91 SDK + */ + +#ifndef __IMX91_H__ +#define __IMX91_H__ + +#include + +/* 'ARM_GIC_MAX_NR' is the number of cores, gicv3.c required */ +#define ARM_GIC_MAX_NR 1 + +/* The platform maximum interrupts, interrupt.c required */ +#define ARM_GIC_NR_IRQS 256 + +/* Number of interrupts in the Vector table, interrupt.c required */ +#define MAX_HANDLERS 256 + +/* interrupt.c required. */ +rt_base_t platform_get_gic_dist_base(void); +rt_base_t platform_get_gic_redist_base(void); +rt_base_t platform_get_gic_cpu_base(void); + +/* interrupt.c required */ +#define GIC_IRQ_START 0 + +/* gic.c required */ +#define __REG32(x) (*((volatile unsigned int *)(x))) + +#define KB_SIZE(x) ((x) * 1024) +#define MB_SIZE(x) ((x) * 1024 * 1024) + +#define GIC_DISTRIBUTOR_SIZE KB_SIZE(64) +#define GIC_REDISTRIBUTOR_SIZE KB_SIZE(768) + +#define LPUART1_SIZE KB_SIZE(64) +#define CCM_CTRL_SIZE KB_SIZE(64) + +#endif /* __IMX91_H__ */ + diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/CMSIS_Include_core_ca.cmake b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/CMSIS_Include_core_ca.cmake new file mode 100644 index 00000000000..5b5997984ec --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/CMSIS_Include_core_ca.cmake @@ -0,0 +1,12 @@ +#Description: CMSIS Include For Cortex-A; user_visible: True +include_guard(GLOBAL) +message("CMSIS_Include_core_ca component is included.") + +target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/../Source/cache_armv8a.c + ${CMAKE_CURRENT_LIST_DIR}/../Source/mmu_armv8a.c +) + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/. +) diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cache_armv8a.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cache_armv8a.h new file mode 100644 index 00000000000..f7d52f74269 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cache_armv8a.h @@ -0,0 +1,131 @@ +/**************************************************************************//** + * @file cache_armv8a.h + * @brief CMSIS AARCH64 Cache API header file + * @version V1.0.0 + * @date 21. January 2022 + ******************************************************************************/ + +/* + * Copyright 2022 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CACHE_ARMV8A_H +#define __CACHE_ARMV8A_H + +#include +#include + +#ifdef __cplusplus + extern "C" { +#endif + +#define dcache_ops(op, operand) \ +({ \ + __asm__ volatile ("dc " __STRINGIFY(op) ", %0" \ + ::"r" (operand): "memory"); \ +}) + + +/* Invalidate instruction cache by virtual address to PoU */ +static inline void icache_invalidate_range(uintptr_t addr, size_t size) +{ + uintptr_t cur = addr; + uintptr_t end_addr = cur + size; + + /* Align address to line size */ + cur &= ~(ICACHE_LINE_SIZE - 1); + + do { + __asm__ volatile ("ic ivau, %0" ::"r" (cur): "memory"); + cur += ICACHE_LINE_SIZE; + } while (cur < end_addr); + + __DSB(); + __ISB(); +} + +/* Invalidate all instruction cache to PoU */ +static inline void icache_invalidate_all(void) +{ + __asm__ volatile ("ic iallu" ::: "memory"); + __DSB(); + __ISB(); +} + +/* Clean data cache by virtual address to PoC */ +static inline void dcache_clean_range(uintptr_t addr, size_t size) +{ + uintptr_t cur = addr; + uintptr_t end = addr + size; + + /* Align address to line size */ + cur &= ~(DCACHE_LINE_SIZE - 1); + + while (cur < end) { + dcache_ops(cvac, cur); + cur += DCACHE_LINE_SIZE; + } + + __DSB(); +} + +/* Invalidate data cache by virtual address to PoC */ +static inline void dcache_invalidate_range(uintptr_t addr, size_t size) +{ + uintptr_t cur = addr; + uintptr_t end = addr + size; + + if (end & (DCACHE_LINE_SIZE - 1)) { + end &= ~(DCACHE_LINE_SIZE - 1); + dcache_ops(civac, end); + } + + if (cur & (DCACHE_LINE_SIZE - 1)) { + cur &= ~(DCACHE_LINE_SIZE - 1); + if (cur != end) + dcache_ops(civac, cur); + cur += DCACHE_LINE_SIZE; + } + + while (cur < end) { + dcache_ops(ivac, cur); + cur += DCACHE_LINE_SIZE; + } + + __DSB(); +} + +/* Clean and invalidate data cache by virtual address to PoC */ +static inline void dcache_clean_invalidate_range(uintptr_t addr, size_t size) +{ + uintptr_t cur = addr; + uintptr_t end = addr + size; + + /* Align address to line size */ + cur &= ~(DCACHE_LINE_SIZE - 1); + + while (cur < end) { + dcache_ops(civac, cur); + cur += DCACHE_LINE_SIZE; + } + + __DSB(); +} + +void dcache_clean_all(void); +void dcache_invalidate_all(void); +void dcache_clean_invalidate_all(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __CACHE_ARMV8A_H */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_compiler.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_compiler.h new file mode 100644 index 00000000000..3b8d8ca33ee --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_compiler.h @@ -0,0 +1,92 @@ +/**************************************************************************//** + * @file cmsis_gcc.h + * @brief CMSIS compiler generic header file + * @version V1.0.0 + * @date 05. october 2021 + ******************************************************************************/ +/* + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __CMSIS_COMPILER_H +#define __CMSIS_COMPILER_H + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #pragma clang system_header /* treat file as system include file */ +#endif + +#include +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/* Define compiler macros for CPU architecture, if not yet defined by the + * compiler default macros + */ +#if __ARM_ARCH_8A__ +/* Macro already defined */ +#else + #if defined(__ARM_ARCH_8A) && __ARM_ARCH_8A == 1 + #define __ARM_ARCH_8A__ 1 + #endif /* __ARM_ARCH_8A == 1 */ +#endif + +#if defined ( __CC_ARM ) + #define __ASM __asm /*!< asm keyword for ARM Compiler */ + #define __INLINE __inline /*!< inline keyword for ARM Compiler */ + #define __STATIC_INLINE static __inline + +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #define __ASM __asm /*!< asm keyword for ARM Compiler */ + #define __INLINE __inline /*!< inline keyword for ARM Compiler */ + #define __STATIC_INLINE static __inline + +#elif defined ( __GNUC__ ) + #include "cmsis_gcc.h" + +#elif defined ( __ICCARM__ ) + #include "cmsis_iar.h" + +#else + #error Unknown compiler +#endif + +/* IO definitions (access restrictions to peripheral registers) */ +#ifdef __cplusplus + #define __I volatile /*!< Defines 'read only' permissions */ +#else + #define __I volatile const /*!< Defines 'read only' permissions */ +#endif +#define __O volatile /*!< Defines 'write only' permissions */ +#define __IO volatile /*!< Defines 'read / write' permissions */ + +/* following defines should be used for structure members */ +#define __IM volatile const /*! Defines 'read only' structure member permissions */ +#define __OM volatile /*! Defines 'write only' structure member permissions */ +#define __IOM volatile /*! Defines 'read / write' structure member permissions */ +#define RESERVED(N, T) T RESERVED##N; // placeholder struct members used for "reserved" areas + +#ifdef __cplusplus +} +#endif + +#endif /* __CMSIS_COMPILER_H */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_gcc.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_gcc.h new file mode 100644 index 00000000000..50b706a6ed2 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_gcc.h @@ -0,0 +1,269 @@ +/**************************************************************************//** + * @file cmsis_gcc.h + * @brief CMSIS compiler specific macros, functions, instructions + * @version V1.0.0 + * @date 05. october 2021 + ******************************************************************************/ +/* + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021-2022 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __CMSIS_GCC_H +#define __CMSIS_GCC_H + +/* CMSIS compiler specific defines */ +#ifndef __ASM + #define __ASM __asm +#endif +#ifndef __FORCEINLINE + #define __FORCEINLINE __attribute__((always_inline)) +#endif +#ifndef __INLINE + #define __INLINE inline +#endif +#ifndef __STATIC_INLINE + #define __STATIC_INLINE static inline +#endif +#ifndef __STATIC_FORCEINLINE + #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline +#endif +#ifndef __WEAK + #define __WEAK __attribute__((weak)) +#endif + +#ifndef __STRINGIFY + #define __STRINGIFY(x) #x +#endif + +#ifndef __MSR + #define __MSR(sysreg, val) \ + __asm volatile ("msr "__STRINGIFY(sysreg)", %0\n" : : "r"((uint64_t)(val))) +#endif + +#ifndef __MRS +#define __MRS(sysreg, pVal) \ + __asm volatile ("mrs %0, "__STRINGIFY(sysreg)"\n" : "=r"((*pVal))) +#endif + +#ifndef __WFI +#define __WFI() \ + __asm volatile ("wfi") +#endif + + +/* ########################### Core Function Access ########################### */ +/** \ingroup CMSIS_Core_FunctionInterface + \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions + @{ + */ + + +/** + \brief Get Interrupt Mask Bits + \details Returns the current state of the interrupt mask bits from the DAIF register. + \return Interrupt Mask value + */ +__STATIC_FORCEINLINE uint64_t __get_DAIF(void) +{ + uint64_t result; + __MRS(DAIF, &result); + return result; +} + + +/** + \brief Enable IRQ Interrupts + \details Enables IRQ interrupts by clearing the I-bit in the DAIF. + */ +__STATIC_FORCEINLINE void __enable_irq(void) +{ + __ASM volatile ("msr daifclr, #2" : : : "memory"); +} + + +/** + \brief Disable IRQ Interrupts + \details Disables IRQ interrupts by setting the I-bit in the DAIF. + */ +__STATIC_FORCEINLINE void __disable_irq(void) +{ + __ASM volatile ("msr daifset, #2" : : : "memory"); +} + + +/*@} end of CMSIS_Core_RegAccFunctions */ + + +/* ########################## Core Instruction Access ######################### */ +/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface + Access to dedicated instructions + @{ +*/ + +/** + \brief Hypervisor call with 2 arguments + \details Makes an hypervisor call with two arguments stored in x0 and x1. + */ +#define HVC_2(imm, x0, x1) __asm volatile ( \ + "mov x0, %0 \n\t" \ + "mov x1, %1 \n\t" \ + "hvc #" __STRINGIFY(imm) "\n\t" \ + : : "r" (x0), "r" (x1) : "x0", "x1", "memory") + +/** + \brief Multiprocessor Affinity + \details Indicates the core number in the Cortex-Axx processor. + */ +__STATIC_FORCEINLINE uint64_t __get_MPIDR_EL1(void) +{ + uint64_t result; + __MRS(MPIDR_EL1, &result); + return result; +} + +#define MPIDR_GetCoreID() \ + ({ uint64_t mpidr = __get_MPIDR_EL1(); \ + (mpidr >> (8 * MPIDR_SUPPORT_MT(mpidr))) & MPIDR_AFFLVL_MASK; }) + +/** + \brief Instruction Synchronization Barrier + \details Instruction Synchronization Barrier flushes the pipeline in the processor, + so that all instructions following the ISB are fetched from cache or memory, + after the instruction has been completed. + */ +#ifndef __ISB +__STATIC_FORCEINLINE void __ISB(void) +{ + __ASM volatile ("isb":::"memory"); +} +#endif + +/** + \brief Data Synchronization Barrier + \details Acts as a special kind of Data Memory Barrier. + It completes when all explicit memory accesses before this instruction complete. + */ +#ifndef __DSB +__STATIC_FORCEINLINE void __DSB(void) +{ + __ASM volatile ("dsb sy":::"memory"); +} +#endif + +/** + \brief Data Memory Barrier + \details Ensures the apparent order of the explicit memory operations before + and after the instruction, without ensuring their completion. + */ +#ifndef __DMB +__STATIC_FORCEINLINE void __DMB(void) +{ + __ASM volatile ("dmb sy":::"memory"); +} +#endif + +/** + \brief Reverse byte order (32 bit) + \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. + \param [in] value Value to reverse + \return Reversed value + */ +__STATIC_FORCEINLINE uint32_t __REV(uint32_t value) +{ + return __builtin_bswap32(value); +} + + +/** + \brief Reverse byte order (16 bit) + \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. + \param [in] value Value to reverse + \return Reversed value + */ +__STATIC_FORCEINLINE uint32_t __REV16(uint32_t value) +{ + return __builtin_bswap16(value); +} + +/** + \brief Breakpoint + \details Causes the processor to enter Debug state. + Debug tools can use this to investigate system state when the instruction at a particular address is reached. + \param [in] value is ignored by the processor. + If required, a debugger can use it to store additional information about the breakpoint. + */ +#define __BKPT(value) __ASM volatile ("brk "#value) + +/** + \brief No Operation + \details No Operation does nothing. This instruction can be used for code alignment purposes. + */ + +__STATIC_FORCEINLINE void __NOP(void) +{ + __ASM volatile ("nop"); +} + +/** + \brief Count leading zeros + \details Counts the number of leading zeros of a data value. + \param [in] value Value to count the leading zeros + \return number of leading zeros in value + */ +__STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value) +{ + /* Even though __builtin_clz produces a CLZ instruction on ARM, formally + __builtin_clz(0) is undefined behaviour, so handle this case specially. + This guarantees ARM-compatible results if happening to compile on a non-ARM + target, and ensures the compiler doesn't decide to activate any + optimisations using the logic "value was passed to __builtin_clz, so it + is non-zero". + ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a + single CLZ instruction. + */ + if (value == 0U) + { + return 32U; + } + return __builtin_clz(value); +} + +/** + \brief likely/unlikely() branch prediction + \details Gives hints to the compiler to favor either side of a jump instruction + \param [in] expr Boolean expression under evaluation + \return The same boolean value + */ +#ifndef unlikely +__STATIC_FORCEINLINE long unlikely(long expr) +{ + return __builtin_expect(expr, 0L); +} +#endif + +#ifndef likely +__STATIC_FORCEINLINE long likely(long expr) +{ + return __builtin_expect(expr, 1L); +} +#endif + +/*@}*/ /* end of group CMSIS_Core_InstructionInterface */ + + +#endif /* __CMSIS_GCC_H */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_iar.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_iar.h new file mode 100644 index 00000000000..1011994e119 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/cmsis_iar.h @@ -0,0 +1,30 @@ +/**************************************************************************//** + * @file cmsis_iar.h + * @brief CMSIS compiler specific macros, functions, instructions + * @version V1.0.0 + * @date 05. october 2021 + ******************************************************************************/ +/* + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef __CMSIS_IAR_H +#define __CMSIS_IAR_H + +#error Unsupported compiler + +#endif /* __CMSIS_IAR_H */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_ca53.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_ca53.h new file mode 100644 index 00000000000..f8e58439d0a --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_ca53.h @@ -0,0 +1,108 @@ +/**************************************************************************//** + * @file core_ca53.h + * @brief CMSIS Cortex-A53 Core Peripheral Access Layer Header File + * @version V1.0.0 + * @date 05. october 2021 + ******************************************************************************/ +/* + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021,2023 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CA53_H_GENERIC +#define __CORE_CA53_H_GENERIC + +#include +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ + +#define __CORTEX_Axx (53U) /*!< Cortex-Axx Core */ + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CA53_REV + #define __CA53_REV 0x0000U + #warning "__CA53_REV not defined in device header file; using default!" + #endif + + #ifndef __CACHE_PRESENT + #define __CACHE_PRESENT 1U + #warning "__CACHE_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 1U + #define __FPU_USED 1U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __GIC_PRESENT + #define __GIC_PRESENT 1U + #warning "__GIC_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MMU_PRESENT + #define __MMU_PRESENT 1U + #warning "__MMU_PRESENT not defined in device header file; using default!" + #endif +#endif + +#include "cmsis_compiler.h" /* Core Instruction and Function Access */ + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CA53_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CA53_H_DEPENDANT +#define __CORE_CA53_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************* + * Cache Functions + ******************************************************************************/ +#define ICACHE_LINE_SIZE (64) +#define DCACHE_LINE_SIZE (64) + +#include "core_common.h" + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CA53_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_ca55.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_ca55.h new file mode 100644 index 00000000000..573a6e90704 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_ca55.h @@ -0,0 +1,109 @@ +/**************************************************************************//** + * @file core_ca55.h + * @brief CMSIS Cortex-A55 Core Peripheral Access Layer Header File + * @version V1.0.0 + * @date Nov. 2022 + ******************************************************************************/ +/* + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021,2023 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_CA55_H_GENERIC +#define __CORE_CA55_H_GENERIC + +#include +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************* + * CMSIS definitions + ******************************************************************************/ + +#define __CORTEX_Axx (55U) /*!< Cortex-Axx Core */ + +/* check device defines and use defaults */ +#if defined __CHECK_DEVICE_DEFINES + #ifndef __CA55_REV + #define __CA55_REV 0x0000U + #warning "__CA55_REV not defined in device header file; using default!" + #endif + + #ifndef __CACHE_PRESENT + #define __CACHE_PRESENT 1U + #warning "__CACHE_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __FPU_PRESENT + #define __FPU_PRESENT 1U + #define __FPU_USED 1U + #warning "__FPU_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __GIC_PRESENT + #define __GIC_PRESENT 1U + #warning "__GIC_PRESENT not defined in device header file; using default!" + #endif + + #ifndef __MMU_PRESENT + #define __MMU_PRESENT 1U + #warning "__MMU_PRESENT not defined in device header file; using default!" + #endif +#endif + +#include "cmsis_compiler.h" /* Core Instruction and Function Access */ + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CA55_H_GENERIC */ + +#ifndef __CMSIS_GENERIC + +#ifndef __CORE_CA55_H_DEPENDANT +#define __CORE_CA55_H_DEPENDANT + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************* + * Cache Functions + ******************************************************************************/ + +#define ICACHE_LINE_SIZE (64) +#define DCACHE_LINE_SIZE (64) + +#include "core_common.h" + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_CA55_H_DEPENDANT */ + +#endif /* __CMSIS_GENERIC */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_common.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_common.h new file mode 100644 index 00000000000..e197390722a --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/core_common.h @@ -0,0 +1,138 @@ +/**************************************************************************//** + * @file core_common.h + * @brief CMSIS Cortex-A AArch64 Core Common Header File + * @version V1.0.0 + * @date 06. Feb 2023 + ******************************************************************************/ +/* + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2023 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __CORE_COMMON_H +#define __CORE_COMMON_H + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************* + * Register Definitions + ******************************************************************************/ + +#ifndef BIT +#define BIT(n) (1 << (n)) +#endif + +/* DAIF Register */ +#define DAIF_F_BIT BIT(6) +#define DAIF_I_BIT BIT(7) +#define DAIF_A_BIT BIT(8) +#define DAIF_D_BIT BIT(9) + +/* System Control Register */ +#define SCTLR_M_BIT BIT(0) +#define SCTLR_A_BIT BIT(1) +#define SCTLR_C_BIT BIT(2) +#define SCTLR_SA_BIT BIT(3) +#define SCTLR_I_BIT BIT(12) + +/* Exception levels EL0-EL3 */ +#define MODE_EL_SHIFT (0x2) +#define MODE_EL_MASK (0x3) + +#define MODE_EL3 (0x3) +#define MODE_EL2 (0x2) +#define MODE_EL1 (0x1) +#define MODE_EL0 (0x0) + +#define GET_EL(_mode) (((_mode) >> MODE_EL_SHIFT) & MODE_EL_MASK) + +/* MPIDR */ +#define MPIDR_AFFLVL_MASK (0xffULL) +#define MPIDR_AFF0_SHIFT (0) +#define MPIDR_AFF1_SHIFT (8) +#define MPIDR_AFF2_SHIFT (16) +#define MPIDR_AFF3_SHIFT (32) +#define MPIDR_MT_MASK (0x1) +#define MPIDR_MT_SHIFT (24) + +#define MPIDR_SUPPORT_MT(mpidr) ((mpidr >> MPIDR_MT_SHIFT) & MPIDR_MT_MASK) + + +#define MPIDR_TO_AFF_LEVEL(mpidr, aff_level) \ + (((mpidr) >> MPIDR_AFF##aff_level##_SHIFT) & MPIDR_AFFLVL_MASK) + +#define MPIDR_AFFINITY_MASK \ + ((MPIDR_AFFLVL_MASK << MPIDR_AFF3_SHIFT) | \ + (MPIDR_AFFLVL_MASK << MPIDR_AFF2_SHIFT) | \ + (MPIDR_AFFLVL_MASK << MPIDR_AFF1_SHIFT) | \ + (MPIDR_AFFLVL_MASK << MPIDR_AFF0_SHIFT)) + +/******************************************************************************* + * Cache Functions + ******************************************************************************/ + +#if defined (__CACHE_PRESENT) && (__CACHE_PRESENT == 1U) + + #include "cache_armv8a.h" + +#endif + + +/******************************************************************************* + * GIC Functions + ******************************************************************************/ + +#if defined (__GIC_PRESENT) && (__GIC_PRESENT == 1U) + + #include "gic_v3.h" + +#endif + + +/******************************************************************************* + * MMU Functions + ******************************************************************************/ + +#if defined (__MMU_PRESENT) && (__MMU_PRESENT == 1U) + + #include "mmu_armv8a.h" + +#endif + + +/******************************************************************************* + * Timer Functions + ******************************************************************************/ + +#if defined (__TIM_PRESENT) && (__TIM_PRESENT == 1U) + #include "timer_armv8a.h" +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* __CORE_COMMON_H */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/gic_v3.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/gic_v3.h new file mode 100644 index 00000000000..b3a229a8a82 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/gic_v3.h @@ -0,0 +1,949 @@ +/**************************************************************************//** + * @file gic_v3.h + * @brief CMSIS Cortex-A53 Generic Interrupt Controller API header file + * @version V1.0.1 + * @date 05. october 2021 + ******************************************************************************/ +/* + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021-2023 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __GIC_V3_H +#define __GIC_V3_H + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************* + * GIC Data Types + ******************************************************************************/ + +/** \brief AArch64 System registers to access the Generic Interrupt Controller CPU interface +*/ +#if defined(__GNUC__) + #define ICC_BPR0_EL1 S3_0_C12_C8_3 + #define ICC_BPR1_EL1 S3_0_C12_C12_3 + #define ICC_CTLR_EL1 S3_0_C12_C12_4 + #define ICC_CTLR_EL3 S3_6_C12_C12_4 + #define ICC_EOIR0_EL1 S3_0_C12_C8_1 + #define ICC_EOIR1_EL1 S3_0_C12_C12_1 + #define ICC_HPPIR0_EL1 S3_0_C12_C8_2 + #define ICC_HPPIR1_EL1 S3_0_C12_C12_2 + #define ICC_IAR0_EL1 S3_0_C12_C8_0 + #define ICC_IAR1_EL1 S3_0_C12_C12_0 + #define ICC_IGRPEN0_EL1 S3_0_C12_C12_6 + #define ICC_IGRPEN1_EL1 S3_0_C12_C12_7 + #define ICC_IGRPEN1_EL3 S3_6_C12_C12_7 + #define ICC_PMR_EL1 S3_0_C4_C6_0 + #define ICC_RPR_EL1 S3_0_C12_C11_3 + #define ICC_SGI0R_EL1 S3_0_C12_C11_7 + #define ICC_SGI1R_EL1 S3_0_C12_C11_5 + #define ICC_SRE_EL1 S3_0_C12_C12_5 + #define ICC_SRE_EL2 S3_4_C12_C9_5 + #define ICC_SRE_EL3 S3_6_C12_C12_5 +#endif /* __GNUC__ */ + +/* ICC_SGIR */ +#define ICC_SGIR_TARGETLIST_SHIFT (0) +#define ICC_SGIR_TARGETLIST_MASK (0xffff) +#define ICC_SGIR_AFF_MASK (0xff) +#define ICC_SGIR_AFF1_SHIFT (16) +#define ICC_SGIR_INTID_SHIFT (24) +#define ICC_SGIR_INTID_MASK (0xf) +#define ICC_SGIR_AFF2_SHIFT (32) +#define ICC_SGIR_IRM_SHIFT (40) +#define ICC_SGIR_IRM_MASK (0x1) +#define ICC_SGIR_RS_SHIFT (44) +#define ICC_SGIR_RS_MASK (0xf) +#define ICC_SGIR_AFF3_SHIFT (48) + +#define MPIDR_TO_RS(mpidr) (MPIDR_TO_AFF_LEVEL(mpidr, 0) >> 4) + +#define COMPOSE_ICC_SGIR_VALUE(aff3, aff2, aff1, intid, irm, rs, tlist) \ + ((((uint64_t)(aff3) & ICC_SGIR_AFF_MASK) << ICC_SGIR_AFF3_SHIFT) | \ + (((uint64_t)(rs) & ICC_SGIR_RS_MASK) << ICC_SGIR_RS_SHIFT) | \ + (((uint64_t)(irm) & ICC_SGIR_IRM_MASK) << ICC_SGIR_IRM_SHIFT) | \ + (((uint64_t)(aff2) & ICC_SGIR_AFF_MASK) << ICC_SGIR_AFF2_SHIFT) | \ + (((intid) & ICC_SGIR_INTID_MASK) << ICC_SGIR_INTID_SHIFT) | \ + (((aff1) & ICC_SGIR_AFF_MASK) << ICC_SGIR_AFF1_SHIFT) | \ + (((tlist) & ICC_SGIR_TARGETLIST_MASK) << ICC_SGIR_TARGETLIST_SHIFT)) + +#define GIC_REDISTRIBUTOR_STRIDE (0x20000) +#define GICR_SGI_BASE_OFF (0x10000) + +#define GICR_TYPER_LAST_SHIFT (4) +#define GICR_TYPER_LAST_MASK (1 << GICR_TYPER_LAST_SHIFT) +#define GICR_TYPER_AFF_SHIFT (32) + +#define GICR_WAKER_PS_SHIFT (1) +#define GICR_WAKER_CA_SHIFT (2) + + +/** \brief Structure type to access the Generic Interrupt Controller Distributor (GICD) +*/ +typedef struct +{ + __IOM uint32_t CTLR; /*!< \brief Offset: 0x000 (R/W) Distributor Control Register */ + __IM uint32_t TYPER; /*!< \brief Offset: 0x004 (R/ ) Interrupt Controller Type Register */ + __IM uint32_t IIDR; /*!< \brief Offset: 0x008 (R/ ) Distributor Implementer Identification Register */ + RESERVED(0, uint32_t) + __IOM uint32_t STATUSR; /*!< \brief Offset: 0x010 (R/W) Error Reporting Status Register, optional */ + RESERVED(1[11], uint32_t) + __OM uint32_t SETSPI_NSR; /*!< \brief Offset: 0x040 ( /W) Set SPI Register */ + RESERVED(2, uint32_t) + __OM uint32_t CLRSPI_NSR; /*!< \brief Offset: 0x048 ( /W) Clear SPI Register */ + RESERVED(3, uint32_t) + __OM uint32_t SETSPI_SR; /*!< \brief Offset: 0x050 ( /W) Set SPI, Secure Register */ + RESERVED(4, uint32_t) + __OM uint32_t CLRSPI_SR; /*!< \brief Offset: 0x058 ( /W) Clear SPI, Secure Register */ + RESERVED(5[9], uint32_t) + __IOM uint32_t IGROUPR[32]; /*!< \brief Offset: 0x080 (R/W) Interrupt Group Registers */ + __IOM uint32_t ISENABLER[32]; /*!< \brief Offset: 0x100 (R/W) Interrupt Set-Enable Registers */ + __IOM uint32_t ICENABLER[32]; /*!< \brief Offset: 0x180 (R/W) Interrupt Clear-Enable Registers */ + __IOM uint32_t ISPENDR[32]; /*!< \brief Offset: 0x200 (R/W) Interrupt Set-Pending Registers */ + __IOM uint32_t ICPENDR[32]; /*!< \brief Offset: 0x280 (R/W) Interrupt Clear-Pending Registers */ + __IOM uint32_t ISACTIVER[32]; /*!< \brief Offset: 0x300 (R/W) Interrupt Set-Active Registers */ + __IOM uint32_t ICACTIVER[32]; /*!< \brief Offset: 0x380 (R/W) Interrupt Clear-Active Registers */ + __IOM uint32_t IPRIORITYR[255]; /*!< \brief Offset: 0x400 (R/W) Interrupt Priority Registers */ + RESERVED(6, uint32_t) + __IOM uint32_t ITARGETSR[255]; /*!< \brief Offset: 0x800 (R/W) Interrupt Targets Registers */ + RESERVED(7, uint32_t) + __IOM uint32_t ICFGR[64]; /*!< \brief Offset: 0xC00 (R/W) Interrupt Configuration Registers */ + __IOM uint32_t IGRPMODR[32]; /*!< \brief Offset: 0xD00 (R/W) Interrupt Group Modifier Registers */ + RESERVED(8[32], uint32_t) + __IOM uint32_t NSACR[64]; /*!< \brief Offset: 0xE00 (R/W) Non-secure Access Control Registers */ + __OM uint32_t SGIR; /*!< \brief Offset: 0xF00 ( /W) Software Generated Interrupt Register */ + RESERVED(9[3], uint32_t) + __IOM uint32_t CPENDSGIR[4]; /*!< \brief Offset: 0xF10 (R/W) SGI Clear-Pending Registers */ + __IOM uint32_t SPENDSGIR[4]; /*!< \brief Offset: 0xF20 (R/W) SGI Set-Pending Registers */ + RESERVED(10[5172], uint32_t) + __IOM uint64_t IROUTER[988]; /*!< \brief Offset: 0x6000(R/W) Interrupt Routing Registers */ +} GICDistributor_Type; + +#define GICDistributor ((GICDistributor_Type *) GIC_DISTRIBUTOR_BASE ) /*!< \brief GIC Distributor register set access pointer */ + +/** \brief Structure type to access the Generic Interrupt Controller Redistributor (GICR) +*/ +typedef struct +{ + __IOM uint32_t CTLR; /*!< \brief Offset: 0x000 (R/W) Redistributor Control Register */ + __IM uint32_t IIDR; /*!< \brief Offset: 0x004 (R/ ) Implementer Identification Register */ + __IM uint64_t TYPER; /*!< \brief Offset: 0x008 (R/ ) Redistributor Type Register */ + __IOM uint32_t STATUSR; /*!< \brief Offset: 0x010 (R/W) Error Reporting Status Register, optional */ + __IOM uint32_t WAKER; /*!< \brief Offset: 0x014 (R/W) Redistributor Wake Register */ + __IM uint32_t MPAMIDR; /*!< \brief Offset: 0x018 (R/ ) Report maximum PARTID and PMG Register */ + __IOM uint32_t PARTIDR; /*!< \brief Offset: 0x01C (R/W) Set PARTID and PMG Register */ + RESERVED(1[8], uint32_t) + __OM uint32_t SETLPIR; /*!< \brief Offset: 0x040 ( /W) Set LPI Pending Register */ + RESERVED(2, uint32_t) + __OM uint32_t CLRLPIR; /*!< \brief Offset: 0x048 ( /W) Clear LPI Pending Register */ + RESERVED(3[9], uint32_t) + __IOM uint32_t PROPBASER; /*!< \brief Offset: 0x070 (R/W) Redistributor Properties Base Address Register */ + RESERVED(4, uint32_t) + __IOM uint32_t PENDBASER; /*!< \brief Offset: 0x078 (R/W) Redistributor LPI Pending Table Base Address Register */ + RESERVED(5[9], uint32_t) + __OM uint32_t INVLPIR; /*!< \brief Offset: 0x0A0 ( /W) Redistributor Invalidate LPI Register */ + RESERVED(6[3], uint32_t) + __OM uint32_t INVALLR; /*!< \brief Offset: 0x0B0 ( /W) Redistributor Invalidate All Register */ + RESERVED(7[3], uint32_t) + __IM uint32_t SYNCR; /*!< \brief Offset: 0x0C0 (R/ ) Redistributor Synchronize Register */ +} GICRedistributor_Type; + +/* Memory mapped GIC interface may be disabled when ICC_SRE_ELx.SRE set 1 by hypervisor. + In this case we will be using MSR/MRS system registers. */ +#ifdef GIC_INTERFACE_BASE + +/** \brief Structure type to access the Generic Interrupt Controller Interface (GICC) +*/ +typedef struct +{ + __IOM uint32_t CTLR; /*!< \brief Offset: 0x000 (R/W) CPU Interface Control Register */ + __IOM uint32_t PMR; /*!< \brief Offset: 0x004 (R/W) Interrupt Priority Mask Register */ + __IOM uint32_t BPR; /*!< \brief Offset: 0x008 (R/W) Binary Point Register */ + __IM uint32_t IAR; /*!< \brief Offset: 0x00C (R/ ) Interrupt Acknowledge Register */ + __OM uint32_t EOIR; /*!< \brief Offset: 0x010 ( /W) End Of Interrupt Register */ + __IM uint32_t RPR; /*!< \brief Offset: 0x014 (R/ ) Running Priority Register */ + __IM uint32_t HPPIR; /*!< \brief Offset: 0x018 (R/ ) Highest Priority Pending Interrupt Register */ + __IOM uint32_t ABPR; /*!< \brief Offset: 0x01C (R/W) Aliased Binary Point Register */ + __IM uint32_t AIAR; /*!< \brief Offset: 0x020 (R/ ) Aliased Interrupt Acknowledge Register */ + __OM uint32_t AEOIR; /*!< \brief Offset: 0x024 ( /W) Aliased End Of Interrupt Register */ + __IM uint32_t AHPPIR; /*!< \brief Offset: 0x028 (R/ ) Aliased Highest Priority Pending Interrupt Register */ + __IOM uint32_t STATUSR; /*!< \brief Offset: 0x02C (R/W) Error Reporting Status Register, optional */ + RESERVED(1[40], uint32_t) + __IOM uint32_t APR[4]; /*!< \brief Offset: 0x0D0 (R/W) Active Priority Register */ + __IOM uint32_t NSAPR[4]; /*!< \brief Offset: 0x0E0 (R/W) Non-secure Active Priority Register */ + RESERVED(2[3], uint32_t) + __IM uint32_t IIDR; /*!< \brief Offset: 0x0FC (R/ ) CPU Interface Identification Register */ + RESERVED(3[960], uint32_t) + __OM uint32_t DIR; /*!< \brief Offset: 0x1000( /W) Deactivate Interrupt Register */ +} GICInterface_Type; + +#define GICInterface ((GICInterface_Type *) GIC_INTERFACE_BASE ) /*!< \brief GIC Interface register set access pointer */ +#endif /* GIC_INTERFACE_BASE */ + +/* ctrl register access in non-secure */ +#define GICD_CTLR_RWP 31 +#define GICD_CTLR_ARE_NS 4 +#define GICD_CTLR_ENGRP1A 1 +#define GICD_CTLR_ENGRP1 0 + +#define GICR_CTLR_RWP 3 + +enum gic_rwp { + GICD_RWP, + GICR_RWP, +}; + +/******************************************************************************* + * GIC Functions + ******************************************************************************/ + +/* ########################## GIC functions ###################################### */ + +/** \brief Get the recomposed MPIDR_EL1 Affinity fields. +* the recomposed Affinity value format is (aff3:aff2:aff1:aff0) +*/ +__STATIC_INLINE uint32_t GIC_MPIDRtoAffinity(void) +{ + uint32_t aff3, aff2, aff1, aff0, aff; + uint64_t mpidr = __get_MPIDR_EL1(); + + aff0 = MPIDR_TO_AFF_LEVEL(mpidr, 0); + aff1 = MPIDR_TO_AFF_LEVEL(mpidr, 1); + aff2 = MPIDR_TO_AFF_LEVEL(mpidr, 2); + aff3 = MPIDR_TO_AFF_LEVEL(mpidr, 3); + + aff = (aff0 & MPIDR_AFFLVL_MASK) << 0 | + (aff1 & MPIDR_AFFLVL_MASK) << 8 | + (aff2 & MPIDR_AFFLVL_MASK) << 16 | + (aff3 & MPIDR_AFFLVL_MASK) << 24; + + return aff; +} + +/** \brief Get the Redistributor base. +*/ +__STATIC_INLINE GICRedistributor_Type *GIC_GetRdist(void) +{ + uintptr_t rd_addr = GIC_REDISTRIBUTOR_BASE; + uint32_t rd_aff, aff = GIC_MPIDRtoAffinity(); + uint64_t rd_typer; + + do { + rd_typer = ((GICRedistributor_Type *)rd_addr)->TYPER; + rd_aff = rd_typer >> GICR_TYPER_AFF_SHIFT; + + if (rd_aff == aff) + return (GICRedistributor_Type *)rd_addr; + + rd_addr += GIC_REDISTRIBUTOR_STRIDE; + } while (!(rd_typer & GICR_TYPER_LAST_MASK)); + + return NULL; +} + +/** \brief Get the Redistributor SGI_base. +*/ +__STATIC_INLINE void *GIC_GetRdistSGIBase(void *rd_base) +{ + return (void *)((uintptr_t)rd_base + GICR_SGI_BASE_OFF); +} + +/** \brief Wait for register write pending. +*/ +__STATIC_INLINE void GIC_WaitRWP(enum gic_rwp rwp) +{ + uint32_t rwp_mask; + uint32_t __IM *base; + + if (rwp == GICR_RWP) { + base = &GIC_GetRdist()->CTLR; + if (!base) + return; + rwp_mask = BIT(GICR_CTLR_RWP); + } else if (rwp == GICD_RWP) { + base = &GICDistributor->CTLR; + rwp_mask = BIT(GICD_CTLR_RWP); + } else { + return; + } + + while (*base & rwp_mask) + ; +} + +/** \brief Get the Affinity Routing status. +*/ +__STATIC_INLINE bool GIC_GetARE(void) +{ + return !!(GICDistributor->CTLR & 0x30); +} + +/** \brief Disable the interrupt distributor using the GIC's CTLR register. +*/ +__STATIC_INLINE void GIC_DisableDistributor(void) +{ + GICDistributor->CTLR &=~1U; + GIC_WaitRWP(GICD_RWP); +} + +/** \brief Read the GIC's TYPER register. +* \return GICDistributor_Type::TYPER +*/ +__STATIC_INLINE uint32_t GIC_DistributorInfo(void) +{ + return (GICDistributor->TYPER); +} + +/** \brief Reads the GIC's IIDR register. +* \return GICDistributor_Type::IIDR +*/ +__STATIC_INLINE uint32_t GIC_DistributorImplementer(void) +{ + return (GICDistributor->IIDR); +} + +/** \brief Sets the GIC's ITARGETSR register for the given interrupt. +* \param [in] IRQn Interrupt to be configured. +* \param [in] cpu_target CPU interfaces to assign this interrupt to. +*/ +__STATIC_INLINE void GIC_SetTarget(IRQn_Type IRQn, uint64_t cpu_target) +{ + if (IRQn >= 32) + { + if (GIC_GetARE()) + { + /* affinity routing */ + GICDistributor->IROUTER[IRQn] = cpu_target; + } + else + { + /* legacy */ + uint32_t mask = GICDistributor->ITARGETSR[IRQn / 4U] & ~(0xFFUL << ((IRQn % 4U) * 8U)); + GICDistributor->ITARGETSR[IRQn / 4U] = mask | ((cpu_target & 0xFFUL) << ((IRQn % 4U) * 8U)); + } + } +} + +/** \brief Get the target core of the interrupt. +* \param [in] IRQn Interrupt to acquire the configuration for. +* +* \return: +* For SPI: GICDistributor_Type::ITARGETSR when Affinity Routing isn't enabled, +* or GICDistributor_Type::IROUTER when Affinity Routing is enabled +* For SGI/PPI: The Affinity fields of the MPIDR_EL1. +*/ +__STATIC_INLINE uint64_t GIC_GetTarget(IRQn_Type IRQn) +{ + uint64_t cpu_target = 0; + + if (IRQn >= 32) + { + if (GIC_GetARE()) + { + /* affinity routing */ + cpu_target = GICDistributor->IROUTER[IRQn]; + } + else + { + /* legacy */ + cpu_target = (GICDistributor->ITARGETSR[IRQn / 4U] >> ((IRQn % 4U) * 8U)) & 0xFFUL; + } + } + else + { + /* local */ + cpu_target = __get_MPIDR_EL1() & MPIDR_AFFINITY_MASK; + } + + return cpu_target; +} + +/** \brief Enables the given interrupt using GIC's ISENABLER register. +* \param [in] IRQn The interrupt to be enabled. +*/ +__STATIC_INLINE void GIC_EnableIRQ(IRQn_Type IRQn) +{ + uint64_t mpidr = __get_MPIDR_EL1(); + GICDistributor_Type *s_RedistPPIBaseAddrs; + + GIC_SetTarget(IRQn, mpidr & MPIDR_AFFINITY_MASK); + + if (IRQn < 32) { + s_RedistPPIBaseAddrs = GIC_GetRdistSGIBase(GIC_GetRdist()); + s_RedistPPIBaseAddrs->ISENABLER[0] = 1U << IRQn; + } else { + GICDistributor->ISENABLER[IRQn / 32U] = 1U << (IRQn % 32U); + } +} + +/** \brief Get interrupt enable status using GIC's ISENABLER register. +* \param [in] IRQn The interrupt to be queried. +* \return 0 - interrupt is not enabled, 1 - interrupt is enabled. +*/ +__STATIC_INLINE uint32_t GIC_GetEnableIRQ(IRQn_Type IRQn) +{ + return (GICDistributor->ISENABLER[IRQn / 32U] >> (IRQn % 32U)) & 1UL; +} + +/** \brief Disables the given interrupt using GIC's ICENABLER register. +* \param [in] IRQn The interrupt to be disabled. +*/ +__STATIC_INLINE void GIC_DisableIRQ(IRQn_Type IRQn) +{ + GICDistributor_Type *s_RedistPPIBaseAddrs; + + if (IRQn < 32) { + s_RedistPPIBaseAddrs = GIC_GetRdistSGIBase(GIC_GetRdist()); + s_RedistPPIBaseAddrs->ICENABLER[0] = 1U << IRQn; + GIC_WaitRWP(GICR_RWP); + } else { + GICDistributor->ICENABLER[IRQn / 32U] = 1U << (IRQn % 32U); + GIC_WaitRWP(GICD_RWP); + } +} + +/** \brief Get interrupt pending status from GIC's ISPENDR register. +* \param [in] IRQn The interrupt to be queried. +* \return 0 - interrupt is not pending, 1 - interrupt is pendig. +*/ +__STATIC_INLINE uint32_t GIC_GetPendingIRQ(IRQn_Type IRQn) +{ + uint32_t pend; + + if (IRQn >= 16) { + pend = (GICDistributor->ISPENDR[IRQn / 32U] >> (IRQn % 32U)) & 1UL; + } else { + // INTID 0-15 Software Generated Interrupt + pend = (GICDistributor->SPENDSGIR[IRQn / 4U] >> ((IRQn % 4U) * 8U)) & 0xFFUL; + // No CPU identification offered + if (pend != 0U) { + pend = 1U; + } else { + pend = 0U; + } + } + + return (pend); +} + +/** \brief Sets the given interrupt as pending using GIC's ISPENDR register. +* \param [in] IRQn The interrupt to be enabled. +*/ +__STATIC_INLINE void GIC_SetPendingIRQ(IRQn_Type IRQn) +{ + if (IRQn >= 16) { + GICDistributor->ISPENDR[IRQn / 32U] = 1U << (IRQn % 32U); + } else { + // INTID 0-15 Software Generated Interrupt + GICDistributor->SPENDSGIR[IRQn / 4U] = 1U << ((IRQn % 4U) * 8U); + // Forward the interrupt to the CPU interface that requested it + GICDistributor->SGIR = (IRQn | 0x02000000U); + } +} + +/** \brief Clears the given interrupt from being pending using GIC's ICPENDR register. +* \param [in] IRQn The interrupt to be enabled. +*/ +__STATIC_INLINE void GIC_ClearPendingIRQ(IRQn_Type IRQn) +{ + if (IRQn >= 16) { + GICDistributor->ICPENDR[IRQn / 32U] = 1U << (IRQn % 32U); + } else { + // INTID 0-15 Software Generated Interrupt + GICDistributor->CPENDSGIR[IRQn / 4U] = 1U << ((IRQn % 4U) * 8U); + } +} + +/** \brief Sets the interrupt configuration using GIC's ICFGR register. +* \param [in] IRQn The interrupt to be configured. +* \param [in] int_config Int_config field value. Bit 0: Reserved (0 - N-N model, 1 - 1-N model for some GIC before v1) +* Bit 1: 0 - level sensitive, 1 - edge triggered +*/ +__STATIC_INLINE void GIC_SetConfiguration(IRQn_Type IRQn, uint32_t int_config) +{ + uint32_t icfgr = GICDistributor->ICFGR[IRQn / 16U]; + uint32_t shift = (IRQn % 16U) << 1U; + + icfgr &= (~(3U << shift)); + icfgr |= ( int_config << shift); + + GICDistributor->ICFGR[IRQn / 16U] = icfgr; +} + +/** \brief Get the interrupt configuration from the GIC's ICFGR register. +* \param [in] IRQn Interrupt to acquire the configuration for. +* \return Int_config field value. Bit 0: Reserved (0 - N-N model, 1 - 1-N model for some GIC before v1) +* Bit 1: 0 - level sensitive, 1 - edge triggered +*/ +__STATIC_INLINE uint32_t GIC_GetConfiguration(IRQn_Type IRQn) +{ + return (GICDistributor->ICFGR[IRQn / 16U] >> ((IRQn % 16U) >> 1U)); +} + +__STATIC_INLINE void GIC_SetRedistPriority(IRQn_Type IRQn, uint32_t priority) +{ + GICDistributor_Type *s_RedistPPIBaseAddrs = GIC_GetRdistSGIBase(GIC_GetRdist()); + uint32_t mask = s_RedistPPIBaseAddrs->IPRIORITYR[IRQn / 4U] & ~(0xFFUL << ((IRQn % 4U) * 8U)); + + s_RedistPPIBaseAddrs->IPRIORITYR[IRQn / 4U] = mask | ((priority & 0xFFUL) << ((IRQn % 4U) * 8U)); +} + +/** \brief Set the priority for the given interrupt. +* \param [in] IRQn The interrupt to be configured. +* \param [in] priority The priority for the interrupt, lower values denote higher priorities. +*/ +__STATIC_INLINE void GIC_SetPriority(IRQn_Type IRQn, uint32_t priority) +{ + uint32_t mask; + + if ((IRQn < 32) && (GIC_GetARE())) { + GIC_SetRedistPriority(IRQn, priority); + } else { + mask = GICDistributor->IPRIORITYR[IRQn / 4U] & ~(0xFFUL << ((IRQn % 4U) * 8U)); + GICDistributor->IPRIORITYR[IRQn / 4U] = mask | ((priority & 0xFFUL) << ((IRQn % 4U) * 8U)); + } +} + +__STATIC_INLINE void GIC_RedistWakeUp(void) +{ + GICRedistributor_Type *const s_RedistBaseAddrs = GIC_GetRdist(); + + if (!s_RedistBaseAddrs) + return; + + if (!(s_RedistBaseAddrs->WAKER & (1 << GICR_WAKER_CA_SHIFT))) + return; + + s_RedistBaseAddrs->WAKER &= ~ (1 << GICR_WAKER_PS_SHIFT); + while (s_RedistBaseAddrs->WAKER & (1 << GICR_WAKER_CA_SHIFT)) + ; +} + +__STATIC_INLINE uint32_t GIC_GetRedistPriority(IRQn_Type IRQn) +{ + GICDistributor_Type *s_RedistPPIBaseAddrs; + + s_RedistPPIBaseAddrs = GIC_GetRdistSGIBase(GIC_GetRdist()); + return (s_RedistPPIBaseAddrs->IPRIORITYR[IRQn / 4U] >> ((IRQn % 4U) * 8U)) & 0xFFUL; +} + +/** \brief Read the current interrupt priority from GIC's IPRIORITYR register. +* \param [in] IRQn The interrupt to be queried. +*/ +__STATIC_INLINE uint32_t GIC_GetPriority(IRQn_Type IRQn) +{ + if ((IRQn < 32) && (GIC_GetARE())) { + return GIC_GetRedistPriority(IRQn); + } else { + return (GICDistributor->IPRIORITYR[IRQn / 4U] >> ((IRQn % 4U) * 8U)) & 0xFFUL; + } +} + +/** \brief Get the status for a given interrupt. +* \param [in] IRQn The interrupt to get status for. +* \return 0 - not pending/active, 1 - pending, 2 - active, 3 - pending and active +*/ +__STATIC_INLINE uint32_t GIC_GetIRQStatus(IRQn_Type IRQn) +{ + uint32_t pending, active; + + active = ((GICDistributor->ISACTIVER[IRQn / 32U]) >> (IRQn % 32U)) & 1UL; + pending = ((GICDistributor->ISPENDR[IRQn / 32U]) >> (IRQn % 32U)) & 1UL; + + return ((active<<1U) | pending); +} + +/** \brief Generate a software interrupt (Affinity Routing version). +* \param [in] IRQn Software interrupt to be generated. +* \param [in] target_aff Target affinity in MPIDR form. +* \param [in] tlist List of CPUs the software interrupt should be forwarded to. +*/ +__STATIC_INLINE void GIC_SendSGI_ARE(IRQn_Type IRQn, uint64_t target_aff, uint16_t tlist) +{ + uint32_t aff3, aff2, aff1, rs; + uint64_t val; + + if (IRQn >= 16) + return; + + aff1 = MPIDR_TO_AFF_LEVEL(target_aff, 1); + aff2 = MPIDR_TO_AFF_LEVEL(target_aff, 2); + aff3 = MPIDR_TO_AFF_LEVEL(target_aff, 3); + rs = MPIDR_TO_RS(target_aff); + val = COMPOSE_ICC_SGIR_VALUE(aff3, aff2, aff1, IRQn, 0, rs, tlist); + + __DSB(); + __MSR(ICC_SGI1R_EL1, val); + __ISB(); +} + +/** \brief Generate a software interrupt. +* \param [in] IRQn Software interrupt to be generated. +* \param [in] target_aff Target affinity in MPIDR form. +* \param [in] target_list List of CPUs the software interrupt should be forwarded to. +*/ +__STATIC_INLINE void GIC_SendSGI(IRQn_Type IRQn, uint64_t target_aff, uint16_t target_list) +{ + if (IRQn >= 16) + return; + + if (GIC_GetARE()) { + /* affinity routing */ + GIC_SendSGI_ARE(IRQn, target_aff, target_list); + } else { + GICDistributor->SGIR = ((target_list & 0xFFUL) << 16U) | (IRQn & 0x0FUL); + } +} + +/** \brief Set the interrupt group from the GIC's IGROUPR register. +* \param [in] IRQn The interrupt to be queried. +* \param [in] group Interrupt group number: 0 - Group 0, 1 - Group 1 +*/ +__STATIC_INLINE void GIC_SetGroup(IRQn_Type IRQn, uint32_t group) +{ + uint32_t igroupr = GICDistributor->IGROUPR[IRQn / 32U]; + uint32_t shift = (IRQn % 32U); + + igroupr &= (~(1U << shift)); + igroupr |= ( (group & 1U) << shift); + + GICDistributor->IGROUPR[IRQn / 32U] = igroupr; +} +#define GIC_SetSecurity GIC_SetGroup + +__STATIC_INLINE void GIC_SetRedistGroup(IRQn_Type IRQn, uint32_t group) +{ + GICDistributor_Type *s_RedistPPIBaseAddrs; + uint32_t shift = (IRQn % 32U); + uint32_t igroupr; + + s_RedistPPIBaseAddrs = GIC_GetRdistSGIBase(GIC_GetRdist()); + igroupr = s_RedistPPIBaseAddrs->IGROUPR[IRQn / 32U]; + + igroupr &= (~(1U << shift)); + igroupr |= ( (group & 1U) << shift); + + s_RedistPPIBaseAddrs->IGROUPR[IRQn / 32U] = igroupr; +} +#define GIC_SetSecurity GIC_SetGroup + +/** \brief Get the interrupt group from the GIC's IGROUPR register. +* \param [in] IRQn The interrupt to be queried. +* \return 0 - Group 0, 1 - Group 1 +*/ +__STATIC_INLINE uint32_t GIC_GetGroup(IRQn_Type IRQn) +{ + return (GICDistributor->IGROUPR[IRQn / 32U] >> (IRQn % 32U)) & 1UL; +} +#define GIC_GetSecurity GIC_GetGroup + +/** \brief Initialize the interrupt distributor. +*/ +__STATIC_INLINE void GIC_DistInit(void) +{ + uint32_t i; + uint32_t num_irq = 0U; + uint32_t priority_field; + uint32_t ppi_priority; + + //A reset sets all bits in the IGROUPRs corresponding to the SPIs to 0, + //configuring all of the interrupts as Secure. + + //Disable interrupt forwarding + GIC_DisableDistributor(); + //Get the maximum number of interrupts that the GIC supports + num_irq = 32U * ((GIC_DistributorInfo() & 0x1FU) + 1U); + + /* Priority level is implementation defined. + To determine the number of priority bits implemented write 0xFF to an IPRIORITYR + priority field and read back the value stored. + Use PPI, as it is always accessible, even for a Guest OS using a hypervisor. + Then restore the initial state.*/ + ppi_priority = GIC_GetPriority((IRQn_Type)31U); + GIC_SetPriority((IRQn_Type)31U, 0xFFU); + priority_field = GIC_GetPriority((IRQn_Type)31U); + GIC_SetPriority((IRQn_Type)31U, ppi_priority); + + for (i = 32U; i < num_irq; i++) + { + /* Use non secure group1 for all SPI */ + GIC_SetGroup(i, 1); + //Disable the SPI interrupt + GIC_DisableIRQ((IRQn_Type)i); + //Set level-sensitive (and N-N model) + GIC_SetConfiguration((IRQn_Type)i, 0U); + //Set priority + GIC_SetPriority((IRQn_Type)i, priority_field*2U/3U); + } + + /* Enable distributor with ARE_NS and NS_Group1 */ + GICDistributor->CTLR = ((1U << GICD_CTLR_ARE_NS) | (1U << GICD_CTLR_ENGRP1A)); + GIC_WaitRWP(GICD_RWP); +} + +/** \brief Initialize the interrupt redistributor. +*/ +__STATIC_INLINE void GIC_RedistInit(void) +{ + uint32_t i; + uint32_t priority_field; + + /* Priority level is implementation defined. + To determine the number of priority bits implemented write 0xFF to an IPRIORITYR + priority field and read back the value stored.*/ + GIC_SetRedistPriority((IRQn_Type)31U, 0xFFU); + priority_field = GIC_GetRedistPriority((IRQn_Type)31U); + + /* Wakeup the GIC */ + GIC_RedistWakeUp(); + + for (i = 0; i < 32; i++) + { + //Disable the SPI interrupt + GIC_DisableIRQ((IRQn_Type)i); + //Set priority + GIC_SetRedistPriority((IRQn_Type)i, priority_field*2U/3U); + } +} + +#ifdef GICInterface + +/** \brief Enable the CPU's interrupt interface. +*/ +__STATIC_INLINE void GIC_EnableInterface(void) +{ + GICInterface->CTLR |= 1U; //enable interface +} + +/** \brief Disable the CPU's interrupt interface. +*/ +__STATIC_INLINE void GIC_DisableInterface(void) +{ + GICInterface->CTLR &=~1U; //disable distributor +} + +/** \brief Read the CPU's IAR register. +* \return GICInterface_Type::IAR +*/ +__STATIC_INLINE IRQn_Type GIC_AcknowledgePending(void) +{ + return (IRQn_Type)(GICInterface->IAR); +} + +/** \brief Writes the given interrupt number to the CPU's EOIR register. +* \param [in] IRQn The interrupt to be signaled as finished. +*/ +__STATIC_INLINE void GIC_EndInterrupt(IRQn_Type IRQn) +{ + GICInterface->EOIR = IRQn; +} + + +/** \brief Set the interrupt priority mask using CPU's PMR register. +* \param [in] priority Priority mask to be set. +*/ +__STATIC_INLINE void GIC_SetInterfacePriorityMask(uint32_t priority) +{ + GICInterface->PMR = priority & 0xFFUL; //set priority mask +} + +/** \brief Read the current interrupt priority mask from CPU's PMR register. +* \result GICInterface_Type::PMR +*/ +__STATIC_INLINE uint32_t GIC_GetInterfacePriorityMask(void) +{ + return GICInterface->PMR; +} + +/** \brief Configures the group priority and subpriority split point using CPU's BPR register. +* \param [in] binary_point Amount of bits used as subpriority. +*/ +__STATIC_INLINE void GIC_SetBinaryPoint(uint32_t binary_point) +{ + GICInterface->BPR = binary_point & 7U; //set binary point +} + +/** \brief Read the current group priority and subpriority split point from CPU's BPR register. +* \return GICInterface_Type::BPR +*/ +__STATIC_INLINE uint32_t GIC_GetBinaryPoint(void) +{ + return GICInterface->BPR; +} + +/** \brief Get the interrupt number of the highest interrupt pending from CPU's HPPIR register. +* \return GICInterface_Type::HPPIR +*/ +__STATIC_INLINE uint32_t GIC_GetHighPendingIRQ(void) +{ + return GICInterface->HPPIR; +} + +/** \brief Provides information about the implementer and revision of the CPU interface. +* \return GICInterface_Type::IIDR +*/ +__STATIC_INLINE uint32_t GIC_GetInterfaceId(void) +{ + return GICInterface->IIDR; +} + +#else /* GICInterface */ + +/** \brief Enable the CPU's interrupt interface. +*/ +__STATIC_INLINE void GIC_EnableInterface(void) +{ + __MSR(ICC_IGRPEN1_EL1, 1); +} + +/** \brief Disable the CPU's interrupt interface. +*/ +__STATIC_INLINE void GIC_DisableInterface(void) +{ + __MSR(ICC_IGRPEN1_EL1, 0); +} + +/** \brief Read the CPU's IAR register. +* \return GICInterface_Type::IAR +*/ +__STATIC_INLINE IRQn_Type GIC_AcknowledgePending(void) +{ + uint32_t result; + __MRS(ICC_IAR1_EL1, &result); + return (IRQn_Type)(result); +} + +/** \brief Writes the given interrupt number to the CPU's EOIR register. +* \param [in] IRQn The interrupt to be signaled as finished. +*/ +__STATIC_INLINE void GIC_EndInterrupt(IRQn_Type IRQn) +{ + __MSR(ICC_EOIR1_EL1, (uint32_t)IRQn); +} + +/** \brief Set the interrupt priority mask using CPU's PMR register. +* \param [in] priority Priority mask to be set. +*/ +__STATIC_INLINE void GIC_SetInterfacePriorityMask(uint32_t priority) +{ + __MSR(ICC_PMR_EL1, priority & 0xFFUL); +} + +/** \brief Read the current interrupt priority mask from CPU's PMR register. +* \result GICInterface_Type::PMR +*/ +__STATIC_INLINE uint32_t GIC_GetInterfacePriorityMask(void) +{ + uint32_t result; + __MRS(ICC_PMR_EL1, &result); + return result; +} + +/** \brief Configures the group priority and subpriority split point using CPU's BPR register. +* \param [in] binary_point Amount of bits used as subpriority. +*/ +__STATIC_INLINE void GIC_SetBinaryPoint(uint32_t binary_point) +{ + __MSR(ICC_BPR1_EL1, binary_point & 7U); +} + +/** \brief Read the current group priority and subpriority split point from CPU's BPR register. +* \return GICInterface_Type::BPR +*/ +__STATIC_INLINE uint32_t GIC_GetBinaryPoint(void) +{ + uint32_t result; + __MRS(ICC_BPR1_EL1, &result); + return result; +} + +/** \brief Get the interrupt number of the highest interrupt pending from CPU's HPPIR register. +* \return GICInterface_Type::HPPIR +*/ +__STATIC_INLINE uint32_t GIC_GetHighPendingIRQ(void) +{ + uint32_t result; + __MRS(ICC_HPPIR1_EL1, &result); + return result; +} + +#endif + +__STATIC_INLINE void GIC_CPUInterfaceInit(void) +{ + uint32_t i; + uint32_t priority_field; + + //A reset sets all bits in the IGROUPRs corresponding to the SPIs to 0, + //configuring all of the interrupts as Secure. + + //Disable interrupt forwarding + GIC_DisableInterface(); + + /* Priority level is implementation defined. + To determine the number of priority bits implemented write 0xFF to an IPRIORITYR + priority field and read back the value stored.*/ + GIC_SetPriority((IRQn_Type)0U, 0xFFU); + priority_field = GIC_GetPriority((IRQn_Type)0U); + + //SGI and PPI + for (i = 0U; i < 32U; i++) + { + if (i > 15U) { + //Set level-sensitive (and N-N model) for PPI + GIC_SetConfiguration((IRQn_Type)i, 0U); + } + //Disable SGI and PPI interrupts + GIC_DisableIRQ((IRQn_Type)i); + //Set priority + GIC_SetPriority((IRQn_Type)i, priority_field*2U/3U); + } + + //Set binary point to 0 + GIC_SetBinaryPoint(0U); + //Set priority mask + GIC_SetInterfacePriorityMask(0xFFU); + //Enable interface + GIC_EnableInterface(); +} + +/** \brief Initialize and enable the GIC +*/ +__STATIC_INLINE void GIC_Enable(int init_dist) +{ + /* Only one core should be responsible for the GIC distributor setup */ + if (init_dist) + GIC_DistInit(); + + GIC_RedistInit(); + GIC_CPUInterfaceInit(); //per CPU +} + +#ifdef __cplusplus +} +#endif + +#endif /* __GIC_V3_H */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/mmu_armv8a.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/mmu_armv8a.h new file mode 100644 index 00000000000..b081c922c15 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/mmu_armv8a.h @@ -0,0 +1,248 @@ +/**************************************************************************//** + * @file mmu_armv8a.h + * @brief CMSIS Cortex-Axx MMU API header file + * @version V1.0.0 + * @date 20. october 2021 + ******************************************************************************/ +/* + * Copyright 2019 Broadcom + * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#if defined ( __ICCARM__ ) + #pragma system_include /* treat file as system include file for MISRA check */ +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + #pragma clang system_header /* treat file as system include file */ +#endif + +#ifndef __MMU_ARMV8A_H +#define __MMU_ARMV8A_H + +#include +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************/ + +/* Following Memory types supported through MAIR encodings can be passed + * by user through "attrs"(attributes) field of specified memory region. + * As MAIR supports such 8 encodings, we will reserve attrs[2:0]; + * so that we can provide encodings upto 7 if needed in future. + */ +#define MT_TYPE_MASK 0x7U +#define MT_TYPE(attr) (attr & MT_TYPE_MASK) +#define MT_DEVICE_nGnRnE 0U +#define MT_DEVICE_nGnRE 1U +#define MT_DEVICE_GRE 2U +#define MT_NORMAL_NC 3U +#define MT_NORMAL 4U +#define MT_NORMAL_WT 5U + +#define MEMORY_ATTRIBUTES ((0x00 << (MT_DEVICE_nGnRnE * 8)) | \ + (0x04 << (MT_DEVICE_nGnRE * 8)) | \ + (0x0c << (MT_DEVICE_GRE * 8)) | \ + (0x44 << (MT_NORMAL_NC * 8)) | \ + (0xffUL << (MT_NORMAL * 8)) | \ + (0xbbUL << (MT_NORMAL_WT * 8))) + +/* More flags from user's perpective are supported using remaining bits + * of "attrs" field, i.e. attrs[31:3], underlying code will take care + * of setting PTE fields correctly. + * + * current usage of attrs[31:3] is: + * attrs[3] : Access Permissions + * attrs[4] : Memory access from secure/ns state + * attrs[5] : Execute Permissions privileged mode (PXN) + * attrs[6] : Execute Permissions unprivileged mode (UXN) + * attrs[7] : Mirror RO/RW permissions to EL0 + * attrs[8] : Overwrite existing mapping if any + * + */ +#define MT_PERM_SHIFT 3U +#define MT_SEC_SHIFT 4U +#define MT_P_EXECUTE_SHIFT 5U +#define MT_U_EXECUTE_SHIFT 6U +#define MT_RW_AP_SHIFT 7U +#define MT_NO_OVERWRITE_SHIFT 8U + +#define MT_RO (0U << MT_PERM_SHIFT) +#define MT_RW (1U << MT_PERM_SHIFT) + +#define MT_RW_AP_ELx (1U << MT_RW_AP_SHIFT) +#define MT_RW_AP_EL_HIGHER (0U << MT_RW_AP_SHIFT) + +#define MT_SECURE (0U << MT_SEC_SHIFT) +#define MT_NS (1U << MT_SEC_SHIFT) + +#define MT_P_EXECUTE (0U << MT_P_EXECUTE_SHIFT) +#define MT_P_EXECUTE_NEVER (1U << MT_P_EXECUTE_SHIFT) + +#define MT_U_EXECUTE (0U << MT_U_EXECUTE_SHIFT) +#define MT_U_EXECUTE_NEVER (1U << MT_U_EXECUTE_SHIFT) + +#define MT_NO_OVERWRITE (1U << MT_NO_OVERWRITE_SHIFT) + +#define MT_P_RW_U_RW (MT_RW | MT_RW_AP_ELx | MT_P_EXECUTE_NEVER | MT_U_EXECUTE_NEVER) +#define MT_P_RW_U_NA (MT_RW | MT_RW_AP_EL_HIGHER | MT_P_EXECUTE_NEVER | MT_U_EXECUTE_NEVER) +#define MT_P_RO_U_RO (MT_RO | MT_RW_AP_ELx | MT_P_EXECUTE_NEVER | MT_U_EXECUTE_NEVER) +#define MT_P_RO_U_NA (MT_RO | MT_RW_AP_EL_HIGHER | MT_P_EXECUTE_NEVER | MT_U_EXECUTE_NEVER) +#define MT_P_RO_U_RX (MT_RO | MT_RW_AP_ELx | MT_P_EXECUTE_NEVER | MT_U_EXECUTE) +#define MT_P_RX_U_RX (MT_RO | MT_RW_AP_ELx | MT_P_EXECUTE | MT_U_EXECUTE) +#define MT_P_RX_U_NA (MT_RO | MT_RW_AP_EL_HIGHER | MT_P_EXECUTE | MT_U_EXECUTE_NEVER) + +#ifdef CONFIG_ARMV8_A_NS +#define MT_DEFAULT_SECURE_STATE MT_NS +#else +#define MT_DEFAULT_SECURE_STATE MT_SECURE +#endif +#ifndef CONFIG_ARM64_PA_BITS +#define CONFIG_ARM64_PA_BITS 48 +#endif +#ifndef CONFIG_ARM64_VA_BITS +#define CONFIG_ARM64_VA_BITS 48 +#endif + +/* + * PTE descriptor can be Block descriptor or Table descriptor + * or Page descriptor. + */ +#define PTE_DESC_TYPE_MASK 3U +#define PTE_BLOCK_DESC 1U +#define PTE_TABLE_DESC 3U +#define PTE_PAGE_DESC 3U +#define PTE_INVALID_DESC 0U + +/* + * Block and Page descriptor attributes fields + */ +#define PTE_BLOCK_DESC_MEMTYPE(x) (x << 2) +#define PTE_BLOCK_DESC_NS (1ULL << 5) +#define PTE_BLOCK_DESC_AP_ELx (1ULL << 6) +#define PTE_BLOCK_DESC_AP_EL_HIGHER (0ULL << 6) +#define PTE_BLOCK_DESC_AP_RO (1ULL << 7) +#define PTE_BLOCK_DESC_AP_RW (0ULL << 7) +#define PTE_BLOCK_DESC_NON_SHARE (0ULL << 8) +#define PTE_BLOCK_DESC_OUTER_SHARE (2ULL << 8) +#define PTE_BLOCK_DESC_INNER_SHARE (3ULL << 8) +#define PTE_BLOCK_DESC_AF (1ULL << 10) +#define PTE_BLOCK_DESC_NG (1ULL << 11) +#define PTE_BLOCK_DESC_PXN (1ULL << 53) +#define PTE_BLOCK_DESC_UXN (1ULL << 54) + +/* + * TCR definitions. + */ +#define TCR_EL1_IPS_SHIFT 32U +#define TCR_EL2_PS_SHIFT 16U +#define TCR_EL3_PS_SHIFT 16U + +#define TCR_T0SZ_SHIFT 0U +#define TCR_T0SZ(x) ((64 - (x)) << TCR_T0SZ_SHIFT) + +#define TCR_IRGN_NC (0ULL << 8) +#define TCR_IRGN_WBWA (1ULL << 8) +#define TCR_IRGN_WT (2ULL << 8) +#define TCR_IRGN_WBNWA (3ULL << 8) +#define TCR_IRGN_MASK (3ULL << 8) +#define TCR_ORGN_NC (0ULL << 10) +#define TCR_ORGN_WBWA (1ULL << 10) +#define TCR_ORGN_WT (2ULL << 10) +#define TCR_ORGN_WBNWA (3ULL << 10) +#define TCR_ORGN_MASK (3ULL << 10) +#define TCR_SHARED_NON (0ULL << 12) +#define TCR_SHARED_OUTER (2ULL << 12) +#define TCR_SHARED_INNER (3ULL << 12) +#define TCR_TG0_4K (0ULL << 14) +#define TCR_TG0_64K (1ULL << 14) +#define TCR_TG0_16K (2ULL << 14) +#define TCR_EPD1_DISABLE (1ULL << 23) + +#define TCR_PS_BITS_4GB 0x0ULL +#define TCR_PS_BITS_64GB 0x1ULL +#define TCR_PS_BITS_1TB 0x2ULL +#define TCR_PS_BITS_4TB 0x3ULL +#define TCR_PS_BITS_16TB 0x4ULL +#define TCR_PS_BITS_256TB 0x5ULL + +/* Region definition data structure */ +struct ARM_MMU_region { + /* Region BasePhysical Address */ + uintptr_t base_pa; + /* Region Base Virtual Address */ + uintptr_t base_va; + /* Region size */ + size_t size; + /* Region Name */ + const char *name; + /* Region Attributes */ + uint32_t attrs; +}; + +/* MMU configuration data structure */ +struct ARM_MMU_config { + /* Number of regions */ + unsigned int num_regions; + /* Regions */ + const struct ARM_MMU_region *mmu_regions; + /* Number of OS memory regions */ + unsigned int num_os_ranges; + /* OS memory regions */ + const struct ARM_MMU_flat_range *mmu_os_ranges; +}; + +struct ARM_MMU_flat_range { + char *name; + void *start; + void *end; + uint32_t attrs; +}; + +struct ARM_MMU_ptables { + uint64_t *base_xlat_table; +}; + +/* Convenience macros to represent the ARMv8-A-specific + * configuration for memory access permission and + * cache-ability attribution. + */ + +#define MMU_REGION_ENTRY(_name, _base_pa, _base_va, _size, _attrs) \ + {\ + .name = _name, \ + .base_pa = _base_pa, \ + .base_va = _base_va, \ + .size = _size, \ + .attrs = _attrs, \ + } + +#define MMU_REGION_FLAT_ENTRY(name, adr, sz, attrs) \ + MMU_REGION_ENTRY(name, adr, adr, sz, attrs) + +void ARM_MMU_Initialize(const struct ARM_MMU_config *MMU_config, bool is_primary_core); +int ARM_MMU_AddMap(const char *name, uintptr_t phys, uintptr_t virt, size_t size, uint32_t attrs); +void ARM_MMU_InvalidateTLB(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __MMU_ARMV8A_H */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/timer_armv8a.h b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/timer_armv8a.h new file mode 100644 index 00000000000..4ea2ef53942 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Include/timer_armv8a.h @@ -0,0 +1,145 @@ +/**************************************************************************//** + * @file timer_armv8a.h + * @brief CMSIS Cortex-Axx Generic Timer API header file + * @version V1.0.0 + * @date 05. october 2021 + ******************************************************************************/ +/* + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021-2022 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __TIMER_ARMV8A_H +#define __TIMER_ARMV8A_H + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************* + * Timer Data Types + ******************************************************************************/ + +/** \brief ARMv8-A Generic Timer types */ +typedef enum _ARM_TIMER_TYPE { + ARM_TIMER_PHYSICAL, /** Physical Timer */ + ARM_TIMER_VIRTUAL, /** Virtual Timer */ + ARM_TIMER_HYPERVISOR_PHYSICAL, /** Hypervisor Physical Timer */ + ARM_TIMER_PHYSICAL_SECURE, /** Physical Secure Timer */ +} ARM_TIMER_type_t; + + +/******************************************************************************* + * Timer Functions + ******************************************************************************/ + +__STATIC_INLINE void ARM_TIMER_Initialize(ARM_TIMER_type_t timer) +{ +} + +__STATIC_INLINE void ARM_TIMER_GetFreq(uint32_t *pVal) +{ + __MRS(CNTFRQ_EL0, pVal); +} + +__STATIC_INLINE void ARM_TIMER_SetInterval(ARM_TIMER_type_t timer, uint32_t val) +{ + switch (timer) { + case ARM_TIMER_PHYSICAL: + __MSR(CNTP_TVAL_EL0, val); + break; + case ARM_TIMER_VIRTUAL: + __MSR(CNTV_TVAL_EL0, val); + break; + case ARM_TIMER_HYPERVISOR_PHYSICAL: + __MSR(CNTHP_TVAL_EL2, val); + break; + case ARM_TIMER_PHYSICAL_SECURE: + __MSR(CNTPS_TVAL_EL1, val); + break; + default: + break; + } + + __DSB(); + __ISB(); +} + +__STATIC_INLINE void ARM_TIMER_GetCount(ARM_TIMER_type_t timer, uint32_t *val) +{ + switch (timer) { + case ARM_TIMER_PHYSICAL: + __MRS(CNTP_TVAL_EL0, val); + break; + case ARM_TIMER_VIRTUAL: + __MRS(CNTV_TVAL_EL0, val); + break; + case ARM_TIMER_HYPERVISOR_PHYSICAL: + __MRS(CNTHP_TVAL_EL2, val); + break; + case ARM_TIMER_PHYSICAL_SECURE: + __MRS(CNTPS_TVAL_EL1, val); + break; + default: + break; + } +} + +__STATIC_INLINE void ARM_TIMER_Start(ARM_TIMER_type_t timer, bool irq_enable) +{ + uint64_t ctl = 1UL << 0; + + if (!irq_enable) + ctl |= 1UL << 1; + + switch (timer) { + case ARM_TIMER_PHYSICAL: + __MSR(CNTP_CTL_EL0, ctl); + break; + case ARM_TIMER_VIRTUAL: + __MSR(CNTV_CTL_EL0, ctl); + break; + case ARM_TIMER_HYPERVISOR_PHYSICAL: + __MSR(CNTHP_CTL_EL2, ctl); + break; + case ARM_TIMER_PHYSICAL_SECURE: + __MSR(CNTPS_CTL_EL1, ctl); + break; + default: + break; + } +} + +__STATIC_FORCEINLINE void ARM_TIMER_GetCounterCount(ARM_TIMER_type_t timer, uint64_t *val) +{ + switch (timer) { + case ARM_TIMER_PHYSICAL: + __MRS(cntpct_el0, val); + break; + case ARM_TIMER_VIRTUAL: + __MRS(cntvct_el0, val); + break; + default: + break; + } +} + +#ifdef __cplusplus +} +#endif + +#endif /* __TIMER_ARMV8A_H */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/SConscript new file mode 100644 index 00000000000..f1ba1757af9 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/SConscript @@ -0,0 +1,19 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') + Glob('Source/*.c') + +CPPPATH = [cwd + '/Include'] +CPPDEFINES = [ + {'CPU_MIMX9131DVVXJ': 1} +] +objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES) + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Source/cache_armv8a.c b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Source/cache_armv8a.c new file mode 100644 index 00000000000..06cedd94521 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Source/cache_armv8a.c @@ -0,0 +1,137 @@ +/**************************************************************************//** + * @file cache_armv8a.c + * @brief CMSIS AARCH64 Cache Source file + * @version V1.0.0 + * @date 21. January 2022 + ******************************************************************************/ + +/* + * Copyright 2022 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "core_ca53.h" +#include "cache_armv8a.h" + +#ifndef BIT_MASK +#define BIT_MASK(n) ((1UL << n) - 1UL) +#endif + +/* CLIDR_EL1 */ +#define CLIDR_EL1_LOC_SHIFT 24 +#define CLIDR_EL1_LOC_MASK BIT_MASK(3) +#define CLIDR_EL1_CTYPE_SHIFT(l) ((l) * 3) +#define CLIDR_EL1_CTYPE_MASK BIT_MASK(3) + +/* CCSIDR_EL1 */ +#define CCSIDR_EL1_LN_SZ_SHIFT 0 +#define CCSIDR_EL1_LN_SZ_MASK BIT_MASK(3) +#define CCSIDR_EL1_WAYS_SHIFT 3 +#define CCSIDR_EL1_WAYS_MASK BIT_MASK(10) +#define CCSIDR_EL1_SETS_SHIFT 13 +#define CCSIDR_EL1_SETS_MASK BIT_MASK(15) + +/* CSSELR_EL1 */ +#define CSSELR_EL1_LEVEL_SHIFT 1 +#define CSSELR_EL1_LEVEL_MASK BIT_MASK(3) + +enum cache_ops { + CACHE_OP_C, /* Clean */ + CACHE_OP_I, /* Invalidate */ + CACHE_OP_CI /* Clean and Invalidate */ +}; + +/* + * Operation for all data cache to PoC + * op: CACHE_OP_C: clean + * CACHE_OP_I: invalidate + * CACHE_OP_CI: clean and invalidate + */ +int dcache_all(enum cache_ops op) +{ + uint32_t clidr_el1, csselr_el1, ccsidr_el1; + uint32_t num_ways, num_sets, set, way, operand; + uint8_t loc, cache_type, cache_level, set_shift, way_shift; + + __DSB(); + + __MRS(CLIDR_EL1, &clidr_el1); + + loc = (clidr_el1 >> CLIDR_EL1_LOC_SHIFT) & CLIDR_EL1_LOC_MASK; + if (!loc) + return 0; + + for (cache_level = 0; cache_level < loc; cache_level++) { + cache_type = (clidr_el1 >> CLIDR_EL1_CTYPE_SHIFT(cache_level)) & + CLIDR_EL1_CTYPE_MASK; + /* No Data or Unified cache at this level */ + if (cache_type < 2) + continue; + + /* Select cache level and Data/Unified cache */ + csselr_el1 = (cache_level & CSSELR_EL1_LEVEL_MASK) << + CSSELR_EL1_LEVEL_SHIFT; + __MSR(CSSELR_EL1, csselr_el1); + __ISB(); + + __MRS(CCSIDR_EL1, &ccsidr_el1); + set_shift = ((ccsidr_el1 >> CCSIDR_EL1_LN_SZ_SHIFT) & + CCSIDR_EL1_LN_SZ_MASK) + 4; + num_ways = ((ccsidr_el1 >> CCSIDR_EL1_WAYS_SHIFT) & + CCSIDR_EL1_WAYS_MASK) + 1; + num_sets = ((ccsidr_el1 >> CCSIDR_EL1_SETS_SHIFT) & + CCSIDR_EL1_SETS_MASK) + 1; + /* 32-log2(ways), bit position of way in DC operand */ + way_shift = __CLZ(num_ways - 1); + + for (set = 0; set < num_sets; set++) { + for (way = 0; way < num_ways; way++) { + /* cache level, aligned to pos in DC operand */ + operand = (cache_level << 1); + /* set number, aligned to pos in DC operand */ + operand |= set << set_shift; + /* way number, aligned to pos in DC operand */ + /* No way number field for direct-mapped cache */ + if (way_shift < 32) + operand |= way << way_shift; + + switch (op) { + case CACHE_OP_C: + dcache_ops(csw, operand); + break; + case CACHE_OP_I: + dcache_ops(isw, operand); + break; + case CACHE_OP_CI: + dcache_ops(cisw, operand); + break; + default: + return -1; + } + } + } + } + + __DSB(); + + /* Restore csselr_el1 to level 0 */ + __MSR(CSSELR_EL1, 0); + __ISB(); + + return 0; +} + +void dcache_clean_all(void) +{ + dcache_all(CACHE_OP_C); +} + +void dcache_invalidate_all(void) +{ + dcache_all(CACHE_OP_I); +} +void dcache_clean_invalidate_all(void) +{ + dcache_all(CACHE_OP_CI); +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Source/mmu_armv8a.c b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Source/mmu_armv8a.c new file mode 100644 index 00000000000..fe75a4f2672 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/Core_AArch64/Source/mmu_armv8a.c @@ -0,0 +1,720 @@ +/**************************************************************************//** + * @file mmu_armv8a.c + * @brief CMSIS Cortex-Axx MMU Source file + * @version V1.0.0 + * @date 20. october 2021 + ******************************************************************************/ +/* + * Copyright 2019 Broadcom + * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. + * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright 2021 NXP + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include + +#include "core_ca53.h" +#include "mmu_armv8a.h" + + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +#define __ASSERT(op, fmt, ...) \ + do { \ + if (!(op)) { \ + while(1) \ + /* wait here */; \ + } \ + } while (0) + +#ifndef MAX +#define MAX(a, b) (((a) > (b)) ? (a) : (b)) +#endif + +#ifndef KB +#define KB(x) ((x) << 10) +#endif + +#ifndef CONFIG_MMU_PAGE_SIZE +#define CONFIG_MMU_PAGE_SIZE 4096 +#endif +#ifndef CONFIG_MAX_XLAT_TABLES +#define CONFIG_MAX_XLAT_TABLES 32 +#endif +#ifndef CONFIG_ARM64_PA_BITS +#define CONFIG_ARM64_PA_BITS 48 +#endif +#ifndef CONFIG_ARM64_VA_BITS +#define CONFIG_ARM64_VA_BITS 48 +#endif + +#define LOG_ERR(fmt, ...) (void)(fmt) +#define ARG_UNUSED(x) (void)(x) + +#define BITS_PER_LONG (__CHAR_BIT__ * __SIZEOF_LONG__) +#define GENMASK(h, l) \ + (((~0UL) - (1UL << (l)) + 1) & (~0UL >> (BITS_PER_LONG - 1 - (h)))) + +/******************************************************************************* + * from zephyr:/arch/arm/core/aarch64/mmu/arm_mmu.h: + ******************************************************************************/ + +/* Set below flag to get debug prints */ +//#define MMU_DEBUG_PRINTS 0 + +#if defined (MMU_DEBUG_PRINTS) && (MMU_DEBUG_PRINTS == 1) +/* To dump page table entries while filling them, set DUMP_PTE macro */ +#define DUMP_PTE 0 + #define MMU_DEBUG(fmt, ...) PRINTF(fmt, ##__VA_ARGS__) +#else + #define MMU_DEBUG(...) +#endif + +/* + * 48-bit address with 4KB granule size: + * + * +------------+------------+------------+------------+-----------+ + * | VA [47:39] | VA [38:30] | VA [29:21] | VA [20:12] | VA [11:0] | + * +---------------------------------------------------------------+ + * | L0 | L1 | L2 | L3 | block off | + * +------------+------------+------------+------------+-----------+ + */ + +/* Only 4K granule is supported */ +#define PAGE_SIZE_SHIFT 12U + +/* 48-bit VA address */ +#define VA_SIZE_SHIFT_MAX 48U + +/* Maximum 4 XLAT table levels (L0 - L3) */ +#define XLAT_LAST_LEVEL 3U + +/* The VA shift of L3 depends on the granule size */ +#define L3_XLAT_VA_SIZE_SHIFT PAGE_SIZE_SHIFT + +/* Number of VA bits to assign to each table (9 bits) */ +#define Ln_XLAT_VA_SIZE_SHIFT (PAGE_SIZE_SHIFT - 3) + +/* Starting bit in the VA address for each level */ +#define L2_XLAT_VA_SIZE_SHIFT (L3_XLAT_VA_SIZE_SHIFT + Ln_XLAT_VA_SIZE_SHIFT) +#define L1_XLAT_VA_SIZE_SHIFT (L2_XLAT_VA_SIZE_SHIFT + Ln_XLAT_VA_SIZE_SHIFT) +#define L0_XLAT_VA_SIZE_SHIFT (L1_XLAT_VA_SIZE_SHIFT + Ln_XLAT_VA_SIZE_SHIFT) + +#define LEVEL_TO_VA_SIZE_SHIFT(level) \ + (PAGE_SIZE_SHIFT + (Ln_XLAT_VA_SIZE_SHIFT * \ + (XLAT_LAST_LEVEL - (level)))) + +/* Number of entries for each table (512) */ +#define Ln_XLAT_NUM_ENTRIES ((1U << PAGE_SIZE_SHIFT) / 8U) + +/* Virtual Address Index within a given translation table level */ +#define XLAT_TABLE_VA_IDX(va_addr, level) \ + ((va_addr >> LEVEL_TO_VA_SIZE_SHIFT(level)) & (Ln_XLAT_NUM_ENTRIES - 1)) + +/* + * Calculate the initial translation table level from CONFIG_ARM64_VA_BITS + * For a 4 KB page size: + * + * (va_bits <= 20) - base level 3 + * (21 <= va_bits <= 29) - base level 2 + * (30 <= va_bits <= 38) - base level 1 + * (39 <= va_bits <= 47) - base level 0 + */ +#define GET_BASE_XLAT_LEVEL(va_bits) \ + ((va_bits > L0_XLAT_VA_SIZE_SHIFT) ? 0U \ + : (va_bits > L1_XLAT_VA_SIZE_SHIFT) ? 1U \ + : (va_bits > L2_XLAT_VA_SIZE_SHIFT) ? 2U : 3U) + +/* Level for the base XLAT */ +#define BASE_XLAT_LEVEL GET_BASE_XLAT_LEVEL(CONFIG_ARM64_VA_BITS) + +#if (CONFIG_ARM64_PA_BITS == 48) +#define TCR_PS_BITS TCR_PS_BITS_256TB +#elif (CONFIG_ARM64_PA_BITS == 44) +#define TCR_PS_BITS TCR_PS_BITS_16TB +#elif (CONFIG_ARM64_PA_BITS == 42) +#define TCR_PS_BITS TCR_PS_BITS_4TB +#elif (CONFIG_ARM64_PA_BITS == 40) +#define TCR_PS_BITS TCR_PS_BITS_1TB +#elif (CONFIG_ARM64_PA_BITS == 36) +#define TCR_PS_BITS TCR_PS_BITS_64GB +#else +#define TCR_PS_BITS TCR_PS_BITS_4GB +#endif + +/* Upper and lower attributes mask for page/block descriptor */ +#define DESC_ATTRS_UPPER_MASK GENMASK(63, 51) +#define DESC_ATTRS_LOWER_MASK GENMASK(11, 2) + +#define DESC_ATTRS_MASK (DESC_ATTRS_UPPER_MASK | DESC_ATTRS_LOWER_MASK) + +/******************************************************************************/ + +static uint64_t xlat_tables[CONFIG_MAX_XLAT_TABLES * Ln_XLAT_NUM_ENTRIES] + __aligned(Ln_XLAT_NUM_ENTRIES * sizeof(uint64_t)); +static uint16_t xlat_use_count[CONFIG_MAX_XLAT_TABLES]; + +/* Returns a reference to a free table */ +static uint64_t *new_table(void) +{ + unsigned int i; + + /* Look for a free table. */ + for (i = 0; i < CONFIG_MAX_XLAT_TABLES; i++) { + if (xlat_use_count[i] == 0) { + xlat_use_count[i] = 1; + return &xlat_tables[i * Ln_XLAT_NUM_ENTRIES]; + } + } + + LOG_ERR("CONFIG_MAX_XLAT_TABLES, too small"); + return NULL; +} + +static inline unsigned int table_index(uint64_t *pte) +{ + unsigned int i = (pte - xlat_tables) / Ln_XLAT_NUM_ENTRIES; + + __ASSERT(i < CONFIG_MAX_XLAT_TABLES, "table %p out of range", pte); + return i; +} + +/* Makes a table free for reuse. */ +static void free_table(uint64_t *table) +{ + unsigned int i = table_index(table); + + MMU_DEBUG("freeing table [%d]%p\r\n", i, table); + __ASSERT(xlat_use_count[i] == 1, "table still in use"); + xlat_use_count[i] = 0; +} + +/* Adjusts usage count and returns current count. */ +static int table_usage(uint64_t *table, int adjustment) +{ + unsigned int i = table_index(table); + + xlat_use_count[i] += adjustment; + __ASSERT(xlat_use_count[i] > 0, "usage count underflow"); + return xlat_use_count[i]; +} + +static inline bool is_table_unused(uint64_t *table) +{ + return table_usage(table, 0) == 1; +} + +static inline bool is_free_desc(uint64_t desc) +{ + return (desc & PTE_DESC_TYPE_MASK) == PTE_INVALID_DESC; +} + +static inline bool is_table_desc(uint64_t desc, unsigned int level) +{ + return level != XLAT_LAST_LEVEL && + (desc & PTE_DESC_TYPE_MASK) == PTE_TABLE_DESC; +} + +static inline bool is_block_desc(uint64_t desc) +{ + return (desc & PTE_DESC_TYPE_MASK) == PTE_BLOCK_DESC; +} + +static inline uint64_t *pte_desc_table(uint64_t desc) +{ + uint64_t address = desc & GENMASK(47, PAGE_SIZE_SHIFT); + + return (uint64_t *)address; +} + +static inline bool is_desc_superset(uint64_t desc1, uint64_t desc2, + unsigned int level) +{ + uint64_t mask = DESC_ATTRS_MASK | GENMASK(47, LEVEL_TO_VA_SIZE_SHIFT(level)); + + return (desc1 & mask) == (desc2 & mask); +} + +#if DUMP_PTE +static void debug_show_pte(uint64_t *pte, unsigned int level) +{ + MMU_DEBUG("%.*s", level * 2, ". . . "); + MMU_DEBUG("[%d]%p: ", table_index(pte), pte); + + if (is_free_desc(*pte)) { + MMU_DEBUG("---\r\n"); + return; + } + + if (is_table_desc(*pte, level)) { + uint64_t *table = pte_desc_table(*pte); + + MMU_DEBUG("[Table] [%d]%p\r\n", table_index(table), table); + return; + } + + if (is_block_desc(*pte)) { + MMU_DEBUG("[Block] "); + } else { + MMU_DEBUG("[Page] "); + } + + uint8_t mem_type = (*pte >> 2) & MT_TYPE_MASK; + + MMU_DEBUG((mem_type == MT_NORMAL) ? "MEM" : + ((mem_type == MT_NORMAL_NC) ? "NC" : "DEV")); + MMU_DEBUG((*pte & PTE_BLOCK_DESC_AP_RO) ? "-RO" : "-RW"); + MMU_DEBUG((*pte & PTE_BLOCK_DESC_NS) ? "-NS" : "-S"); + MMU_DEBUG((*pte & PTE_BLOCK_DESC_AP_ELx) ? "-ELx" : "-ELh"); + MMU_DEBUG((*pte & PTE_BLOCK_DESC_PXN) ? "-PXN" : "-PX"); + MMU_DEBUG((*pte & PTE_BLOCK_DESC_UXN) ? "-UXN" : "-UX"); + MMU_DEBUG("\r\n"); +} +#else +static inline void debug_show_pte(uint64_t *pte, unsigned int level) { } +#endif + +static void set_pte_table_desc(uint64_t *pte, uint64_t *table, unsigned int level) +{ + /* Point pte to new table */ + *pte = PTE_TABLE_DESC | (uint64_t)table; + debug_show_pte(pte, level); +} + +static void set_pte_block_desc(uint64_t *pte, uint64_t desc, unsigned int level) +{ + if (desc) { + desc |= (level == XLAT_LAST_LEVEL) ? PTE_PAGE_DESC : PTE_BLOCK_DESC; + } + *pte = desc; + debug_show_pte(pte, level); +} + +static uint64_t *expand_to_table(uint64_t *pte, unsigned int level) +{ + uint64_t *table; + + __ASSERT(level < XLAT_LAST_LEVEL, "can't expand last level"); + + table = new_table(); + if (!table) { + return NULL; + } + + if (!is_free_desc(*pte)) { + /* + * If entry at current level was already populated + * then we need to reflect that in the new table. + */ + uint64_t desc = *pte; + unsigned int i, stride_shift; + + MMU_DEBUG("expanding PTE 0x%016llx into table [%d]%p\r\n", + desc, table_index(table), table); + __ASSERT(is_block_desc(desc), ""); + + if (level + 1 == XLAT_LAST_LEVEL) { + desc |= PTE_PAGE_DESC; + } + + stride_shift = LEVEL_TO_VA_SIZE_SHIFT(level + 1); + for (i = 0; i < Ln_XLAT_NUM_ENTRIES; i++) { + table[i] = desc | (i << stride_shift); + } + table_usage(table, Ln_XLAT_NUM_ENTRIES); + } else { + /* + * Adjust usage count for parent table's entry + * that will no longer be free. + */ + table_usage(pte, 1); + } + + /* Link the new table in place of the pte it replaces */ + set_pte_table_desc(pte, table, level); + table_usage(table, 1); + + return table; +} + +static int set_mapping(struct ARM_MMU_ptables *ptables, + uintptr_t virt, size_t size, + uint64_t desc, bool may_overwrite) +{ + uint64_t *pte, *ptes[XLAT_LAST_LEVEL + 1]; + uint64_t level_size; + uint64_t *table = ptables->base_xlat_table; + unsigned int level = BASE_XLAT_LEVEL; + int ret = 0; + + while (size) { + __ASSERT(level <= XLAT_LAST_LEVEL, + "max translation table level exceeded\r\n"); + + /* Locate PTE for given virtual address and page table level */ + pte = &table[XLAT_TABLE_VA_IDX(virt, level)]; + ptes[level] = pte; + + if (is_table_desc(*pte, level)) { + /* Move to the next translation table level */ + level++; + table = pte_desc_table(*pte); + continue; + } + + if (!may_overwrite && !is_free_desc(*pte)) { + /* the entry is already allocated */ + LOG_ERR("entry already in use: " + "level %d pte %p *pte 0x%016llx", + level, pte, *pte); + ret = -1; + break; + } + + level_size = 1ULL << LEVEL_TO_VA_SIZE_SHIFT(level); + + if (is_desc_superset(*pte, desc, level)) { + /* This block already covers our range */ + level_size -= (virt & (level_size - 1)); + if (level_size > size) { + level_size = size; + } + goto move_on; + } + + if ((size < level_size) || (virt & (level_size - 1))) { + /* Range doesn't fit, create subtable */ + table = expand_to_table(pte, level); + if (!table) { + ret = -1; + break; + } + level++; + continue; + } + + /* Adjust usage count for corresponding table */ + if (is_free_desc(*pte)) { + table_usage(pte, 1); + } + if (!desc) { + table_usage(pte, -1); + } + /* Create (or erase) block/page descriptor */ + set_pte_block_desc(pte, desc, level); + + /* recursively free unused tables if any */ + while (level != BASE_XLAT_LEVEL && + is_table_unused(pte)) { + free_table(pte); + pte = ptes[--level]; + set_pte_block_desc(pte, 0, level); + table_usage(pte, -1); + } + +move_on: + virt += level_size; + desc += desc ? level_size : 0; + size -= level_size; + + /* Range is mapped, start again for next range */ + table = ptables->base_xlat_table; + level = BASE_XLAT_LEVEL; + } + + return ret; +} + +static uint64_t get_region_desc(uint32_t attrs) +{ + unsigned int mem_type; + uint64_t desc = 0; + + /* NS bit for security memory access from secure state */ + desc |= (attrs & MT_NS) ? PTE_BLOCK_DESC_NS : 0; + + /* + * AP bits for EL0 / ELh Data access permission + * + * AP[2:1] ELh EL0 + * +--------------------+ + * 00 RW NA + * 01 RW RW + * 10 RO NA + * 11 RO RO + */ + + /* AP bits for Data access permission */ + desc |= (attrs & MT_RW) ? PTE_BLOCK_DESC_AP_RW : PTE_BLOCK_DESC_AP_RO; + + /* Mirror permissions to EL0 */ + desc |= (attrs & MT_RW_AP_ELx) ? + PTE_BLOCK_DESC_AP_ELx : PTE_BLOCK_DESC_AP_EL_HIGHER; + + /* the access flag */ + desc |= PTE_BLOCK_DESC_AF; + + /* memory attribute index field */ + mem_type = MT_TYPE(attrs); + desc |= PTE_BLOCK_DESC_MEMTYPE(mem_type); + + switch (mem_type) { + case MT_DEVICE_nGnRnE: + case MT_DEVICE_nGnRE: + case MT_DEVICE_GRE: + /* Access to Device memory and non-cacheable memory are coherent + * for all observers in the system and are treated as + * Outer shareable, so, for these 2 types of memory, + * it is not strictly needed to set shareability field + */ + desc |= PTE_BLOCK_DESC_OUTER_SHARE; + /* Map device memory as execute-never */ + desc |= PTE_BLOCK_DESC_PXN; + desc |= PTE_BLOCK_DESC_UXN; + break; + case MT_NORMAL_NC: + case MT_NORMAL: + /* Make Normal RW memory as execute never */ + if ((attrs & MT_RW) || (attrs & MT_P_EXECUTE_NEVER)) + desc |= PTE_BLOCK_DESC_PXN; + + if (((attrs & MT_RW) && (attrs & MT_RW_AP_ELx)) || + (attrs & MT_U_EXECUTE_NEVER)) + desc |= PTE_BLOCK_DESC_UXN; + + if (mem_type == MT_NORMAL) + desc |= PTE_BLOCK_DESC_INNER_SHARE; + else + desc |= PTE_BLOCK_DESC_OUTER_SHARE; + break; + default: + break; + } + + return desc; +} + +static int add_map(struct ARM_MMU_ptables *ptables, const char *name, + uintptr_t phys, uintptr_t virt, size_t size, uint32_t attrs) +{ + uint64_t desc = get_region_desc(attrs); + bool may_overwrite = !(attrs & MT_NO_OVERWRITE); + + MMU_DEBUG("mmap [%s]: virt %lx phys %lx size %lx attr %llx\r\n", + name, virt, phys, size, desc); + __ASSERT(((virt | phys | size) & (CONFIG_MMU_PAGE_SIZE - 1)) == 0, + "address/size are not page aligned\r\n"); + desc |= phys; + return set_mapping(ptables, virt, size, desc, may_overwrite); +} + +/* OS execution regions with appropriate attributes */ + +static inline void add_ARM_MMU_flat_range(struct ARM_MMU_ptables *ptables, + const struct ARM_MMU_flat_range *range, + uint32_t extra_flags) +{ + uintptr_t address = (uintptr_t)range->start; + size_t size = (uintptr_t)range->end - address; + + if (size) { + add_map(ptables, range->name, address, address, + size, range->attrs | extra_flags); + } +} + +static inline void add_ARM_MMU_region(struct ARM_MMU_ptables *ptables, + const struct ARM_MMU_region *region, + uint32_t extra_flags) +{ + if (region->size || region->attrs) { + add_map(ptables, region->name, region->base_pa, region->base_va, + region->size, region->attrs | extra_flags); + } +} + +static void setup_page_tables(const struct ARM_MMU_config *MMU_config, + struct ARM_MMU_ptables *ptables) +{ + unsigned int index; + const struct ARM_MMU_flat_range *range; + const struct ARM_MMU_region *region; + uintptr_t max_va = 0, max_pa = 0; + + MMU_DEBUG("xlat tables:\r\n"); + for (index = 0; index < CONFIG_MAX_XLAT_TABLES; index++) + MMU_DEBUG("%d: %p\r\n", index, xlat_tables + index * Ln_XLAT_NUM_ENTRIES); + + for (index = 0; index < MMU_config->num_regions; index++) { + region = &MMU_config->mmu_regions[index]; + max_va = MAX(max_va, region->base_va + region->size); + max_pa = MAX(max_pa, region->base_pa + region->size); + } + + __ASSERT(max_va <= (1ULL << CONFIG_ARM64_VA_BITS), + "Maximum VA not supported\r\n"); + __ASSERT(max_pa <= (1ULL << CONFIG_ARM64_PA_BITS), + "Maximum PA not supported\r\n"); + + /* setup translation table for OS execution regions */ + for (index = 0; index < MMU_config->num_os_ranges; index++) { + range = &MMU_config->mmu_os_ranges[index]; + add_ARM_MMU_flat_range(ptables, range, 0); + } + + /* + * Create translation tables for user provided platform regions. + * Those must not conflict with our default mapping. + */ + for (index = 0; index < MMU_config->num_regions; index++) { + region = &MMU_config->mmu_regions[index]; + add_ARM_MMU_region(ptables, region, MT_NO_OVERWRITE); + } + + ARM_MMU_InvalidateTLB(); +} + +/* Translation table control register settings */ +static uint64_t get_tcr(int el) +{ + uint64_t tcr; + uint64_t va_bits = CONFIG_ARM64_VA_BITS; + uint64_t tcr_ps_bits; + + tcr_ps_bits = TCR_PS_BITS; + + if (el == 1) { + tcr = (tcr_ps_bits << TCR_EL1_IPS_SHIFT); + /* + * TCR_EL1.EPD1: Disable translation table walk for addresses + * that are translated using TTBR1_EL1. + */ + tcr |= TCR_EPD1_DISABLE; + } else + tcr = (tcr_ps_bits << TCR_EL3_PS_SHIFT); + + tcr |= TCR_T0SZ(va_bits); + /* + * Translation table walk is cacheable, inner/outer WBWA + */ + tcr |= TCR_TG0_4K | TCR_ORGN_WBWA | TCR_IRGN_WBWA; + + return tcr; +} + +static void enable_mmu_el1(struct ARM_MMU_ptables *ptables, unsigned int flags) +{ + ARG_UNUSED(flags); + uint64_t val; + + /* Set MAIR, TCR and TBBR registers */ + __MSR(MAIR_EL1, MEMORY_ATTRIBUTES); + __MSR(TCR_EL1, get_tcr(1)); + __MSR(TTBR0_EL1, (uint64_t)ptables->base_xlat_table); + + /* Ensure these changes are seen before MMU is enabled */ + __ISB(); + + /* Enable the MMU and caches */ + __MRS(SCTLR_EL1, &val); + __MSR(SCTLR_EL1, val | SCTLR_M_BIT | SCTLR_C_BIT | SCTLR_I_BIT); + + /* Ensure the MMU enable takes effect immediately */ + __ISB(); + + MMU_DEBUG("MMU enabled with caches\r\n"); +} + +/* ARM MMU Driver Initial Setup */ + +static struct ARM_MMU_ptables kernel_ptables; + +/* + * @brief MMU default configuration + * + * This function provides the default configuration mechanism for the Memory + * Management Unit (MMU). + */ +void ARM_MMU_Initialize(const struct ARM_MMU_config *MMU_config, + bool is_primary_core) +{ + unsigned int flags = 0; + uint64_t val; + + __ASSERT(CONFIG_MMU_PAGE_SIZE == KB(4), + "Only 4K page size is supported\r\n"); + + __MRS(CURRENTEL, &val); + __ASSERT(GET_EL(val) == MODE_EL1, + "Exception level not EL1, MMU not enabled!\r\n"); + + /* Ensure that MMU is already not enabled */ + __MRS(SCTLR_EL1, &val); + __ASSERT((val & SCTLR_M_BIT) == 0, "MMU is already enabled\r\n"); + + /* + * Only booting core setup up the page tables. + */ + if (is_primary_core) { + kernel_ptables.base_xlat_table = new_table(); + setup_page_tables(MMU_config, &kernel_ptables); + } + + /* currently only EL1 is supported */ + enable_mmu_el1(&kernel_ptables, flags); +} + +/* + * @brief MMU mapping setup + * + * This function sets a new MMU region mapping + */ +int ARM_MMU_AddMap(const char *name, uintptr_t phys, uintptr_t virt, size_t size, uint32_t attrs) +{ + int ret = -1; + + if ((virt + size) > (1ULL << CONFIG_ARM64_VA_BITS)) + goto exit; + + if ((phys + size) > (1ULL << CONFIG_ARM64_PA_BITS)) + goto exit; + + if (size) { + ret = add_map(&kernel_ptables, name, phys, virt, size, attrs); + + ARM_MMU_InvalidateTLB(); + } + +exit: + return ret; +} + +/* + * @brief MMU TLB invalidation + * + * This function invalidates the entire unified TLB + */ +void ARM_MMU_InvalidateTLB(void) +{ + __DSB(); + __ASM volatile("tlbi vmalle1"); + __DSB(); + __ISB(); +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/SConscript new file mode 100644 index 00000000000..d6dd3c32356 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/CMSIS/SConscript @@ -0,0 +1,13 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() +objs = [] + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/SConscript new file mode 100644 index 00000000000..d6dd3c32356 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/SConscript @@ -0,0 +1,13 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() +objs = [] + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131.c b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131.c new file mode 100644 index 00000000000..3e8ee8ce918 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131.c @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2025-08-10 Siwei Xu Add i.MX91 SDK + * 2025-09-15 Siwei Xu Fix LPUART driver + * 2025-10-08 Siwei Xu Fix MMU Enable issues + */ + +#include "MIMX9131.h" + +CCM_Type* CCM_CTRL = (CCM_Type *)CCM_CTRL_BASE; + +LPUART_Type* LPUART1 = (LPUART_Type *)LPUART1_BASE; +LPUART_Type* LPUART2 = (LPUART_Type *)LPUART2_BASE; +LPUART_Type* LPUART3 = (LPUART_Type *)LPUART3_BASE; +LPUART_Type* LPUART4 = (LPUART_Type *)LPUART4_BASE; +LPUART_Type* LPUART5 = (LPUART_Type *)LPUART5_BASE; +LPUART_Type* LPUART6 = (LPUART_Type *)LPUART6_BASE; +LPUART_Type* LPUART7 = (LPUART_Type *)LPUART7_BASE; +LPUART_Type* LPUART8 = (LPUART_Type *)LPUART8_BASE; diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131.h b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131.h new file mode 100644 index 00000000000..d9632dd7f53 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131.h @@ -0,0 +1,138365 @@ +/* +** ################################################################### +** Processors: MIMX9131CVVXJ +** MIMX9131DVVXJ +** +** Compilers: GNU C Compiler +** IAR ANSI C/C++ Compiler for ARM +** Keil ARM C/C++ Compiler +** +** Reference manual: IMX91RM Rev.1 +** Version: rev. 1.0, 2024-11-15 +** Build: b250112 +** +** Abstract: +** CMSIS Peripheral Access Layer for MIMX9131 +** +** Copyright 1997-2016 Freescale Semiconductor, Inc. +** Copyright 2016-2025 NXP +** SPDX-License-Identifier: BSD-3-Clause +** +** http: www.nxp.com +** mail: support@nxp.com +** +** Revisions: +** - rev. 1.0 (2024-11-15) +** Initial version. +** +** ################################################################### +*/ + +/*! + * @file MIMX9131.h + * @version 1.0 + * @date 2024-11-15 + * @brief CMSIS Peripheral Access Layer for MIMX9131 + * + * CMSIS Peripheral Access Layer for MIMX9131 + */ + +#if !defined(MIMX9131_H_) +#define MIMX9131_H_ /**< Symbol preventing repeated inclusion */ + +/** Memory map major version (memory maps with equal major version number are + * compatible) */ +#define MCU_MEM_MAP_VERSION 0x0100U +/** Memory map minor version */ +#define MCU_MEM_MAP_VERSION_MINOR 0x0000U + + +/* ---------------------------------------------------------------------------- + -- Interrupt vector numbers + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup Interrupt_vector_numbers Interrupt vector numbers + * @{ + */ + +/** Interrupt Number Definitions */ +#define NUMBER_OF_INT_VECTORS 300 /**< Number of interrupts in the Vector table */ + +typedef enum IRQn { + /* Auxiliary constants */ + NotAvail_IRQn = -128, /**< Not available device specific interrupt */ + + /* Core interrupts */ + Software0_IRQn = 0, /**< Cortex-A55 Software Generated Interrupt 0 */ + Software1_IRQn = 1, /**< Cortex-A55 Software Generated Interrupt 1 */ + Software2_IRQn = 2, /**< Cortex-A55 Software Generated Interrupt 2 */ + Software3_IRQn = 3, /**< Cortex-A55 Software Generated Interrupt 3 */ + Software4_IRQn = 4, /**< Cortex-A55 Software Generated Interrupt 4 */ + Software5_IRQn = 5, /**< Cortex-A55 Software Generated Interrupt 5 */ + Software6_IRQn = 6, /**< Cortex-A55 Software Generated Interrupt 6 */ + Software7_IRQn = 7, /**< Cortex-A55 Software Generated Interrupt 7 */ + Software8_IRQn = 8, /**< Cortex-A55 Software Generated Interrupt 8 */ + Software9_IRQn = 9, /**< Cortex-A55 Software Generated Interrupt 9 */ + Software10_IRQn = 10, /**< Cortex-A55 Software Generated Interrupt 10 */ + Software11_IRQn = 11, /**< Cortex-A55 Software Generated Interrupt 11 */ + Software12_IRQn = 12, /**< Cortex-A55 Software Generated Interrupt 12 */ + Software13_IRQn = 13, /**< Cortex-A55 Software Generated Interrupt 13 */ + Software14_IRQn = 14, /**< Cortex-A55 Software Generated Interrupt 14 */ + Software15_IRQn = 15, /**< Cortex-A55 Software Generated Interrupt 15 */ + VirtualMaintenance_IRQn = 25, /**< Cortex-A55 Virtual Maintenance Interrupt */ + HypervisorTimer_IRQn = 26, /**< Cortex-A55 Hypervisor Timer Interrupt */ + VirtualTimer_IRQn = 27, /**< Cortex-A55 Virtual Timer Interrupt */ + LegacyFastInt_IRQn = 28, /**< Cortex-A55 Legacy nFIQ signal Interrupt */ + SecurePhyTimer_IRQn = 29, /**< Cortex-A55 Secure Physical Timer Interrupt */ + NonSecurePhyTimer_IRQn = 30, /**< Cortex-A55 Non-secure Physical Timer Interrupt */ + LegacyIRQ_IRQn = 31, /**< Cortex-A55 Legacy nIRQ Interrupt */ + + /* Device specific interrupts */ + Reserved32_IRQn = 32, /**< Reserved interrupt */ + DAP_IRQn = 33, /**< DAP interrupt */ + Reserved34_IRQn = 34, /**< Reserved interrupt */ + Reserved35_IRQn = 35, /**< Reserved interrupt */ + CTI_CA55_IRQn = 36, /**< CTI trigger outputs from CA55 platform */ + PMU_IRQn = 37, /**< Performance Unit Interrupts from CA55 platform */ + CACHE_ECC_ERR_IRQn = 38, /**< ECC error from CA55 platform cache */ + CACHE_ECC_PARITY_ERR_IRQn = 39, /**< 1-bit or 2-bit ECC or Parity error from CA55 platform cache */ + CAN1_IRQn = 40, /**< CAN1 interrupt */ + CAN1_ERROR_IRQn = 41, /**< CAN1 error interrupt */ + GPIO1_0_IRQn = 42, /**< General Purpose Input/Output 1 interrupt 0 */ + GPIO1_1_IRQn = 43, /**< General Purpose Input/Output 1 interrupt 1 */ + I3C1_IRQn = 44, /**< Improved Inter-Integrated Circuit 1 interrupt */ + LPI2C1_IRQn = 45, /**< Low Power Inter-Integrated Circuit module 1 */ + LPI2C2_IRQn = 46, /**< Low Power Inter-Integrated Circuit module 2 */ + LPIT1_IRQn = 47, /**< Low Power Periodic Interrupt Timer 1 */ + LPSPI1_IRQn = 48, /**< Low Power Serial Peripheral Interface 1 */ + LPSPI2_IRQn = 49, /**< Low Power Serial Peripheral Interface 2 */ + LPTMR1_IRQn = 50, /**< Low Power Timer 1 */ + LPUART1_IRQn = 51, /**< Low Power UART 1 */ + LPUART2_IRQn = 52, /**< Low Power UART 2 */ + Reserved53_IRQn = 53, /**< Reserved interrupt */ + Reserved54_IRQn = 54, /**< Reserved interrupt */ + Reserved55_IRQn = 55, /**< Reserved interrupt */ + Reserved56_IRQn = 56, /**< Reserved interrupt */ + Reserved57_IRQn = 57, /**< Reserved interrupt */ + Reserved58_IRQn = 58, /**< Reserved interrupt */ + Reserved59_IRQn = 59, /**< Reserved interrupt */ + EDGELOCK_TRUST_MUA_RX_IRQn = 60, /**< Edgelock Trust MUA RX full interrupt */ + EDGELOCK_TRUST_MUA_TX_IRQn = 61, /**< Edgelock Trust MUA TX empty interrupt */ + EDGELOCK_APP_MUA_RX_IRQn = 62, /**< Edgelock Apps Core MUA RX full interrupt */ + EDGELOCK_APP_MUA_TX_IRQn = 63, /**< Edgelock Apps Core MUA TX empty interrupt */ + EDGELOCK_RT_MUA_RX_IRQn = 64, /**< Edgelock Realtime Core MUA RX full interrupt */ + EDGELOCK_RT_MUA_TX_IRQn = 65, /**< Edgelock Realtime Core MUA TX empty interrupt */ + EDGELOCK_SECURE_IRQn = 66, /**< Edgelock secure interrupt */ + EDGELOCK_NONSECURE_IRQn = 67, /**< Edgelock non-secure interrupt */ + TPM1_IRQn = 68, /**< Timer PWM module 1 */ + TPM2_IRQn = 69, /**< Timer PWM module 2 */ + WDOG1_IRQn = 70, /**< Watchdog 1 Interrupt */ + WDOG2_IRQn = 71, /**< Watchdog 2 Interrupt */ + TRDC_IRQn = 72, /**< AONMIX TRDC transfer error interrupt */ + Reserved73_IRQn = 73, /**< Reserved interrupt */ + Reserved74_IRQn = 74, /**< Reserved interrupt */ + Reserved75_IRQn = 75, /**< Reserved interrupt */ + Reserved76_IRQn = 76, /**< Reserved interrupt */ + SAI1_IRQn = 77, /**< Serial Audio Interface 1 */ + Reserved78_IRQn = 78, /**< Reserved interrupt */ + Reserved79_IRQn = 79, /**< Reserved interrupt */ + Reserved80_IRQn = 80, /**< Reserved interrupt */ + Reserved81_IRQn = 81, /**< Reserved interrupt */ + Reserved82_IRQn = 82, /**< Reserved interrupt */ + CAN2_IRQn = 83, /**< CAN2 interrupt */ + CAN2_ERROR_IRQn = 84, /**< CAN2 error interrupt */ + Reserved85_IRQn = 85, /**< Reserved interrupt */ + Reserved86_IRQn = 86, /**< Reserved interrupt */ + FlexSPI1_IRQn = 87, /**< FlexSPI controller interface interrupt 1 */ + Reserved88_IRQn = 88, /**< Reserved interrupt */ + GPIO2_0_IRQn = 89, /**< General Purpose Input/Output 2 interrupt 0 */ + GPIO2_1_IRQn = 90, /**< General Purpose Input/Output 2 interrupt 1 */ + GPIO3_0_IRQn = 91, /**< General Purpose Input/Output 3 interrupt 0 */ + GPIO3_1_IRQn = 92, /**< General Purpose Input/Output 3 interrupt 1 */ + I3C2_IRQn = 93, /**< Improved Inter-Integrated Circuit 2 interrupt */ + LPI2C3_IRQn = 94, /**< Low Power Inter-Integrated Circuit module 3 */ + LPI2C4_IRQn = 95, /**< Low Power Inter-Integrated Circuit module 4 */ + LPIT2_IRQn = 96, /**< Low Power Periodic Interrupt Timer 2 */ + LPSPI3_IRQn = 97, /**< Low Power Serial Peripheral Interface 3 */ + LPSPI4_IRQn = 98, /**< Low Power Serial Peripheral Interface 4 */ + LPTMR2_IRQn = 99, /**< Low Power Timer 2 */ + LPUART3_IRQn = 100, /**< Low Power UART 3 */ + LPUART4_IRQn = 101, /**< Low Power UART 4 */ + LPUART5_IRQn = 102, /**< Low Power UART 5 */ + LPUART6_IRQn = 103, /**< Low Power UART 6 */ + MTR_MASTER_ERR_IRQn = 104, /**< MTR Master error interrupt */ + BBNSM_NONSECURE_IRQn = 105, /**< BBNSM Non-Secure interrupt */ + SYS_CTR_COMPARE_IRQn = 106, /**< System Counter compare interrupt */ + TPM3_IRQn = 107, /**< Timer PWM module 3 */ + TPM4_IRQn = 108, /**< Timer PWM module 4 */ + TPM5_IRQn = 109, /**< Timer PWM module 5 */ + TPM6_IRQn = 110, /**< Timer PWM module 6 */ + WDOG3_IRQn = 111, /**< Watchdog 3 Interrupt */ + WDOG4_IRQn = 112, /**< Watchdog 4 Interrupt */ + WDOG5_IRQn = 113, /**< Watchdog 5 Interrupt */ + TRDC_WAKEUPMIX_ERR_IRQn = 114, /**< WAKEUPMIX TRDC transfer error interrupt */ + TEMPMON_IRQn = 115, /**< TempSensor interrupt */ + Reserved116_IRQn = 116, /**< Reserved interrupt */ + Reserved117_IRQn = 117, /**< Reserved interrupt */ + uSDHC1_IRQn = 118, /**< ultra Secure Digital Host Controller interrupt 1 */ + uSDHC2_IRQn = 119, /**< ultra Secure Digital Host Controller interrupt 2 */ + TRDC_MEGAMIX_ERR_IRQn = 120, /**< MEGAMIX TRDC transfer error interrupt */ + TRDC_NIC_WRAPPER_ERR_IRQn = 121, /**< NIC_WRAPPER TRDC transfer error interrupt */ + DRAM_PERFMON_IRQn = 122, /**< DRAM controller Performance Monitor Interrupt */ + DRAM_CRITICAL_IRQn = 123, /**< DRAM controller Critical Interrupt */ + DRAM_PHY_CRITICAL_IRQn = 124, /**< DRAM Phy Critical Interrupt */ + Reserved125_IRQn = 125, /**< Reserved interrupt */ + DMA3_ERROR_IRQn = 126, /**< eDMA1 error interrupt */ + DMA3_0_IRQn = 127, /**< eDMA1 channel 0 interrupt */ + DMA3_1_IRQn = 128, /**< eDMA1 channel 1 interrupt */ + DMA3_2_IRQn = 129, /**< eDMA1 channel 2 interrupt */ + DMA3_3_IRQn = 130, /**< eDMA1 channel 3 interrupt */ + DMA3_4_IRQn = 131, /**< eDMA1 channel 4 interrupt */ + DMA3_5_IRQn = 132, /**< eDMA1 channel 5 interrupt */ + DMA3_6_IRQn = 133, /**< eDMA1 channel 6 interrupt */ + DMA3_7_IRQn = 134, /**< eDMA1 channel 7 interrupt */ + DMA3_8_IRQn = 135, /**< eDMA1 channel 8 interrupt */ + DMA3_9_IRQn = 136, /**< eDMA1 channel 9 interrupt */ + DMA3_10_IRQn = 137, /**< eDMA1 channel 10 interrupt */ + DMA3_11_IRQn = 138, /**< eDMA1 channel 11 interrupt */ + DMA3_12_IRQn = 139, /**< eDMA1 channel 12 interrupt */ + DMA3_13_IRQn = 140, /**< eDMA1 channel 13 interrupt */ + DMA3_14_IRQn = 141, /**< eDMA1 channel 14 interrupt */ + DMA3_15_IRQn = 142, /**< eDMA1 channel 15 interrupt */ + DMA3_16_IRQn = 143, /**< eDMA1 channel 16 interrupt */ + DMA3_17_IRQn = 144, /**< eDMA1 channel 17 interrupt */ + DMA3_18_IRQn = 145, /**< eDMA1 channel 18 interrupt */ + DMA3_19_IRQn = 146, /**< eDMA1 channel 19 interrupt */ + DMA3_20_IRQn = 147, /**< eDMA1 channel 20 interrupt */ + DMA3_21_IRQn = 148, /**< eDMA1 channel 21 interrupt */ + DMA3_22_IRQn = 149, /**< eDMA1 channel 22 interrupt */ + DMA3_23_IRQn = 150, /**< eDMA1 channel 23 interrupt */ + DMA3_24_IRQn = 151, /**< eDMA1 channel 24 interrupt */ + DMA3_25_IRQn = 152, /**< eDMA1 channel 25 interrupt */ + DMA3_26_IRQn = 153, /**< eDMA1 channel 26 interrupt */ + DMA3_27_IRQn = 154, /**< eDMA1 channel 27 interrupt */ + DMA3_28_IRQn = 155, /**< eDMA1 channel 28 interrupt */ + DMA3_29_IRQn = 156, /**< eDMA1 channel 29 interrupt */ + DMA3_30_IRQn = 157, /**< eDMA1 channel 30 interrupt */ + Reserved158_IRQn = 158, /**< Reserved interrupt */ + DMA4_ERROR_IRQn = 159, /**< eDMA2 error interrupt */ + DMA4_0_1_IRQn = 160, /**< eDMA2 channel 0/1 interrupt */ + DMA4_2_3_IRQn = 161, /**< eDMA2 channel 2/3 interrupt */ + DMA4_4_5_IRQn = 162, /**< eDMA2 channel 4/5 interrupt */ + DMA4_6_7_IRQn = 163, /**< eDMA2 channel 6/7 interrupt */ + DMA4_8_9_IRQn = 164, /**< eDMA2 channel 8/9 interrupt */ + DMA4_10_11_IRQn = 165, /**< eDMA2 channel 10/11 interrupt */ + DMA4_12_13_IRQn = 166, /**< eDMA2 channel 12/13 interrupt */ + DMA4_14_15_IRQn = 167, /**< eDMA2 channel 14/15 interrupt */ + DMA4_16_17_IRQn = 168, /**< eDMA2 channel 16/17 interrupt */ + DMA4_18_19_IRQn = 169, /**< eDMA2 channel 18/19 interrupt */ + DMA4_20_21_IRQn = 170, /**< eDMA2 channel 20/21 interrupt */ + DMA4_22_23_IRQn = 171, /**< eDMA2 channel 22/23 interrupt */ + DMA4_24_25_IRQn = 172, /**< eDMA2 channel 24/25 interrupt */ + DMA4_26_27_IRQn = 173, /**< eDMA2 channel 26/27 interrupt */ + DMA4_28_29_IRQn = 174, /**< eDMA2 channel 28/29 interrupt */ + DMA4_30_31_IRQn = 175, /**< eDMA2 channel 30/31 interrupt */ + DMA4_32_33_IRQn = 176, /**< eDMA2 channel 32/33 interrupt */ + DMA4_34_35_IRQn = 177, /**< eDMA2 channel 34/35 interrupt */ + DMA4_36_37_IRQn = 178, /**< eDMA2 channel 36/37 interrupt */ + DMA4_38_39_IRQn = 179, /**< eDMA2 channel 38/39 interrupt */ + DMA4_40_41_IRQn = 180, /**< eDMA2 channel 40/41 interrupt */ + DMA4_42_43_IRQn = 181, /**< eDMA2 channel 42/43 interrupt */ + DMA4_44_45_IRQn = 182, /**< eDMA2 channel 44/45 interrupt */ + DMA4_46_47_IRQn = 183, /**< eDMA2 channel 46/47 interrupt */ + DMA4_48_49_IRQn = 184, /**< eDMA2 channel 48/49 interrupt */ + DMA4_50_51_IRQn = 185, /**< eDMA2 channel 50/51 interrupt */ + DMA4_52_53_IRQn = 186, /**< eDMA2 channel 52/53 interrupt */ + DMA4_54_55_IRQn = 187, /**< eDMA2 channel 54/55 interrupt */ + DMA4_56_57_IRQn = 188, /**< eDMA2 channel 56/57 interrupt */ + DMA4_58_59_IRQn = 189, /**< eDMA2 channel 58/59 interrupt */ + DMA4_60_61_IRQn = 190, /**< eDMA2 channel 60/61 interrupt */ + DMA4_62_63_IRQn = 191, /**< eDMA2 channel 62/63 interrupt */ + DEBUG_WAKEUP_IRQn = 192, /**< Debug Wakeup Interrupt */ + EDGELOCK_GROUP1_RST_SRC_IRQn = 193, /**< Edgelock Group 1 reset source */ + EDGELOCK_GROUP2_RST_SRC_0_IRQn = 194, /**< Edgelock Group 2 reset source */ + EDGELOCK_GROUP2_RST_SRC_1_IRQn = 195, /**< Edgelock Group 2 reset source */ + DBG_TRACE_RST_SRC_IRQn = 196, /**< JTAGSW DAP MDM-AP SRC reset source */ + JTAGC_RST_SRC_IRQn = 197, /**< JTAGC SRC reset source */ + Reserved198_IRQn = 198, /**< Reserved interrupt */ + Reserved199_IRQn = 199, /**< Reserved interrupt */ + Reserved200_IRQn = 200, /**< Reserved interrupt */ + Reserved201_IRQn = 201, /**< Reserved interrupt */ + SAI2_IRQn = 202, /**< Serial Audio Interface 2 */ + SAI3_IRQn = 203, /**< Serial Audio Interface 3 */ + ISI_IRQn = 204, /**< ISI interrupt */ + Reserved205_IRQn = 205, /**< Reserved interrupt */ + Reserved206_IRQn = 206, /**< Reserved interrupt */ + Reserved207_IRQn = 207, /**< Reserved interrupt */ + LCDIFv3_IRQn = 208, /**< LCDIF Sync Interrupt */ + Reserved209_IRQn = 209, /**< Reserved interrupt */ + Reserved210_IRQn = 210, /**< Reserved interrupt */ + ENET_MAC0_Rx_Tx_Done1_IRQn = 211, /**< MAC 0 Receive / Trasmit Frame / Buffer Done */ + ENET_MAC0_Rx_Tx_Done2_IRQn = 212, /**< MAC 0 Receive / Trasmit Frame / Buffer Done */ + ENET_IRQn = 213, /**< MAC 0 IRQ */ + ENET_1588_IRQn = 214, /**< MAC 0 1588 Timer Interrupt - synchronous */ + ENET_QOS_PMT_IRQn = 215, /**< ENET QOS PMT interrupt */ + ENET_QOS_IRQn = 216, /**< ENET QOS interrupt */ + Reserved217_IRQn = 217, /**< Reserved interrupt */ + Reserved218_IRQn = 218, /**< Reserved interrupt */ + USB1_WAKEUP_IRQn = 219, /**< USB-1 Wake-up Interrupt */ + USB2_WAKEUP_IRQn = 220, /**< USB-2 Wake-up Interrupt */ + GPIO4_0_IRQn = 221, /**< General Purpose Input/Output 4 interrupt 0 */ + GPIO4_1_IRQn = 222, /**< General Purpose Input/Output 4 interrupt 1 */ + LPSPI5_IRQn = 223, /**< Low Power Serial Peripheral Interface 5 */ + LPSPI6_IRQn = 224, /**< Low Power Serial Peripheral Interface 6 */ + LPSPI7_IRQn = 225, /**< Low Power Serial Peripheral Interface 7 */ + LPSPI8_IRQn = 226, /**< Low Power Serial Peripheral Interface 8 */ + LPI2C5_IRQn = 227, /**< Low Power Inter-Integrated Circuit module 5 */ + LPI2C6_IRQn = 228, /**< Low Power Inter-Integrated Circuit module 6 */ + LPI2C7_IRQn = 229, /**< Low Power Inter-Integrated Circuit module 7 */ + LPI2C8_IRQn = 230, /**< Low Power Inter-Integrated Circuit module 8 */ + PDM_HWVAD_ERROR_IRQn = 231, /**< PDM interrupt */ + PDM_HWVAD_EVENT_IRQn = 232, /**< PDM interrupt */ + PDM_ERROR_IRQn = 233, /**< PDM interrupt */ + PDM_EVENT_IRQn = 234, /**< PDM interrupt */ + AUDIO_XCVR_0_IRQn = 235, /**< AUDIO XCVR interrupt */ + AUDIO_XCVR_1_IRQn = 236, /**< AUDIO XCVR interrupt */ + uSDHC3_IRQn = 237, /**< ultra Secure Digital Host Controller interrupt 3 */ + OCRAM_MECC_0_IRQn = 238, /**< OCRAM MECC interrupt */ + OCRAM_MECC_1_IRQn = 239, /**< OCRAM MECC interrupt */ + TRDC_HSIOMIX_ERR_IRQn = 240, /**< HSIOMIX TRDC transfer error interrupt */ + TRDC_MEDIAMIX_ERR_IRQn = 241, /**< MEDIAMIX TRDC transfer error interrupt */ + LPUART7_IRQn = 242, /**< Low Power UART 7 */ + LPUART8_IRQn = 243, /**< Low Power UART 8 */ + Reserved244_IRQn = 244, /**< Reserved interrupt */ + SFA_IRQn = 245, /**< SFA interrupt */ + GIC600_0_IRQn = 246, /**< GIC600 INTERRUPT */ + GIC600_1_IRQn = 247, /**< GIC600 INTERRUPT */ + GIC600_2_IRQn = 248, /**< GIC600 INTERRUPT */ + ADC_ER_IRQn = 249, /**< ADC interrupt */ + ADC_WD_IRQn = 250, /**< ADC interrupt */ + ADC_EOC_IRQn = 251, /**< ADC interrupt */ + Reserved252_IRQn = 252, /**< Reserved interrupt */ + I3C1_WAKEUP_IRQn = 253, /**< I3C1 wakeup irq after double sync */ + I3C2_WAKEUP_IRQn = 254, /**< I3C2 wakeup irq after double sync */ + Reserved255_IRQn = 255, /**< Reserved interrupt */ + Reserved256_IRQn = 256, /**< Reserved interrupt */ + Reserved257_IRQn = 257, /**< Reserved interrupt */ + Reserved258_IRQn = 258, /**< Reserved interrupt */ + Reserved259_IRQn = 259, /**< Reserved interrupt */ + Reserved260_IRQn = 260, /**< Reserved interrupt */ + Reserved261_IRQn = 261, /**< Reserved interrupt */ + Reserved262_IRQn = 262, /**< Reserved interrupt */ + Reserved263_IRQn = 263, /**< Reserved interrupt */ + Reserved264_IRQn = 264, /**< Reserved interrupt */ + Reserved265_IRQn = 265, /**< Reserved interrupt */ + Reserved266_IRQn = 266, /**< Reserved interrupt */ + Reserved267_IRQn = 267, /**< Reserved interrupt */ + Reserved268_IRQn = 268, /**< Reserved interrupt */ + Reserved269_IRQn = 269, /**< Reserved interrupt */ + Reserved270_IRQn = 270, /**< Reserved interrupt */ + Reserved271_IRQn = 271, /**< Reserved interrupt */ + Reserved272_IRQn = 272, /**< Reserved interrupt */ + Reserved273_IRQn = 273, /**< Reserved interrupt */ + Reserved274_IRQn = 274, /**< Reserved interrupt */ + Reserved275_IRQn = 275, /**< Reserved interrupt */ + Reserved276_IRQn = 276, /**< Reserved interrupt */ + Reserved277_IRQn = 277, /**< Reserved interrupt */ + Reserved278_IRQn = 278, /**< Reserved interrupt */ + Reserved279_IRQn = 279, /**< Reserved interrupt */ + Reserved280_IRQn = 280, /**< Reserved interrupt */ + Reserved281_IRQn = 281, /**< Reserved interrupt */ + Reserved282_IRQn = 282, /**< Reserved interrupt */ + Reserved283_IRQn = 283, /**< Reserved interrupt */ + Reserved284_IRQn = 284, /**< Reserved interrupt */ + Reserved285_IRQn = 285, /**< Reserved interrupt */ + Reserved286_IRQn = 286, /**< Reserved interrupt */ + Reserved287_IRQn = 287, /**< Reserved interrupt */ + Reserved288_IRQn = 288, /**< Reserved interrupt */ + Reserved289_IRQn = 289, /**< Reserved interrupt */ + Reserved290_IRQn = 290, /**< Reserved interrupt */ + Reserved291_IRQn = 291, /**< Reserved interrupt */ + Reserved292_IRQn = 292, /**< Reserved interrupt */ + Reserved293_IRQn = 293, /**< Reserved interrupt */ + Reserved294_IRQn = 294, /**< Reserved interrupt */ + Reserved295_IRQn = 295, /**< Reserved interrupt */ + Reserved296_IRQn = 296, /**< Reserved interrupt */ + Reserved297_IRQn = 297, /**< Reserved interrupt */ + Reserved298_IRQn = 298, /**< Reserved interrupt */ + Reserved299_IRQn = 299 /**< Reserved interrupt */ +} IRQn_Type; + +/*! + * @} + */ /* end of group Interrupt_vector_numbers */ + + +/* ---------------------------------------------------------------------------- + -- Cortex A55 Core Configuration + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup Cortex_Core_Configuration Cortex A55 Core Configuration + * @{ + */ + +#define __CA55_REV 0x0000 /**< Core revision r2p0 */ +#define __GIC_PRIO_BITS 4 /**< Number of priority bits implemented in the GIC */ +#define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */ +#define __FPU_USED 1 /**< Indicates whether an FPU is used or not */ +#define __MMU_PRESENT 1 /**< MMU present or not */ +#define __TIM_PRESENT 1 /**< TIM present or not */ +#define __CACHE_PRESENT 1 /**< CACHE present or not */ +#define __GIC_PRESENT 1 /**< GIC present or not */ +#define GIC_DISTRIBUTOR_BASE 0x48000000 /**< GIC distributor base address */ +#define GIC_REDISTRIBUTOR_BASE 0x48040000 /**< GIC CPU redistributor base address */ + +#include "core_ca55.h" /* Core Peripheral Access Layer */ +#include "system_MIMX9131.h" /* Device specific configuration file */ + +/*! + * @} + */ /* end of group Cortex_Core_Configuration */ + + +/* ---------------------------------------------------------------------------- + -- Mapping Information + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup Mapping_Information Mapping Information + * @{ + */ + +/** Mapping Information */ +/*! + * @addtogroup edma_request + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! + * @brief Structure for the DMA3 hardware request + * + * Defines the structure for the DMA hardware request collections. The user can configure the + * hardware request into DMAMUX to trigger the DMA transfer accordingly. The index + * of the hardware request varies according to the to SoC. + */ +typedef enum _dma3_request_source +{ + kDma3RequestMuxCAN1 = 1U, /**< CAN1 */ + kDma3RequestMuxGPIO1Request0 = 3U, /**< GPIO1 channel 0 */ + kDma3RequestMuxGPIO1Request1 = 4U, /**< GPIO1 channel 1 */ + kDma3RequestMuxI3C1ToBusRequest = 5U, /**< I3C1 To-bus Request */ + kDma3RequestMuxI3C1FromBusRequest = 6U, /**< I3C1 From-bus Request */ + kDma3RequestMuxLPI2C1Tx = 7U, /**< LPI2C1 */ + kDma3RequestMuxLPI2C1Rx = 8U, /**< LPI2C1 */ + kDma3RequestMuxLPI2C2Tx = 9U, /**< LPI2C2 */ + kDma3RequestMuxLPI2C2Rx = 10U, /**< LPI2C2 */ + kDma3RequestMuxLPSPI1Tx = 11U, /**< LPSPI1 Transmit */ + kDma3RequestMuxLPSPI1Rx = 12U, /**< LPSPI1 Receive */ + kDma3RequestMuxLPSPI2Tx = 13U, /**< LPSPI2 Transmit */ + kDma3RequestMuxLPSPI2Rx = 14U, /**< LPSPI2 Receive */ + kDma3RequestMuxLPTMR1Request = 15U, /**< LPTMR1 Request */ + kDma3RequestMuxLPUART1Tx = 16U, /**< LPUART1 Transmit */ + kDma3RequestMuxLPUART1Rx = 17U, /**< LPUART1 Receive */ + kDma3RequestMuxLPUART2Tx = 18U, /**< LPUART2 Transmit */ + kDma3RequestMuxLPUART2Rx = 19U, /**< LPUART2 Receive */ + kDma3RequestMuxEdgelockRequest = 20U, /**< Edgelock enclave DMA Request */ + kDma3RequestMuxSai1Tx = 21U, /**< SAI1 Transmit */ + kDma3RequestMuxSai1Rx = 22U, /**< SAI1 Receive */ + kDma3RequestMuxTPM1Request0Request2 = 23U, /**< TPM1 request 0 and request 2 */ + kDma3RequestMuxTPM1Request1Request3 = 24U, /**< TPM1 request 1 and request 3 */ + kDma3RequestMuxTPM1OverflowRequest = 25U, /**< TPM1 Overflow request */ + kDma3RequestMuxTPM2Request0Request2 = 26U, /**< TPM2 request 0 and request 2 */ + kDma3RequestMuxTPM2Request1Request3 = 27U, /**< TPM2 request 1 and request 3 */ + kDma3RequestMuxTPM2OverflowRequest = 28U, /**< TPM2 Overflow request */ + kDma3RequestMuxPDMRequest = 29U, /**< PDM */ + kDma3RequestMuxADC1Request = 30U, /**< ADC1 */ +} dma3_request_source_t; + +/* @} */ + +/*! + * @addtogroup edma_request + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! + * @brief Structure for the DMA4 hardware request + * + * Defines the structure for the DMA hardware request collections. The user can configure the + * hardware request into DMAMUX to trigger the DMA transfer accordingly. The index + * of the hardware request varies according to the to SoC. + */ +typedef enum _dma4_request_source +{ + kDma4RequestMuxCAN2 = 1U, /**< CAN2 */ + kDma4RequestMuxGPIO2Request0 = 2U, /**< GPIO2 channel 0 */ + kDma4RequestMuxGPIO2Request1 = 3U, /**< GPIO2 channel 1 */ + kDma4RequestMuxGPIO3Request0 = 4U, /**< GPIO3 channel 0 */ + kDma4RequestMuxGPIO3Request1 = 5U, /**< GPIO3 channel 1 */ + kDma4RequestMuxI3C2ToBusRequest = 6U, /**< I3C2 To-bus Request */ + kDma4RequestMuxI3C2FromBusRequest = 7U, /**< I3C2 From-bus Request */ + kDma4RequestMuxLPI2C3Tx = 8U, /**< LPI2C3 */ + kDma4RequestMuxLPI2C3Rx = 9U, /**< LPI2C3 */ + kDma4RequestMuxLPI2C4Tx = 10U, /**< LPI2C4 */ + kDma4RequestMuxLPI2C4Rx = 11U, /**< LPI2C4 */ + kDma4RequestMuxLPSPI3Tx = 12U, /**< LPSPI3 Transmit */ + kDma4RequestMuxLPSPI3Rx = 13U, /**< LPSPI3 Receive */ + kDma4RequestMuxLPSPI4Tx = 14U, /**< LPSPI4 Transmit */ + kDma4RequestMuxLPSPI4Rx = 15U, /**< LPSPI4 Receive */ + kDma4RequestMuxLPTMR2Request = 16U, /**< LPTMR2 Request */ + kDma4RequestMuxLPUART3Tx = 17U, /**< LPUART3 Transmit */ + kDma4RequestMuxLPUART3Rx = 18U, /**< LPUART3 Receive */ + kDma4RequestMuxLPUART4Tx = 19U, /**< LPUART4 Transmit */ + kDma4RequestMuxLPUART4Rx = 20U, /**< LPUART4 Receive */ + kDma4RequestMuxLPUART5Tx = 21U, /**< LPUART5 Transmit */ + kDma4RequestMuxLPUART5Rx = 22U, /**< LPUART5 Receive */ + kDma4RequestMuxLPUART6Tx = 23U, /**< LPUART6 Transmit */ + kDma4RequestMuxLPUART6Rx = 24U, /**< LPUART6 Receive */ + kDma4RequestMuxTPM3Request0Request2 = 25U, /**< TPM3 request 0 and request 2 */ + kDma4RequestMuxTPM3Request1Request3 = 26U, /**< TPM3 request 1 and request 3 */ + kDma4RequestMuxTPM3OverflowRequest = 27U, /**< TPM3 Overflow request */ + kDma4RequestMuxTPM4Request0Request2 = 28U, /**< TPM4 request 0 and request 2 */ + kDma4RequestMuxTPM4Request1Request3 = 29U, /**< TPM4 request 1 and request 3 */ + kDma4RequestMuxTPM4OverflowRequest = 30U, /**< TPM4 Overflow request */ + kDma4RequestMuxTPM5Request0Request2 = 31U, /**< TPM5 request 0 and request 2 */ + kDma4RequestMuxTPM5Request1Request3 = 32U, /**< TPM5 request 1 and request 3 */ + kDma4RequestMuxTPM5OverflowRequest = 33U, /**< TPM5 Overflow request */ + kDma4RequestMuxTPM6Request0Request2 = 34U, /**< TPM6 request 0 and request 2 */ + kDma4RequestMuxTPM6Request1Request3 = 35U, /**< TPM6 request 1 and request 3 */ + kDma4RequestMuxTPM6OverflowRequest = 36U, /**< TPM6 Overflow request */ + kDma4RequestMuxFlexIO1Request0 = 37U, /**< FlexIO1 Request0 */ + kDma4RequestMuxFlexIO1Request1 = 38U, /**< FlexIO1 Request1 */ + kDma4RequestMuxFlexIO1Request2 = 39U, /**< FlexIO1 Request2 */ + kDma4RequestMuxFlexIO1Request3 = 40U, /**< FlexIO1 Request3 */ + kDma4RequestMuxFlexIO1Request4 = 41U, /**< FlexIO1 Request4 */ + kDma4RequestMuxFlexIO1Request5 = 42U, /**< FlexIO1 Request5 */ + kDma4RequestMuxFlexIO1Request6 = 43U, /**< FlexIO1 Request6 */ + kDma4RequestMuxFlexIO1Request7 = 44U, /**< FlexIO1 Request7 */ + kDma4RequestMuxFlexIO2Request0 = 45U, /**< FlexIO2 Request0 */ + kDma4RequestMuxFlexIO2Request1 = 46U, /**< FlexIO2 Request1 */ + kDma4RequestMuxFlexIO2Request2 = 47U, /**< FlexIO2 Request2 */ + kDma4RequestMuxFlexIO2Request3 = 48U, /**< FlexIO2 Request3 */ + kDma4RequestMuxFlexIO2Request4 = 49U, /**< FlexIO2 Request4 */ + kDma4RequestMuxFlexIO2Request5 = 50U, /**< FlexIO2 Request5 */ + kDma4RequestMuxFlexIO2Request6 = 51U, /**< FlexIO2 Request6 */ + kDma4RequestMuxFlexIO2Request7 = 52U, /**< FlexIO2 Request7 */ + kDma4RequestMuxFlexSPI1Tx = 53U, /**< FlexSPI1 Transmit */ + kDma4RequestMuxFlexSPI1Rx = 54U, /**< FlexSPI1 Receive */ + kDma4RequestMuxSai2Tx = 58U, /**< SAI2 Transmit */ + kDma4RequestMuxSai2Rx = 59U, /**< SAI2 Receive */ + kDma4RequestMuxSai3Tx = 60U, /**< SAI3 Transmit */ + kDma4RequestMuxSai3Rx = 61U, /**< SAI3 Receive */ + kDma4RequestMuxGPIO4Request0 = 62U, /**< GPIO4 channel 0 */ + kDma4RequestMuxGPIO4Request1 = 63U, /**< GPIO4 channel 1 */ + kDma4RequestMuxSPDIFRequest = 65U, /**< SPDIF */ + kDma4RequestMuxSPDIFRequest1 = 66U, /**< SPDIF */ + kDma4RequestMuxENETRequest = 67U, /**< ENET */ + kDma4RequestMuxENETRequest1 = 68U, /**< ENET */ + kDma4RequestMuxENETRequest2 = 69U, /**< ENET */ + kDma4RequestMuxENETRequest3 = 70U, /**< ENET */ + kDma4RequestMuxLPI2C5Tx = 71U, /**< LPI2C5 */ + kDma4RequestMuxLPI2C5Rx = 72U, /**< LPI2C5 */ + kDma4RequestMuxLPI2C6Tx = 73U, /**< LPI2C6 */ + kDma4RequestMuxLPI2C6Rx = 74U, /**< LPI2C6 */ + kDma4RequestMuxLPI2C7Tx = 75U, /**< LPI2C7 */ + kDma4RequestMuxLPI2C7Rx = 76U, /**< LPI2C7 */ + kDma4RequestMuxLPI2C8Tx = 77U, /**< LPI2C8 */ + kDma4RequestMuxLPI2C8Rx = 78U, /**< LPI2C8 */ + kDma4RequestMuxLPSPI5Tx = 79U, /**< LPSPI5 Transmit */ + kDma4RequestMuxLPSPI5Rx = 80U, /**< LPSPI5 Receive */ + kDma4RequestMuxLPSPI6Tx = 81U, /**< LPSPI6 Transmit */ + kDma4RequestMuxLPSPI6Rx = 82U, /**< LPSPI6 Receive */ + kDma4RequestMuxLPSPI7Tx = 83U, /**< LPSPI7 Transmit */ + kDma4RequestMuxLPSPI7Rx = 84U, /**< LPSPI7 Receive */ + kDma4RequestMuxLPSPI8Tx = 85U, /**< LPSPI8 Transmit */ + kDma4RequestMuxLPSPI8Rx = 86U, /**< LPSPI8 Receive */ + kDma4RequestMuxLPUART7Tx = 87U, /**< LPUART7 Transmit */ + kDma4RequestMuxLPUART7Rx = 88U, /**< LPUART7 Receive */ + kDma4RequestMuxLPUART8Tx = 89U, /**< LPUART8 Transmit */ + kDma4RequestMuxLPUART8Rx = 90U, /**< LPUART8 Receive */ + kDma4RequestMuxENET_QOSRequest = 91U, /**< ENET_QOS */ + kDma4RequestMuxENET_QOSRequest1 = 92U, /**< ENET_QOS */ + kDma4RequestMuxENET_QOSRequest2 = 93U, /**< ENET_QOS */ + kDma4RequestMuxENET_QOSRequest3 = 94U, /**< ENET_QOS */ +} dma4_request_source_t; + +/* @} */ + + +/*! + * @} + */ /* end of group Mapping_Information */ + + +/* ---------------------------------------------------------------------------- + -- Device Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup Peripheral_access_layer Device Peripheral Access Layer + * @{ + */ + + +/* +** Start of section using anonymous unions +*/ + +#if defined(__ARMCC_VERSION) + #if (__ARMCC_VERSION >= 6010050) + #pragma clang diagnostic push + #else + #pragma push + #pragma anon_unions + #endif +#elif defined(__GNUC__) + /* anonymous unions are enabled by default */ +#elif defined(__IAR_SYSTEMS_ICC__) + #pragma language=extended +#else + #error Not supported compiler type +#endif + +/* ---------------------------------------------------------------------------- + -- ADC Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer + * @{ + */ + +/** ADC - Register Layout Typedef */ +typedef struct { + __IO uint32_t MCR; /**< Main Configuration, offset: 0x0 */ + __IO uint32_t MSR; /**< Main Status, offset: 0x4 */ + uint8_t RESERVED_0[8]; + __IO uint32_t ISR; /**< Interrupt Status, offset: 0x10 */ + __IO uint32_t CEOCFR0; /**< Channel Pending 0, offset: 0x14 */ + __IO uint32_t CEOCFR1; /**< Channel Pending 1, offset: 0x18 */ + uint8_t RESERVED_1[4]; + __IO uint32_t IMR; /**< Interrupt Mask, offset: 0x20 */ + __IO uint32_t CIMR0; /**< Channel Interrupt Mask 0, offset: 0x24 */ + __IO uint32_t CIMR1; /**< Channel Interrupt Mask 1, offset: 0x28 */ + uint8_t RESERVED_2[4]; + __IO uint32_t WTISR; /**< Watchdog Threshold Interrupt Status, offset: 0x30 */ + __IO uint32_t WTIMR; /**< Watchdog Threshold Interrupt Mask, offset: 0x34 */ + uint8_t RESERVED_3[8]; + __IO uint32_t DMAE; /**< DMAE, offset: 0x40 */ + __IO uint32_t DMAR0; /**< DMA 0, offset: 0x44 */ + __IO uint32_t DMAR1; /**< DMA 1, offset: 0x48 */ + uint8_t RESERVED_4[20]; + __IO uint32_t THRHLR0; /**< Analog Watchdog Threshold 0, offset: 0x60 */ + __IO uint32_t THRHLR1; /**< Analog Watchdog Threshold 1, offset: 0x64 */ + __IO uint32_t THRHLR2; /**< Analog Watchdog Threshold 2, offset: 0x68 */ + __IO uint32_t THRHLR3; /**< Analog Watchdog Threshold 3, offset: 0x6C */ + uint8_t RESERVED_5[16]; + __IO uint32_t PSCR; /**< Presampling Control, offset: 0x80 */ + __IO uint32_t PSR0; /**< Presampling 0, offset: 0x84 */ + __IO uint32_t PSR1; /**< Presampling 1, offset: 0x88 */ + uint8_t RESERVED_6[8]; + __IO uint32_t CTR0; /**< Conversion Timing 0, offset: 0x94 */ + __IO uint32_t CTR1; /**< Conversion Timing 1, offset: 0x98 */ + uint8_t RESERVED_7[8]; + __IO uint32_t NCMR0; /**< Normal Conversion Mask 0, offset: 0xA4 */ + __IO uint32_t NCMR1; /**< Normal Conversion Mask 1, offset: 0xA8 */ + uint8_t RESERVED_8[8]; + __IO uint32_t JCMR0; /**< Injected Conversion Mask 0, offset: 0xB4 */ + __IO uint32_t JCMR1; /**< Injected Conversion Mask 1, offset: 0xB8 */ + uint8_t RESERVED_9[4]; + __IO uint32_t USROFSGN; /**< User OFFSET and Gain, offset: 0xC0 */ + uint8_t RESERVED_10[4]; + __IO uint32_t PDEDR; /**< Power Down Exit Delay, offset: 0xC8 */ + uint8_t RESERVED_11[52]; + __I uint32_t PCDR[8]; /**< Precision Channel n Data, array offset: 0x100, array step: 0x4 */ + uint8_t RESERVED_12[96]; + __I uint32_t ICDR[8]; /**< Internal Channel n Data, array offset: 0x180, array step: 0x4 */ + uint8_t RESERVED_13[224]; + __IO uint32_t THRHLR4; /**< Analog Watchdog Threshold 4, offset: 0x280 */ + __IO uint32_t THRHLR5; /**< Analog Watchdog Threshold 5, offset: 0x284 */ + __IO uint32_t THRHLR6; /**< Analog Watchdog Threshold 6, offset: 0x288 */ + __IO uint32_t THRHLR7; /**< Analog Watchdog Threshold 7, offset: 0x28C */ + uint8_t RESERVED_14[32]; + __IO uint32_t CWSELR0; /**< Channel Watchdog Select 0, offset: 0x2B0 */ + uint8_t RESERVED_15[12]; + __IO uint32_t CWSELR4; /**< Channel Watchdog Select 4, offset: 0x2C0 */ + uint8_t RESERVED_16[28]; + __IO uint32_t CWENR0; /**< Channel Watchdog Enable 0, offset: 0x2E0 */ + __IO uint32_t CWENR1; /**< Channel Watchdog Enable 1, offset: 0x2E4 */ + uint8_t RESERVED_17[8]; + __IO uint32_t AWORR0; /**< Analog Watchdog Out of Range 0, offset: 0x2F0 */ + __IO uint32_t AWORR1; /**< Analog Watchdog Out of Range 1, offset: 0x2F4 */ + uint8_t RESERVED_18[72]; + __IO uint32_t STCR1; /**< Self-Test Configuration 1, offset: 0x340 */ + __IO uint32_t STCR2; /**< Self-Test Configuration 2, offset: 0x344 */ + __IO uint32_t STCR3; /**< Self-Test Configuration 3, offset: 0x348 */ + __IO uint32_t STBRR; /**< Self-Test Baud Rate, offset: 0x34C */ + __IO uint32_t STSR1; /**< Self-Test Status 1, offset: 0x350 */ + __I uint32_t STSR2; /**< Self-Test Status 2, offset: 0x354 */ + __I uint32_t STSR3; /**< Self-Test Status 3, offset: 0x358 */ + __I uint32_t STSR4; /**< Self-Test Status 4, offset: 0x35C */ + uint8_t RESERVED_19[16]; + __I uint32_t STDR1; /**< Self-Test Data 1, offset: 0x370 */ + __I uint32_t STDR2; /**< Self-Test Data 2, offset: 0x374 */ + uint8_t RESERVED_20[8]; + __IO uint32_t STAW0R; /**< Self-Test Analog Watchdog 0, offset: 0x380 */ + __IO uint32_t STAW1AR; /**< Self-Test Analog Watchdog 1A, offset: 0x384 */ + __IO uint32_t STAW1BR; /**< Self-Test Analog Watchdog 1B, offset: 0x388 */ + __IO uint32_t STAW2R; /**< Self-Test Analog Watchdog 2, offset: 0x38C */ + uint32_t STAW3R; /**< Self-Test Analog Watchdog 3, offset: 0x390 */ + __IO uint32_t STAW4R; /**< Self-Test Analog Watchdog 4, offset: 0x394 */ + __IO uint32_t STAW5R; /**< Self-Test Analog Watchdog 5, offset: 0x398 */ + __I uint32_t CALSTAT; /**< Calibration Status, offset: 0x39C */ +} ADC_Type; + +/* ---------------------------------------------------------------------------- + -- ADC Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ADC_Register_Masks ADC Register Masks + * @{ + */ + +/*! @name MCR - Main Configuration */ +/*! @{ */ + +#define ADC_MCR_PWDN_MASK (0x1U) +#define ADC_MCR_PWDN_SHIFT (0U) +/*! PWDN - Power-Down Enable + * 0b0..When ADC status is in Power-down mode (MSR[ADCSTATUS] = 001b), start ADC transition to IDLE mode + * 0b1..Request to enter Power-down mode + */ +#define ADC_MCR_PWDN(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_PWDN_SHIFT)) & ADC_MCR_PWDN_MASK) + +#define ADC_MCR_ACKO_MASK (0x20U) +#define ADC_MCR_ACKO_SHIFT (5U) +/*! ACKO - Auto-Clock-Off Mode Enable + * 0b0..Auto-Clock-Off feature is disabled + * 0b1..Auto-Clock-Off feature is enabled + */ +#define ADC_MCR_ACKO(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_ACKO_SHIFT)) & ADC_MCR_ACKO_MASK) + +#define ADC_MCR_ABORT_MASK (0x40U) +#define ADC_MCR_ABORT_SHIFT (6U) +/*! ABORT - Abort Conversion + * 0b0..Channel conversion has been aborted, or channel conversion is not currently running + * 0b1..Abort current channel conversion + */ +#define ADC_MCR_ABORT(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_ABORT_SHIFT)) & ADC_MCR_ABORT_MASK) + +#define ADC_MCR_ABORTCHAIN_MASK (0x80U) +#define ADC_MCR_ABORTCHAIN_SHIFT (7U) +/*! ABORTCHAIN - Abort Conversion Chain + * 0b0..Chain conversion aborted or is currently not running + * 0b1..Abort current chain conversion + */ +#define ADC_MCR_ABORTCHAIN(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_ABORTCHAIN_SHIFT)) & ADC_MCR_ABORTCHAIN_MASK) + +#define ADC_MCR_ADCLKSE_MASK (0x100U) +#define ADC_MCR_ADCLKSE_SHIFT (8U) +/*! ADCLKSE - Analog Clock Frequency Select + * 0b0..AD_CLK frequency is half + * 0b1..AD_CLK frequency is equal to bus clock frequency + */ +#define ADC_MCR_ADCLKSE(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_ADCLKSE_SHIFT)) & ADC_MCR_ADCLKSE_MASK) + +#define ADC_MCR_TSAMP_MASK (0x600U) +#define ADC_MCR_TSAMP_SHIFT (9U) +/*! TSAMP - Sample Time for Calibration + * 0b00..22 cycles of AD_CLK (default) + * 0b01..8 cycles of AD_CLK + * 0b10..16 cycle of AD_CLK + * 0b11..32 cycle of AD_CLK + */ +#define ADC_MCR_TSAMP(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_TSAMP_SHIFT)) & ADC_MCR_TSAMP_MASK) + +#define ADC_MCR_NRSMPL_MASK (0x1800U) +#define ADC_MCR_NRSMPL_SHIFT (11U) +/*! NRSMPL - Number of Averaging Samples + * 0b00..16 + * 0b01..32 + * 0b10..128 + * 0b11..512 + */ +#define ADC_MCR_NRSMPL(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_NRSMPL_SHIFT)) & ADC_MCR_NRSMPL_MASK) + +#define ADC_MCR_AVGEN_MASK (0x2000U) +#define ADC_MCR_AVGEN_SHIFT (13U) +/*! AVGEN - Average Enable + * 0b0..Disable + * 0b1..Enable (default) + */ +#define ADC_MCR_AVGEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_AVGEN_SHIFT)) & ADC_MCR_AVGEN_MASK) + +#define ADC_MCR_CALSTART_MASK (0x4000U) +#define ADC_MCR_CALSTART_SHIFT (14U) +/*! CALSTART - Calibration Start + * 0b0..No effect + * 0b1..Start calibration + */ +#define ADC_MCR_CALSTART(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_CALSTART_SHIFT)) & ADC_MCR_CALSTART_MASK) + +#define ADC_MCR_STCL_MASK (0x8000U) +#define ADC_MCR_STCL_SHIFT (15U) +/*! STCL - Self-Testing Configuration Lock + * 0b0..Not locked + * 0b1..Locked + */ +#define ADC_MCR_STCL(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_STCL_SHIFT)) & ADC_MCR_STCL_MASK) + +#define ADC_MCR_JSTART_MASK (0x100000U) +#define ADC_MCR_JSTART_SHIFT (20U) +/*! JSTART - Start Injection Conversion */ +#define ADC_MCR_JSTART(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_JSTART_SHIFT)) & ADC_MCR_JSTART_MASK) + +#define ADC_MCR_JEDGE_MASK (0x200000U) +#define ADC_MCR_JEDGE_SHIFT (21U) +/*! JEDGE - Injection Trigger Edge Selection + * 0b0..Falling edge is trigger + * 0b1..Rising edge is trigger + */ +#define ADC_MCR_JEDGE(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_JEDGE_SHIFT)) & ADC_MCR_JEDGE_MASK) + +#define ADC_MCR_JTRGEN_MASK (0x400000U) +#define ADC_MCR_JTRGEN_SHIFT (22U) +/*! JTRGEN - Injection External Trigger Enable + * 0b0..Injected conversion not started by external trigger + * 0b1..Injected conversion started by external trigger + */ +#define ADC_MCR_JTRGEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_JTRGEN_SHIFT)) & ADC_MCR_JTRGEN_MASK) + +#define ADC_MCR_NSTART_MASK (0x1000000U) +#define ADC_MCR_NSTART_SHIFT (24U) +/*! NSTART - Normal Conversion Start */ +#define ADC_MCR_NSTART(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_NSTART_SHIFT)) & ADC_MCR_NSTART_MASK) + +#define ADC_MCR_EDGE_MASK (0x4000000U) +#define ADC_MCR_EDGE_SHIFT (26U) +/*! EDGE - Trigger Edge Select + * 0b0..Falling edge is trigger + * 0b1..Rising edge is trigger + */ +#define ADC_MCR_EDGE(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_EDGE_SHIFT)) & ADC_MCR_EDGE_MASK) + +#define ADC_MCR_TRGEN_MASK (0x8000000U) +#define ADC_MCR_TRGEN_SHIFT (27U) +/*! TRGEN - External Trigger Enable + * 0b0..External trigger is disabled + * 0b1..Enables the external trigger to start a conversion + */ +#define ADC_MCR_TRGEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_TRGEN_SHIFT)) & ADC_MCR_TRGEN_MASK) + +#define ADC_MCR_MODE_MASK (0x20000000U) +#define ADC_MCR_MODE_SHIFT (29U) +/*! MODE - Normal Scan Mode Select + * 0b0..One-Shot Operation mode + * 0b1..Scan Operation mode + */ +#define ADC_MCR_MODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_MODE_SHIFT)) & ADC_MCR_MODE_MASK) + +#define ADC_MCR_WLSIDE_MASK (0x40000000U) +#define ADC_MCR_WLSIDE_SHIFT (30U) +/*! WLSIDE - Write Left Side + * 0b0..Write right-aligned conversion data (from 11 to 0) + * 0b1..Write left-aligned conversion data (from 15 to 4) + */ +#define ADC_MCR_WLSIDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_WLSIDE_SHIFT)) & ADC_MCR_WLSIDE_MASK) + +#define ADC_MCR_OWREN_MASK (0x80000000U) +#define ADC_MCR_OWREN_SHIFT (31U) +/*! OWREN - Overwrite Enable + * 0b0..Older valid conversion data is not overwritten by newer conversion data + * 0b1..Newer conversion result is always overwritten, irrespective of the validity of older conversion data + */ +#define ADC_MCR_OWREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_MCR_OWREN_SHIFT)) & ADC_MCR_OWREN_MASK) +/*! @} */ + +/*! @name MSR - Main Status */ +/*! @{ */ + +#define ADC_MSR_ADCSTATUS_MASK (0x7U) +#define ADC_MSR_ADCSTATUS_SHIFT (0U) +/*! ADCSTATUS - ADC Status + * 0b000..Idle + * 0b001..Power-down + * 0b010..Wait state (waiting to start conversion after [external trigger]). + * 0b011..Busy in calibration + * 0b100..Sample + * 0b110..Conversion + */ +#define ADC_MSR_ADCSTATUS(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_ADCSTATUS_SHIFT)) & ADC_MSR_ADCSTATUS_MASK) + +#define ADC_MSR_ACKO_MASK (0x20U) +#define ADC_MSR_ACKO_SHIFT (5U) +/*! ACKO - Auto-Clock-Off Enable + * 0b0..Auto-Clock-Off feature is not enabled + * 0b1..Auto-Clock-Off feature is enabled + */ +#define ADC_MSR_ACKO(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_ACKO_SHIFT)) & ADC_MSR_ACKO_MASK) + +#define ADC_MSR_CHADDR_MASK (0xFE00U) +#define ADC_MSR_CHADDR_SHIFT (9U) +/*! CHADDR - Channel Address + * 0b0000000..Channel 0 selected + * 0b0000001..Channel 1 selected + * 0b0000010..Channel 2 selected + * 0b0000011..Channel 3 selected + * 0b0000100..Channel 4 selected + * 0b0000101..Channel 5 selected + * 0b0000110..Channel 6 selected + * 0b0000111..Channel 7 selected + * 0b0100000..Bandgap input selected + * 0b0100001..Pre-sample voltage - 1 : DVDD1P0/2 + * 0b0100010..Pre-sample voltage - 2 : AVDD1p8 + * 0b0100011..Pre-sample voltage - 3 : VREFL_1p8 + * 0b0100100..Pre-sample voltage - 4 : VREFH_1p8 + */ +#define ADC_MSR_CHADDR(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_CHADDR_SHIFT)) & ADC_MSR_CHADDR_MASK) + +#define ADC_MSR_SELF_TEST_S_MASK (0x40000U) +#define ADC_MSR_SELF_TEST_S_SHIFT (18U) +/*! SELF_TEST_S - Self-Test Status + * 0b0..Self-test conversion is not in process + * 0b1..Self-test conversion is in process + */ +#define ADC_MSR_SELF_TEST_S(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_SELF_TEST_S_SHIFT)) & ADC_MSR_SELF_TEST_S_MASK) + +#define ADC_MSR_JSTART_MASK (0x100000U) +#define ADC_MSR_JSTART_SHIFT (20U) +/*! JSTART - Injected Conversion Status + * 0b0..Injected conversion is not in process + * 0b1..Injected conversion is in process + */ +#define ADC_MSR_JSTART(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_JSTART_SHIFT)) & ADC_MSR_JSTART_MASK) + +#define ADC_MSR_JABORT_MASK (0x800000U) +#define ADC_MSR_JABORT_SHIFT (23U) +/*! JABORT - Injected Conversion Abort Status + * 0b0..Injected conversion has not been aborted + * 0b1..Injected conversion has been aborted + */ +#define ADC_MSR_JABORT(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_JABORT_SHIFT)) & ADC_MSR_JABORT_MASK) + +#define ADC_MSR_NSTART_MASK (0x1000000U) +#define ADC_MSR_NSTART_SHIFT (24U) +/*! NSTART - Normal Conversion Status + * 0b0..Normal conversion is not in process + * 0b1..Normal conversion is in process + */ +#define ADC_MSR_NSTART(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_NSTART_SHIFT)) & ADC_MSR_NSTART_MASK) + +#define ADC_MSR_CALBUSY_MASK (0x20000000U) +#define ADC_MSR_CALBUSY_SHIFT (29U) +/*! CALBUSY - Calibration Busy + * 0b0..ADC is ready for use + * 0b1..ADC is busy in a calibration process + */ +#define ADC_MSR_CALBUSY(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_CALBUSY_SHIFT)) & ADC_MSR_CALBUSY_MASK) + +#define ADC_MSR_CALFAIL_MASK (0x40000000U) +#define ADC_MSR_CALFAIL_SHIFT (30U) +/*! CALFAIL - Calibration Failed + * 0b0..Calibration passed (must be checked with CALBUSY = 0b) + * 0b0..No effect + * 0b1..Calibration failed + * 0b1..Clear the flag + */ +#define ADC_MSR_CALFAIL(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_CALFAIL_SHIFT)) & ADC_MSR_CALFAIL_MASK) + +#define ADC_MSR_CALIBRTD_MASK (0x80000000U) +#define ADC_MSR_CALIBRTD_SHIFT (31U) +/*! CALIBRTD - Calibration Status + * 0b0..Uncalibrated or calibration unsuccessful + * 0b1..Calibrated or calibration successful + */ +#define ADC_MSR_CALIBRTD(x) (((uint32_t)(((uint32_t)(x)) << ADC_MSR_CALIBRTD_SHIFT)) & ADC_MSR_CALIBRTD_MASK) +/*! @} */ + +/*! @name ISR - Interrupt Status */ +/*! @{ */ + +#define ADC_ISR_ECH_MASK (0x1U) +#define ADC_ISR_ECH_SHIFT (0U) +/*! ECH - End of Conversion Chain + * 0b0..End of conversion chain has not occurred + * 0b0..No effect + * 0b1..End of conversion chain has occurred + * 0b1..Clear the flag + */ +#define ADC_ISR_ECH(x) (((uint32_t)(((uint32_t)(x)) << ADC_ISR_ECH_SHIFT)) & ADC_ISR_ECH_MASK) + +#define ADC_ISR_EOC_MASK (0x2U) +#define ADC_ISR_EOC_SHIFT (1U) +/*! EOC - End of Channel Conversion + * 0b0..Channel end of conversion has not occurred + * 0b0..No effect + * 0b1..Channel end of conversion has occurred + * 0b1..Clear the flag + */ +#define ADC_ISR_EOC(x) (((uint32_t)(((uint32_t)(x)) << ADC_ISR_EOC_SHIFT)) & ADC_ISR_EOC_MASK) + +#define ADC_ISR_JECH_MASK (0x4U) +#define ADC_ISR_JECH_SHIFT (2U) +/*! JECH - Injected End of Conversion Chain + * 0b0..Injected channel end of conversion chain has not occurred + * 0b0..No effect + * 0b1..Injected channel end of conversion chain has occurred + * 0b1..Clear the flag + */ +#define ADC_ISR_JECH(x) (((uint32_t)(((uint32_t)(x)) << ADC_ISR_JECH_SHIFT)) & ADC_ISR_JECH_MASK) + +#define ADC_ISR_JEOC_MASK (0x8U) +#define ADC_ISR_JEOC_SHIFT (3U) +/*! JEOC - Injected Channel End of Conversion + * 0b0..Injected channel end of conversion has not occurred + * 0b0..No effect + * 0b1..Injected channel end of conversion has occurred + * 0b1..Clear the flag + */ +#define ADC_ISR_JEOC(x) (((uint32_t)(((uint32_t)(x)) << ADC_ISR_JEOC_SHIFT)) & ADC_ISR_JEOC_MASK) +/*! @} */ + +/*! @name CEOCFR0 - Channel Pending 0 */ +/*! @{ */ + +#define ADC_CEOCFR0_EOC_CH0_MASK (0x1U) +#define ADC_CEOCFR0_EOC_CH0_SHIFT (0U) +/*! EOC_CH0 - Channel 0 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR0_EOC_CH0(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR0_EOC_CH0_SHIFT)) & ADC_CEOCFR0_EOC_CH0_MASK) + +#define ADC_CEOCFR0_EOC_CH1_MASK (0x2U) +#define ADC_CEOCFR0_EOC_CH1_SHIFT (1U) +/*! EOC_CH1 - Channel 1 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR0_EOC_CH1(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR0_EOC_CH1_SHIFT)) & ADC_CEOCFR0_EOC_CH1_MASK) + +#define ADC_CEOCFR0_EOC_CH2_MASK (0x4U) +#define ADC_CEOCFR0_EOC_CH2_SHIFT (2U) +/*! EOC_CH2 - Channel 2 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR0_EOC_CH2(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR0_EOC_CH2_SHIFT)) & ADC_CEOCFR0_EOC_CH2_MASK) + +#define ADC_CEOCFR0_EOC_CH3_MASK (0x8U) +#define ADC_CEOCFR0_EOC_CH3_SHIFT (3U) +/*! EOC_CH3 - Channel 3 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR0_EOC_CH3(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR0_EOC_CH3_SHIFT)) & ADC_CEOCFR0_EOC_CH3_MASK) + +#define ADC_CEOCFR0_EOC_CH4_MASK (0x10U) +#define ADC_CEOCFR0_EOC_CH4_SHIFT (4U) +/*! EOC_CH4 - Channel 4 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR0_EOC_CH4(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR0_EOC_CH4_SHIFT)) & ADC_CEOCFR0_EOC_CH4_MASK) + +#define ADC_CEOCFR0_EOC_CH5_MASK (0x20U) +#define ADC_CEOCFR0_EOC_CH5_SHIFT (5U) +/*! EOC_CH5 - Channel 5 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR0_EOC_CH5(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR0_EOC_CH5_SHIFT)) & ADC_CEOCFR0_EOC_CH5_MASK) + +#define ADC_CEOCFR0_EOC_CH6_MASK (0x40U) +#define ADC_CEOCFR0_EOC_CH6_SHIFT (6U) +/*! EOC_CH6 - Channel 6 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR0_EOC_CH6(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR0_EOC_CH6_SHIFT)) & ADC_CEOCFR0_EOC_CH6_MASK) + +#define ADC_CEOCFR0_EOC_CH7_MASK (0x80U) +#define ADC_CEOCFR0_EOC_CH7_SHIFT (7U) +/*! EOC_CH7 - Channel 7 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR0_EOC_CH7(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR0_EOC_CH7_SHIFT)) & ADC_CEOCFR0_EOC_CH7_MASK) +/*! @} */ + +/*! @name CEOCFR1 - Channel Pending 1 */ +/*! @{ */ + +#define ADC_CEOCFR1_EOC_CH32_MASK (0x1U) +#define ADC_CEOCFR1_EOC_CH32_SHIFT (0U) +/*! EOC_CH32 - Channel 32 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR1_EOC_CH32(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR1_EOC_CH32_SHIFT)) & ADC_CEOCFR1_EOC_CH32_MASK) + +#define ADC_CEOCFR1_EOC_CH33_MASK (0x2U) +#define ADC_CEOCFR1_EOC_CH33_SHIFT (1U) +/*! EOC_CH33 - Channel 33 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR1_EOC_CH33(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR1_EOC_CH33_SHIFT)) & ADC_CEOCFR1_EOC_CH33_MASK) + +#define ADC_CEOCFR1_EOC_CH34_MASK (0x4U) +#define ADC_CEOCFR1_EOC_CH34_SHIFT (2U) +/*! EOC_CH34 - Channel 34 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR1_EOC_CH34(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR1_EOC_CH34_SHIFT)) & ADC_CEOCFR1_EOC_CH34_MASK) + +#define ADC_CEOCFR1_EOC_CH35_MASK (0x8U) +#define ADC_CEOCFR1_EOC_CH35_SHIFT (3U) +/*! EOC_CH35 - Channel 35 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR1_EOC_CH35(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR1_EOC_CH35_SHIFT)) & ADC_CEOCFR1_EOC_CH35_MASK) + +#define ADC_CEOCFR1_EOC_CH36_MASK (0x10U) +#define ADC_CEOCFR1_EOC_CH36_SHIFT (4U) +/*! EOC_CH36 - Channel 36 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR1_EOC_CH36(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR1_EOC_CH36_SHIFT)) & ADC_CEOCFR1_EOC_CH36_MASK) + +#define ADC_CEOCFR1_EOC_CH37_MASK (0x20U) +#define ADC_CEOCFR1_EOC_CH37_SHIFT (5U) +/*! EOC_CH37 - Channel 37 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR1_EOC_CH37(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR1_EOC_CH37_SHIFT)) & ADC_CEOCFR1_EOC_CH37_MASK) + +#define ADC_CEOCFR1_EOC_CH38_MASK (0x40U) +#define ADC_CEOCFR1_EOC_CH38_SHIFT (6U) +/*! EOC_CH38 - Channel 38 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR1_EOC_CH38(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR1_EOC_CH38_SHIFT)) & ADC_CEOCFR1_EOC_CH38_MASK) + +#define ADC_CEOCFR1_EOC_CH39_MASK (0x80U) +#define ADC_CEOCFR1_EOC_CH39_SHIFT (7U) +/*! EOC_CH39 - Channel 39 EOC Status + * 0b0..Conversion not complete + * 0b0..No effect + * 0b1..Conversion complete + * 0b1..Clear the flag + */ +#define ADC_CEOCFR1_EOC_CH39(x) (((uint32_t)(((uint32_t)(x)) << ADC_CEOCFR1_EOC_CH39_SHIFT)) & ADC_CEOCFR1_EOC_CH39_MASK) +/*! @} */ + +/*! @name IMR - Interrupt Mask */ +/*! @{ */ + +#define ADC_IMR_MSKECH_MASK (0x1U) +#define ADC_IMR_MSKECH_SHIFT (0U) +/*! MSKECH - End of Chain Conversion Interrupt Mask + * 0b0..End of chain conversion interrupt disabled + * 0b1..End of chain conversion interrupt enabled + */ +#define ADC_IMR_MSKECH(x) (((uint32_t)(((uint32_t)(x)) << ADC_IMR_MSKECH_SHIFT)) & ADC_IMR_MSKECH_MASK) + +#define ADC_IMR_MSKEOC_MASK (0x2U) +#define ADC_IMR_MSKEOC_SHIFT (1U) +/*! MSKEOC - End of Conversion Interrupt Mask + * 0b0..End of conversion interrupt disabled + * 0b1..End of conversion interrupt enabled + */ +#define ADC_IMR_MSKEOC(x) (((uint32_t)(((uint32_t)(x)) << ADC_IMR_MSKEOC_SHIFT)) & ADC_IMR_MSKEOC_MASK) + +#define ADC_IMR_MSKJECH_MASK (0x4U) +#define ADC_IMR_MSKJECH_SHIFT (2U) +/*! MSKJECH - End of Injected Chain Conversion Interrupt Mask + * 0b0..End of injected chain conversion interrupt disabled + * 0b1..End of injected chain conversion interrupt enabled + */ +#define ADC_IMR_MSKJECH(x) (((uint32_t)(((uint32_t)(x)) << ADC_IMR_MSKJECH_SHIFT)) & ADC_IMR_MSKJECH_MASK) + +#define ADC_IMR_MSKJEOC_MASK (0x8U) +#define ADC_IMR_MSKJEOC_SHIFT (3U) +/*! MSKJEOC - End of Injected Conversion Interrupt Mask + * 0b0..End of injected conversion interrupt disabled + * 0b1..End of injected conversion interrupt enabled + */ +#define ADC_IMR_MSKJEOC(x) (((uint32_t)(((uint32_t)(x)) << ADC_IMR_MSKJEOC_SHIFT)) & ADC_IMR_MSKJEOC_MASK) +/*! @} */ + +/*! @name CIMR0 - Channel Interrupt Mask 0 */ +/*! @{ */ + +#define ADC_CIMR0_CIM0_MASK (0x1U) +#define ADC_CIMR0_CIM0_SHIFT (0U) +/*! CIM0 - Channel 0 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR0_CIM0(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR0_CIM0_SHIFT)) & ADC_CIMR0_CIM0_MASK) + +#define ADC_CIMR0_CIM1_MASK (0x2U) +#define ADC_CIMR0_CIM1_SHIFT (1U) +/*! CIM1 - Channel 1 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR0_CIM1(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR0_CIM1_SHIFT)) & ADC_CIMR0_CIM1_MASK) + +#define ADC_CIMR0_CIM2_MASK (0x4U) +#define ADC_CIMR0_CIM2_SHIFT (2U) +/*! CIM2 - Channel 2 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR0_CIM2(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR0_CIM2_SHIFT)) & ADC_CIMR0_CIM2_MASK) + +#define ADC_CIMR0_CIM3_MASK (0x8U) +#define ADC_CIMR0_CIM3_SHIFT (3U) +/*! CIM3 - Channel 3 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR0_CIM3(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR0_CIM3_SHIFT)) & ADC_CIMR0_CIM3_MASK) + +#define ADC_CIMR0_CIM4_MASK (0x10U) +#define ADC_CIMR0_CIM4_SHIFT (4U) +/*! CIM4 - Channel 4 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR0_CIM4(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR0_CIM4_SHIFT)) & ADC_CIMR0_CIM4_MASK) + +#define ADC_CIMR0_CIM5_MASK (0x20U) +#define ADC_CIMR0_CIM5_SHIFT (5U) +/*! CIM5 - Channel 5 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR0_CIM5(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR0_CIM5_SHIFT)) & ADC_CIMR0_CIM5_MASK) + +#define ADC_CIMR0_CIM6_MASK (0x40U) +#define ADC_CIMR0_CIM6_SHIFT (6U) +/*! CIM6 - Channel 6 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR0_CIM6(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR0_CIM6_SHIFT)) & ADC_CIMR0_CIM6_MASK) + +#define ADC_CIMR0_CIM7_MASK (0x80U) +#define ADC_CIMR0_CIM7_SHIFT (7U) +/*! CIM7 - Channel 7 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR0_CIM7(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR0_CIM7_SHIFT)) & ADC_CIMR0_CIM7_MASK) +/*! @} */ + +/*! @name CIMR1 - Channel Interrupt Mask 1 */ +/*! @{ */ + +#define ADC_CIMR1_CIM32_MASK (0x1U) +#define ADC_CIMR1_CIM32_SHIFT (0U) +/*! CIM32 - Channel 32 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR1_CIM32(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR1_CIM32_SHIFT)) & ADC_CIMR1_CIM32_MASK) + +#define ADC_CIMR1_CIM33_MASK (0x2U) +#define ADC_CIMR1_CIM33_SHIFT (1U) +/*! CIM33 - Channel 33 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR1_CIM33(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR1_CIM33_SHIFT)) & ADC_CIMR1_CIM33_MASK) + +#define ADC_CIMR1_CIM34_MASK (0x4U) +#define ADC_CIMR1_CIM34_SHIFT (2U) +/*! CIM34 - Channel 34 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR1_CIM34(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR1_CIM34_SHIFT)) & ADC_CIMR1_CIM34_MASK) + +#define ADC_CIMR1_CIM35_MASK (0x8U) +#define ADC_CIMR1_CIM35_SHIFT (3U) +/*! CIM35 - Channel 35 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR1_CIM35(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR1_CIM35_SHIFT)) & ADC_CIMR1_CIM35_MASK) + +#define ADC_CIMR1_CIM36_MASK (0x10U) +#define ADC_CIMR1_CIM36_SHIFT (4U) +/*! CIM36 - Channel 36 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR1_CIM36(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR1_CIM36_SHIFT)) & ADC_CIMR1_CIM36_MASK) + +#define ADC_CIMR1_CIM37_MASK (0x20U) +#define ADC_CIMR1_CIM37_SHIFT (5U) +/*! CIM37 - Channel 37 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR1_CIM37(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR1_CIM37_SHIFT)) & ADC_CIMR1_CIM37_MASK) + +#define ADC_CIMR1_CIM38_MASK (0x40U) +#define ADC_CIMR1_CIM38_SHIFT (6U) +/*! CIM38 - Channel 38 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR1_CIM38(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR1_CIM38_SHIFT)) & ADC_CIMR1_CIM38_MASK) + +#define ADC_CIMR1_CIM39_MASK (0x80U) +#define ADC_CIMR1_CIM39_SHIFT (7U) +/*! CIM39 - Channel 39 Interrupt Enable + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_CIMR1_CIM39(x) (((uint32_t)(((uint32_t)(x)) << ADC_CIMR1_CIM39_SHIFT)) & ADC_CIMR1_CIM39_MASK) +/*! @} */ + +/*! @name WTISR - Watchdog Threshold Interrupt Status */ +/*! @{ */ + +#define ADC_WTISR_WDG0L_MASK (0x1U) +#define ADC_WTISR_WDG0L_SHIFT (0U) +/*! WDG0L - Channel 0 Watchdog Low Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG0L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG0L_SHIFT)) & ADC_WTISR_WDG0L_MASK) + +#define ADC_WTISR_WDG0H_MASK (0x2U) +#define ADC_WTISR_WDG0H_SHIFT (1U) +/*! WDG0H - Channel 0 Watchdog High Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG0H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG0H_SHIFT)) & ADC_WTISR_WDG0H_MASK) + +#define ADC_WTISR_WDG1L_MASK (0x4U) +#define ADC_WTISR_WDG1L_SHIFT (2U) +/*! WDG1L - Channel 1 Watchdog Low Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG1L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG1L_SHIFT)) & ADC_WTISR_WDG1L_MASK) + +#define ADC_WTISR_WDG1H_MASK (0x8U) +#define ADC_WTISR_WDG1H_SHIFT (3U) +/*! WDG1H - Channel 1 Watchdog High Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG1H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG1H_SHIFT)) & ADC_WTISR_WDG1H_MASK) + +#define ADC_WTISR_WDG2L_MASK (0x10U) +#define ADC_WTISR_WDG2L_SHIFT (4U) +/*! WDG2L - Channel 2 Watchdog Low Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG2L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG2L_SHIFT)) & ADC_WTISR_WDG2L_MASK) + +#define ADC_WTISR_WDG2H_MASK (0x20U) +#define ADC_WTISR_WDG2H_SHIFT (5U) +/*! WDG2H - Channel 2 Watchdog High Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG2H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG2H_SHIFT)) & ADC_WTISR_WDG2H_MASK) + +#define ADC_WTISR_WDG3L_MASK (0x40U) +#define ADC_WTISR_WDG3L_SHIFT (6U) +/*! WDG3L - Channel 3 Watchdog Low Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG3L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG3L_SHIFT)) & ADC_WTISR_WDG3L_MASK) + +#define ADC_WTISR_WDG3H_MASK (0x80U) +#define ADC_WTISR_WDG3H_SHIFT (7U) +/*! WDG3H - Channel 3 Watchdog High Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG3H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG3H_SHIFT)) & ADC_WTISR_WDG3H_MASK) + +#define ADC_WTISR_WDG4L_MASK (0x100U) +#define ADC_WTISR_WDG4L_SHIFT (8U) +/*! WDG4L - Channel 4 Watchdog Low Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG4L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG4L_SHIFT)) & ADC_WTISR_WDG4L_MASK) + +#define ADC_WTISR_WDG4H_MASK (0x200U) +#define ADC_WTISR_WDG4H_SHIFT (9U) +/*! WDG4H - Channel 4 Watchdog High Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG4H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG4H_SHIFT)) & ADC_WTISR_WDG4H_MASK) + +#define ADC_WTISR_WDG5L_MASK (0x400U) +#define ADC_WTISR_WDG5L_SHIFT (10U) +/*! WDG5L - Channel 5 Watchdog Low Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG5L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG5L_SHIFT)) & ADC_WTISR_WDG5L_MASK) + +#define ADC_WTISR_WDG5H_MASK (0x800U) +#define ADC_WTISR_WDG5H_SHIFT (11U) +/*! WDG5H - Channel 5 Watchdog High Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG5H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG5H_SHIFT)) & ADC_WTISR_WDG5H_MASK) + +#define ADC_WTISR_WDG6L_MASK (0x1000U) +#define ADC_WTISR_WDG6L_SHIFT (12U) +/*! WDG6L - Channel 6 Watchdog Low Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG6L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG6L_SHIFT)) & ADC_WTISR_WDG6L_MASK) + +#define ADC_WTISR_WDG6H_MASK (0x2000U) +#define ADC_WTISR_WDG6H_SHIFT (13U) +/*! WDG6H - Channel 6 Watchdog High Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG6H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG6H_SHIFT)) & ADC_WTISR_WDG6H_MASK) + +#define ADC_WTISR_WDG7L_MASK (0x4000U) +#define ADC_WTISR_WDG7L_SHIFT (14U) +/*! WDG7L - Channel 7 Watchdog Low Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG7L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG7L_SHIFT)) & ADC_WTISR_WDG7L_MASK) + +#define ADC_WTISR_WDG7H_MASK (0x8000U) +#define ADC_WTISR_WDG7H_SHIFT (15U) +/*! WDG7H - Channel 7 Watchdog High Threshold Interrupt + * 0b0..Interrupt not asserted + * 0b0..No effect + * 0b1..Interrupt asserted + * 0b1..Clear the flag + */ +#define ADC_WTISR_WDG7H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTISR_WDG7H_SHIFT)) & ADC_WTISR_WDG7H_MASK) +/*! @} */ + +/*! @name WTIMR - Watchdog Threshold Interrupt Mask */ +/*! @{ */ + +#define ADC_WTIMR_MSKWDG0L_MASK (0x1U) +#define ADC_WTIMR_MSKWDG0L_SHIFT (0U) +/*! MSKWDG0L - Channel 0 Watchdog Low Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG0L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG0L_SHIFT)) & ADC_WTIMR_MSKWDG0L_MASK) + +#define ADC_WTIMR_MSKWDG0H_MASK (0x2U) +#define ADC_WTIMR_MSKWDG0H_SHIFT (1U) +/*! MSKWDG0H - Channel 0 Watchdog High Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG0H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG0H_SHIFT)) & ADC_WTIMR_MSKWDG0H_MASK) + +#define ADC_WTIMR_MSKWDG1L_MASK (0x4U) +#define ADC_WTIMR_MSKWDG1L_SHIFT (2U) +/*! MSKWDG1L - Channel 1 Watchdog Low Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG1L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG1L_SHIFT)) & ADC_WTIMR_MSKWDG1L_MASK) + +#define ADC_WTIMR_MSKWDG1H_MASK (0x8U) +#define ADC_WTIMR_MSKWDG1H_SHIFT (3U) +/*! MSKWDG1H - Channel 1 Watchdog High Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG1H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG1H_SHIFT)) & ADC_WTIMR_MSKWDG1H_MASK) + +#define ADC_WTIMR_MSKWDG2L_MASK (0x10U) +#define ADC_WTIMR_MSKWDG2L_SHIFT (4U) +/*! MSKWDG2L - Channel 2 Watchdog Low Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG2L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG2L_SHIFT)) & ADC_WTIMR_MSKWDG2L_MASK) + +#define ADC_WTIMR_MSKWDG2H_MASK (0x20U) +#define ADC_WTIMR_MSKWDG2H_SHIFT (5U) +/*! MSKWDG2H - Channel 2 Watchdog High Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG2H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG2H_SHIFT)) & ADC_WTIMR_MSKWDG2H_MASK) + +#define ADC_WTIMR_MSKWDG3L_MASK (0x40U) +#define ADC_WTIMR_MSKWDG3L_SHIFT (6U) +/*! MSKWDG3L - Channel 3 Watchdog Low Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG3L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG3L_SHIFT)) & ADC_WTIMR_MSKWDG3L_MASK) + +#define ADC_WTIMR_MSKWDG3H_MASK (0x80U) +#define ADC_WTIMR_MSKWDG3H_SHIFT (7U) +/*! MSKWDG3H - Channel 3 Watchdog High Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG3H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG3H_SHIFT)) & ADC_WTIMR_MSKWDG3H_MASK) + +#define ADC_WTIMR_MSKWDG4L_MASK (0x100U) +#define ADC_WTIMR_MSKWDG4L_SHIFT (8U) +/*! MSKWDG4L - Channel 4 Watchdog Low Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG4L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG4L_SHIFT)) & ADC_WTIMR_MSKWDG4L_MASK) + +#define ADC_WTIMR_MSKWDG4H_MASK (0x200U) +#define ADC_WTIMR_MSKWDG4H_SHIFT (9U) +/*! MSKWDG4H - Channel 4 Watchdog High Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG4H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG4H_SHIFT)) & ADC_WTIMR_MSKWDG4H_MASK) + +#define ADC_WTIMR_MSKWDG5L_MASK (0x400U) +#define ADC_WTIMR_MSKWDG5L_SHIFT (10U) +/*! MSKWDG5L - Channel 5 Watchdog Low Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG5L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG5L_SHIFT)) & ADC_WTIMR_MSKWDG5L_MASK) + +#define ADC_WTIMR_MSKWDG5H_MASK (0x800U) +#define ADC_WTIMR_MSKWDG5H_SHIFT (11U) +/*! MSKWDG5H - Channel 5 Watchdog High Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG5H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG5H_SHIFT)) & ADC_WTIMR_MSKWDG5H_MASK) + +#define ADC_WTIMR_MSKWDG6L_MASK (0x1000U) +#define ADC_WTIMR_MSKWDG6L_SHIFT (12U) +/*! MSKWDG6L - Channel 6 Watchdog Low Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG6L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG6L_SHIFT)) & ADC_WTIMR_MSKWDG6L_MASK) + +#define ADC_WTIMR_MSKWDG6H_MASK (0x2000U) +#define ADC_WTIMR_MSKWDG6H_SHIFT (13U) +/*! MSKWDG6H - Channel 6 Watchdog High Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG6H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG6H_SHIFT)) & ADC_WTIMR_MSKWDG6H_MASK) + +#define ADC_WTIMR_MSKWDG7L_MASK (0x4000U) +#define ADC_WTIMR_MSKWDG7L_SHIFT (14U) +/*! MSKWDG7L - Channel 7 Watchdog Low Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG7L(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG7L_SHIFT)) & ADC_WTIMR_MSKWDG7L_MASK) + +#define ADC_WTIMR_MSKWDG7H_MASK (0x8000U) +#define ADC_WTIMR_MSKWDG7H_SHIFT (15U) +/*! MSKWDG7H - Channel 7 Watchdog High Threshold Interrupt Mask + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ADC_WTIMR_MSKWDG7H(x) (((uint32_t)(((uint32_t)(x)) << ADC_WTIMR_MSKWDG7H_SHIFT)) & ADC_WTIMR_MSKWDG7H_MASK) +/*! @} */ + +/*! @name DMAE - DMAE */ +/*! @{ */ + +#define ADC_DMAE_DMAEN_MASK (0x1U) +#define ADC_DMAE_DMAEN_SHIFT (0U) +/*! DMAEN - DMA Global Enable + * 0b0..DMA feature is disabled + * 0b1..DMA feature is enabled + */ +#define ADC_DMAE_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAE_DMAEN_SHIFT)) & ADC_DMAE_DMAEN_MASK) + +#define ADC_DMAE_DCLR_MASK (0x2U) +#define ADC_DMAE_DCLR_SHIFT (1U) +/*! DCLR - DMA Clear Sequence Enable + * 0b0..DMA request cleared by acknowledge from DMA controller + * 0b1..DMA request cleared on read of data registers + */ +#define ADC_DMAE_DCLR(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAE_DCLR_SHIFT)) & ADC_DMAE_DCLR_MASK) +/*! @} */ + +/*! @name DMAR0 - DMA 0 */ +/*! @{ */ + +#define ADC_DMAR0_DMA0_MASK (0x1U) +#define ADC_DMAR0_DMA0_SHIFT (0U) +/*! DMA0 - Channel 0 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR0_DMA0(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR0_DMA0_SHIFT)) & ADC_DMAR0_DMA0_MASK) + +#define ADC_DMAR0_DMA1_MASK (0x2U) +#define ADC_DMAR0_DMA1_SHIFT (1U) +/*! DMA1 - Channel 1 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR0_DMA1(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR0_DMA1_SHIFT)) & ADC_DMAR0_DMA1_MASK) + +#define ADC_DMAR0_DMA2_MASK (0x4U) +#define ADC_DMAR0_DMA2_SHIFT (2U) +/*! DMA2 - Channel 2 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR0_DMA2(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR0_DMA2_SHIFT)) & ADC_DMAR0_DMA2_MASK) + +#define ADC_DMAR0_DMA3_MASK (0x8U) +#define ADC_DMAR0_DMA3_SHIFT (3U) +/*! DMA3 - Channel 3 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR0_DMA3(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR0_DMA3_SHIFT)) & ADC_DMAR0_DMA3_MASK) + +#define ADC_DMAR0_DMA4_MASK (0x10U) +#define ADC_DMAR0_DMA4_SHIFT (4U) +/*! DMA4 - Channel 4 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR0_DMA4(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR0_DMA4_SHIFT)) & ADC_DMAR0_DMA4_MASK) + +#define ADC_DMAR0_DMA5_MASK (0x20U) +#define ADC_DMAR0_DMA5_SHIFT (5U) +/*! DMA5 - Channel 5 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR0_DMA5(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR0_DMA5_SHIFT)) & ADC_DMAR0_DMA5_MASK) + +#define ADC_DMAR0_DMA6_MASK (0x40U) +#define ADC_DMAR0_DMA6_SHIFT (6U) +/*! DMA6 - Channel 6 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR0_DMA6(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR0_DMA6_SHIFT)) & ADC_DMAR0_DMA6_MASK) + +#define ADC_DMAR0_DMA7_MASK (0x80U) +#define ADC_DMAR0_DMA7_SHIFT (7U) +/*! DMA7 - Channel 7 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR0_DMA7(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR0_DMA7_SHIFT)) & ADC_DMAR0_DMA7_MASK) +/*! @} */ + +/*! @name DMAR1 - DMA 1 */ +/*! @{ */ + +#define ADC_DMAR1_DMA32_MASK (0x1U) +#define ADC_DMAR1_DMA32_SHIFT (0U) +/*! DMA32 - Channel 32 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR1_DMA32(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR1_DMA32_SHIFT)) & ADC_DMAR1_DMA32_MASK) + +#define ADC_DMAR1_DMA33_MASK (0x2U) +#define ADC_DMAR1_DMA33_SHIFT (1U) +/*! DMA33 - Channel 33 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR1_DMA33(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR1_DMA33_SHIFT)) & ADC_DMAR1_DMA33_MASK) + +#define ADC_DMAR1_DMA34_MASK (0x4U) +#define ADC_DMAR1_DMA34_SHIFT (2U) +/*! DMA34 - Channel 34 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR1_DMA34(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR1_DMA34_SHIFT)) & ADC_DMAR1_DMA34_MASK) + +#define ADC_DMAR1_DMA35_MASK (0x8U) +#define ADC_DMAR1_DMA35_SHIFT (3U) +/*! DMA35 - Channel 35 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR1_DMA35(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR1_DMA35_SHIFT)) & ADC_DMAR1_DMA35_MASK) + +#define ADC_DMAR1_DMA36_MASK (0x10U) +#define ADC_DMAR1_DMA36_SHIFT (4U) +/*! DMA36 - Channel 36 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR1_DMA36(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR1_DMA36_SHIFT)) & ADC_DMAR1_DMA36_MASK) + +#define ADC_DMAR1_DMA37_MASK (0x20U) +#define ADC_DMAR1_DMA37_SHIFT (5U) +/*! DMA37 - Channel 37 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR1_DMA37(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR1_DMA37_SHIFT)) & ADC_DMAR1_DMA37_MASK) + +#define ADC_DMAR1_DMA38_MASK (0x40U) +#define ADC_DMAR1_DMA38_SHIFT (6U) +/*! DMA38 - Channel 38 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR1_DMA38(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR1_DMA38_SHIFT)) & ADC_DMAR1_DMA38_MASK) + +#define ADC_DMAR1_DMA39_MASK (0x80U) +#define ADC_DMAR1_DMA39_SHIFT (7U) +/*! DMA39 - Channel 39 DMA Enable + * 0b0..Transfer of data in DMA mode is disabled + * 0b1..Transfer of data in DMA mode is enabled + */ +#define ADC_DMAR1_DMA39(x) (((uint32_t)(((uint32_t)(x)) << ADC_DMAR1_DMA39_SHIFT)) & ADC_DMAR1_DMA39_MASK) +/*! @} */ + +/*! @name THRHLR0 - Analog Watchdog Threshold 0 */ +/*! @{ */ + +#define ADC_THRHLR0_THRL_MASK (0xFFFU) +#define ADC_THRHLR0_THRL_SHIFT (0U) +/*! THRL - Low Threshold */ +#define ADC_THRHLR0_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR0_THRL_SHIFT)) & ADC_THRHLR0_THRL_MASK) + +#define ADC_THRHLR0_THRH_MASK (0xFFF0000U) +#define ADC_THRHLR0_THRH_SHIFT (16U) +/*! THRH - High Threshold */ +#define ADC_THRHLR0_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR0_THRH_SHIFT)) & ADC_THRHLR0_THRH_MASK) +/*! @} */ + +/*! @name THRHLR1 - Analog Watchdog Threshold 1 */ +/*! @{ */ + +#define ADC_THRHLR1_THRL_MASK (0xFFFU) +#define ADC_THRHLR1_THRL_SHIFT (0U) +/*! THRL - Low Threshold */ +#define ADC_THRHLR1_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR1_THRL_SHIFT)) & ADC_THRHLR1_THRL_MASK) + +#define ADC_THRHLR1_THRH_MASK (0xFFF0000U) +#define ADC_THRHLR1_THRH_SHIFT (16U) +/*! THRH - High Threshold */ +#define ADC_THRHLR1_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR1_THRH_SHIFT)) & ADC_THRHLR1_THRH_MASK) +/*! @} */ + +/*! @name THRHLR2 - Analog Watchdog Threshold 2 */ +/*! @{ */ + +#define ADC_THRHLR2_THRL_MASK (0xFFFU) +#define ADC_THRHLR2_THRL_SHIFT (0U) +/*! THRL - Low Threshold */ +#define ADC_THRHLR2_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR2_THRL_SHIFT)) & ADC_THRHLR2_THRL_MASK) + +#define ADC_THRHLR2_THRH_MASK (0xFFF0000U) +#define ADC_THRHLR2_THRH_SHIFT (16U) +/*! THRH - High Threshold */ +#define ADC_THRHLR2_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR2_THRH_SHIFT)) & ADC_THRHLR2_THRH_MASK) +/*! @} */ + +/*! @name THRHLR3 - Analog Watchdog Threshold 3 */ +/*! @{ */ + +#define ADC_THRHLR3_THRL_MASK (0xFFFU) +#define ADC_THRHLR3_THRL_SHIFT (0U) +/*! THRL - Low Threshold */ +#define ADC_THRHLR3_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR3_THRL_SHIFT)) & ADC_THRHLR3_THRL_MASK) + +#define ADC_THRHLR3_THRH_MASK (0xFFF0000U) +#define ADC_THRHLR3_THRH_SHIFT (16U) +/*! THRH - High Threshold */ +#define ADC_THRHLR3_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR3_THRH_SHIFT)) & ADC_THRHLR3_THRH_MASK) +/*! @} */ + +/*! @name PSCR - Presampling Control */ +/*! @{ */ + +#define ADC_PSCR_PRECONV_MASK (0x1U) +#define ADC_PSCR_PRECONV_SHIFT (0U) +/*! PRECONV - Convert Presampled Value + * 0b0..Presampling is followed by sampling then conversion. + * 0b1..Presampling is followed by the conversion. + */ +#define ADC_PSCR_PRECONV(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSCR_PRECONV_SHIFT)) & ADC_PSCR_PRECONV_MASK) + +#define ADC_PSCR_PREVAL0_MASK (0x6U) +#define ADC_PSCR_PREVAL0_SHIFT (1U) +/*! PREVAL0 - Internal Presampling Voltage Selection */ +#define ADC_PSCR_PREVAL0(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSCR_PREVAL0_SHIFT)) & ADC_PSCR_PREVAL0_MASK) + +#define ADC_PSCR_PREVAL1_MASK (0x18U) +#define ADC_PSCR_PREVAL1_SHIFT (3U) +/*! PREVAL1 - Internal Presampling Voltage Selection. */ +#define ADC_PSCR_PREVAL1(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSCR_PREVAL1_SHIFT)) & ADC_PSCR_PREVAL1_MASK) +/*! @} */ + +/*! @name PSR0 - Presampling 0 */ +/*! @{ */ + +#define ADC_PSR0_PRES0_MASK (0x1U) +#define ADC_PSR0_PRES0_SHIFT (0U) +/*! PRES0 - Presampling Enable for Channel 0 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR0_PRES0(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR0_PRES0_SHIFT)) & ADC_PSR0_PRES0_MASK) + +#define ADC_PSR0_PRES1_MASK (0x2U) +#define ADC_PSR0_PRES1_SHIFT (1U) +/*! PRES1 - Presampling Enable for Channel 1 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR0_PRES1(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR0_PRES1_SHIFT)) & ADC_PSR0_PRES1_MASK) + +#define ADC_PSR0_PRES2_MASK (0x4U) +#define ADC_PSR0_PRES2_SHIFT (2U) +/*! PRES2 - Presampling Enable for Channel 2 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR0_PRES2(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR0_PRES2_SHIFT)) & ADC_PSR0_PRES2_MASK) + +#define ADC_PSR0_PRES3_MASK (0x8U) +#define ADC_PSR0_PRES3_SHIFT (3U) +/*! PRES3 - Presampling Enable for Channel 3 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR0_PRES3(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR0_PRES3_SHIFT)) & ADC_PSR0_PRES3_MASK) + +#define ADC_PSR0_PRES4_MASK (0x10U) +#define ADC_PSR0_PRES4_SHIFT (4U) +/*! PRES4 - Presampling Enable for Channel 4 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR0_PRES4(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR0_PRES4_SHIFT)) & ADC_PSR0_PRES4_MASK) + +#define ADC_PSR0_PRES5_MASK (0x20U) +#define ADC_PSR0_PRES5_SHIFT (5U) +/*! PRES5 - Presampling Enable for Channel 5 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR0_PRES5(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR0_PRES5_SHIFT)) & ADC_PSR0_PRES5_MASK) + +#define ADC_PSR0_PRES6_MASK (0x40U) +#define ADC_PSR0_PRES6_SHIFT (6U) +/*! PRES6 - Presampling Enable for Channel 6 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR0_PRES6(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR0_PRES6_SHIFT)) & ADC_PSR0_PRES6_MASK) + +#define ADC_PSR0_PRES7_MASK (0x80U) +#define ADC_PSR0_PRES7_SHIFT (7U) +/*! PRES7 - Presampling Enable for Channel 7 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR0_PRES7(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR0_PRES7_SHIFT)) & ADC_PSR0_PRES7_MASK) +/*! @} */ + +/*! @name PSR1 - Presampling 1 */ +/*! @{ */ + +#define ADC_PSR1_PRES32_MASK (0x1U) +#define ADC_PSR1_PRES32_SHIFT (0U) +/*! PRES32 - Presampling Enable for Channel 32 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR1_PRES32(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR1_PRES32_SHIFT)) & ADC_PSR1_PRES32_MASK) + +#define ADC_PSR1_PRES33_MASK (0x2U) +#define ADC_PSR1_PRES33_SHIFT (1U) +/*! PRES33 - Presampling Enable for Channel 33 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR1_PRES33(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR1_PRES33_SHIFT)) & ADC_PSR1_PRES33_MASK) + +#define ADC_PSR1_PRES34_MASK (0x4U) +#define ADC_PSR1_PRES34_SHIFT (2U) +/*! PRES34 - Presampling Enable for Channel 34 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR1_PRES34(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR1_PRES34_SHIFT)) & ADC_PSR1_PRES34_MASK) + +#define ADC_PSR1_PRES35_MASK (0x8U) +#define ADC_PSR1_PRES35_SHIFT (3U) +/*! PRES35 - Presampling Enable for Channel 35 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR1_PRES35(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR1_PRES35_SHIFT)) & ADC_PSR1_PRES35_MASK) + +#define ADC_PSR1_PRES36_MASK (0x10U) +#define ADC_PSR1_PRES36_SHIFT (4U) +/*! PRES36 - Presampling Enable for Channel 36 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR1_PRES36(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR1_PRES36_SHIFT)) & ADC_PSR1_PRES36_MASK) + +#define ADC_PSR1_PRES37_MASK (0x20U) +#define ADC_PSR1_PRES37_SHIFT (5U) +/*! PRES37 - Presampling Enable for Channel 37 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR1_PRES37(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR1_PRES37_SHIFT)) & ADC_PSR1_PRES37_MASK) + +#define ADC_PSR1_PRES38_MASK (0x40U) +#define ADC_PSR1_PRES38_SHIFT (6U) +/*! PRES38 - Presampling Enable for Channel 38 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR1_PRES38(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR1_PRES38_SHIFT)) & ADC_PSR1_PRES38_MASK) + +#define ADC_PSR1_PRES39_MASK (0x80U) +#define ADC_PSR1_PRES39_SHIFT (7U) +/*! PRES39 - Presampling Enable for Channel 39 + * 0b0..Presampling is disabled + * 0b1..Presampling is enabled + */ +#define ADC_PSR1_PRES39(x) (((uint32_t)(((uint32_t)(x)) << ADC_PSR1_PRES39_SHIFT)) & ADC_PSR1_PRES39_MASK) +/*! @} */ + +/*! @name CTR0 - Conversion Timing 0 */ +/*! @{ */ + +#define ADC_CTR0_INPSAMP_MASK (0xFFU) +#define ADC_CTR0_INPSAMP_SHIFT (0U) +/*! INPSAMP - Sampling Phase Duration */ +#define ADC_CTR0_INPSAMP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTR0_INPSAMP_SHIFT)) & ADC_CTR0_INPSAMP_MASK) +/*! @} */ + +/*! @name CTR1 - Conversion Timing 1 */ +/*! @{ */ + +#define ADC_CTR1_INPSAMP_MASK (0xFFU) +#define ADC_CTR1_INPSAMP_SHIFT (0U) +/*! INPSAMP - Sampling Phase Duration */ +#define ADC_CTR1_INPSAMP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTR1_INPSAMP_SHIFT)) & ADC_CTR1_INPSAMP_MASK) +/*! @} */ + +/*! @name NCMR0 - Normal Conversion Mask 0 */ +/*! @{ */ + +#define ADC_NCMR0_CH0_MASK (0x1U) +#define ADC_NCMR0_CH0_SHIFT (0U) +/*! CH0 - Normal Conversion Mask for Channel 0 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR0_CH0(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR0_CH0_SHIFT)) & ADC_NCMR0_CH0_MASK) + +#define ADC_NCMR0_CH1_MASK (0x2U) +#define ADC_NCMR0_CH1_SHIFT (1U) +/*! CH1 - Normal Conversion Mask for Channel 1 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR0_CH1(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR0_CH1_SHIFT)) & ADC_NCMR0_CH1_MASK) + +#define ADC_NCMR0_CH2_MASK (0x4U) +#define ADC_NCMR0_CH2_SHIFT (2U) +/*! CH2 - Normal Conversion Mask for Channel 2 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR0_CH2(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR0_CH2_SHIFT)) & ADC_NCMR0_CH2_MASK) + +#define ADC_NCMR0_CH3_MASK (0x8U) +#define ADC_NCMR0_CH3_SHIFT (3U) +/*! CH3 - Normal Conversion Mask for Channel 3 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR0_CH3(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR0_CH3_SHIFT)) & ADC_NCMR0_CH3_MASK) + +#define ADC_NCMR0_CH4_MASK (0x10U) +#define ADC_NCMR0_CH4_SHIFT (4U) +/*! CH4 - Normal Conversion Mask for Channel 4 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR0_CH4(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR0_CH4_SHIFT)) & ADC_NCMR0_CH4_MASK) + +#define ADC_NCMR0_CH5_MASK (0x20U) +#define ADC_NCMR0_CH5_SHIFT (5U) +/*! CH5 - Normal Conversion Mask for Channel 5 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR0_CH5(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR0_CH5_SHIFT)) & ADC_NCMR0_CH5_MASK) + +#define ADC_NCMR0_CH6_MASK (0x40U) +#define ADC_NCMR0_CH6_SHIFT (6U) +/*! CH6 - Normal Conversion Mask for Channel 6 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR0_CH6(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR0_CH6_SHIFT)) & ADC_NCMR0_CH6_MASK) + +#define ADC_NCMR0_CH7_MASK (0x80U) +#define ADC_NCMR0_CH7_SHIFT (7U) +/*! CH7 - Normal Conversion Mask for Channel 7 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR0_CH7(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR0_CH7_SHIFT)) & ADC_NCMR0_CH7_MASK) +/*! @} */ + +/*! @name NCMR1 - Normal Conversion Mask 1 */ +/*! @{ */ + +#define ADC_NCMR1_CH32_MASK (0x1U) +#define ADC_NCMR1_CH32_SHIFT (0U) +/*! CH32 - Normal Conversion Mask for Channel 32 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR1_CH32(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR1_CH32_SHIFT)) & ADC_NCMR1_CH32_MASK) + +#define ADC_NCMR1_CH33_MASK (0x2U) +#define ADC_NCMR1_CH33_SHIFT (1U) +/*! CH33 - Normal Conversion Mask for Channel 33 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR1_CH33(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR1_CH33_SHIFT)) & ADC_NCMR1_CH33_MASK) + +#define ADC_NCMR1_CH34_MASK (0x4U) +#define ADC_NCMR1_CH34_SHIFT (2U) +/*! CH34 - Normal Conversion Mask for Channel 34 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR1_CH34(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR1_CH34_SHIFT)) & ADC_NCMR1_CH34_MASK) + +#define ADC_NCMR1_CH35_MASK (0x8U) +#define ADC_NCMR1_CH35_SHIFT (3U) +/*! CH35 - Normal Conversion Mask for Channel 35 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR1_CH35(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR1_CH35_SHIFT)) & ADC_NCMR1_CH35_MASK) + +#define ADC_NCMR1_CH36_MASK (0x10U) +#define ADC_NCMR1_CH36_SHIFT (4U) +/*! CH36 - Normal Conversion Mask for Channel 36 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR1_CH36(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR1_CH36_SHIFT)) & ADC_NCMR1_CH36_MASK) + +#define ADC_NCMR1_CH37_MASK (0x20U) +#define ADC_NCMR1_CH37_SHIFT (5U) +/*! CH37 - Normal Conversion Mask for Channel 37 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR1_CH37(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR1_CH37_SHIFT)) & ADC_NCMR1_CH37_MASK) + +#define ADC_NCMR1_CH38_MASK (0x40U) +#define ADC_NCMR1_CH38_SHIFT (6U) +/*! CH38 - Normal Conversion Mask for Channel 38 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR1_CH38(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR1_CH38_SHIFT)) & ADC_NCMR1_CH38_MASK) + +#define ADC_NCMR1_CH39_MASK (0x80U) +#define ADC_NCMR1_CH39_SHIFT (7U) +/*! CH39 - Normal Conversion Mask for Channel 39 + * 0b0..Normal Conversion is disabled + * 0b1..Normal Conversion is enabled + */ +#define ADC_NCMR1_CH39(x) (((uint32_t)(((uint32_t)(x)) << ADC_NCMR1_CH39_SHIFT)) & ADC_NCMR1_CH39_MASK) +/*! @} */ + +/*! @name JCMR0 - Injected Conversion Mask 0 */ +/*! @{ */ + +#define ADC_JCMR0_CH0_MASK (0x1U) +#define ADC_JCMR0_CH0_SHIFT (0U) +/*! CH0 - Injected Conversion Mask for Channel 0 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR0_CH0(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR0_CH0_SHIFT)) & ADC_JCMR0_CH0_MASK) + +#define ADC_JCMR0_CH1_MASK (0x2U) +#define ADC_JCMR0_CH1_SHIFT (1U) +/*! CH1 - Injected Conversion Mask for Channel 1 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR0_CH1(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR0_CH1_SHIFT)) & ADC_JCMR0_CH1_MASK) + +#define ADC_JCMR0_CH2_MASK (0x4U) +#define ADC_JCMR0_CH2_SHIFT (2U) +/*! CH2 - Injected Conversion Mask for Channel 2 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR0_CH2(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR0_CH2_SHIFT)) & ADC_JCMR0_CH2_MASK) + +#define ADC_JCMR0_CH3_MASK (0x8U) +#define ADC_JCMR0_CH3_SHIFT (3U) +/*! CH3 - Injected Conversion Mask for Channel 3 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR0_CH3(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR0_CH3_SHIFT)) & ADC_JCMR0_CH3_MASK) + +#define ADC_JCMR0_CH4_MASK (0x10U) +#define ADC_JCMR0_CH4_SHIFT (4U) +/*! CH4 - Injected Conversion Mask for Channel 4 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR0_CH4(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR0_CH4_SHIFT)) & ADC_JCMR0_CH4_MASK) + +#define ADC_JCMR0_CH5_MASK (0x20U) +#define ADC_JCMR0_CH5_SHIFT (5U) +/*! CH5 - Injected Conversion Mask for Channel 5 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR0_CH5(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR0_CH5_SHIFT)) & ADC_JCMR0_CH5_MASK) + +#define ADC_JCMR0_CH6_MASK (0x40U) +#define ADC_JCMR0_CH6_SHIFT (6U) +/*! CH6 - Injected Conversion Mask for Channel 6 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR0_CH6(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR0_CH6_SHIFT)) & ADC_JCMR0_CH6_MASK) + +#define ADC_JCMR0_CH7_MASK (0x80U) +#define ADC_JCMR0_CH7_SHIFT (7U) +/*! CH7 - Injected Conversion Mask for Channel 7 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR0_CH7(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR0_CH7_SHIFT)) & ADC_JCMR0_CH7_MASK) +/*! @} */ + +/*! @name JCMR1 - Injected Conversion Mask 1 */ +/*! @{ */ + +#define ADC_JCMR1_CH32_MASK (0x1U) +#define ADC_JCMR1_CH32_SHIFT (0U) +/*! CH32 - Injected Conversion Mask for Channel 32 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR1_CH32(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR1_CH32_SHIFT)) & ADC_JCMR1_CH32_MASK) + +#define ADC_JCMR1_CH33_MASK (0x2U) +#define ADC_JCMR1_CH33_SHIFT (1U) +/*! CH33 - Injected Conversion Mask for Channel 33 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR1_CH33(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR1_CH33_SHIFT)) & ADC_JCMR1_CH33_MASK) + +#define ADC_JCMR1_CH34_MASK (0x4U) +#define ADC_JCMR1_CH34_SHIFT (2U) +/*! CH34 - Injected Conversion Mask for Channel 34 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR1_CH34(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR1_CH34_SHIFT)) & ADC_JCMR1_CH34_MASK) + +#define ADC_JCMR1_CH35_MASK (0x8U) +#define ADC_JCMR1_CH35_SHIFT (3U) +/*! CH35 - Injected Conversion Mask for Channel 35 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR1_CH35(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR1_CH35_SHIFT)) & ADC_JCMR1_CH35_MASK) + +#define ADC_JCMR1_CH36_MASK (0x10U) +#define ADC_JCMR1_CH36_SHIFT (4U) +/*! CH36 - Injected Conversion Mask for Channel 36 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR1_CH36(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR1_CH36_SHIFT)) & ADC_JCMR1_CH36_MASK) + +#define ADC_JCMR1_CH37_MASK (0x20U) +#define ADC_JCMR1_CH37_SHIFT (5U) +/*! CH37 - Injected Conversion Mask for Channel 37 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR1_CH37(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR1_CH37_SHIFT)) & ADC_JCMR1_CH37_MASK) + +#define ADC_JCMR1_CH38_MASK (0x40U) +#define ADC_JCMR1_CH38_SHIFT (6U) +/*! CH38 - Injected Conversion Mask for Channel 38 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR1_CH38(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR1_CH38_SHIFT)) & ADC_JCMR1_CH38_MASK) + +#define ADC_JCMR1_CH39_MASK (0x80U) +#define ADC_JCMR1_CH39_SHIFT (7U) +/*! CH39 - Injected Conversion Mask for Channel 39 + * 0b0..Injected conversion is disabled + * 0b1..Injected conversion is enabled + */ +#define ADC_JCMR1_CH39(x) (((uint32_t)(((uint32_t)(x)) << ADC_JCMR1_CH39_SHIFT)) & ADC_JCMR1_CH39_MASK) +/*! @} */ + +/*! @name USROFSGN - User OFFSET and Gain */ +/*! @{ */ + +#define ADC_USROFSGN_OFFSUSER_MASK (0xFFU) +#define ADC_USROFSGN_OFFSUSER_SHIFT (0U) +/*! OFFSUSER - User Defined Offset */ +#define ADC_USROFSGN_OFFSUSER(x) (((uint32_t)(((uint32_t)(x)) << ADC_USROFSGN_OFFSUSER_SHIFT)) & ADC_USROFSGN_OFFSUSER_MASK) + +#define ADC_USROFSGN_GAINUSER_MASK (0x3FF0000U) +#define ADC_USROFSGN_GAINUSER_SHIFT (16U) +/*! GAINUSER - User-Defined Gain Value */ +#define ADC_USROFSGN_GAINUSER(x) (((uint32_t)(((uint32_t)(x)) << ADC_USROFSGN_GAINUSER_SHIFT)) & ADC_USROFSGN_GAINUSER_MASK) +/*! @} */ + +/*! @name PDEDR - Power Down Exit Delay */ +/*! @{ */ + +#define ADC_PDEDR_PDED_MASK (0xFFU) +#define ADC_PDEDR_PDED_SHIFT (0U) +/*! PDED - Power Down Exist Delay */ +#define ADC_PDEDR_PDED(x) (((uint32_t)(((uint32_t)(x)) << ADC_PDEDR_PDED_SHIFT)) & ADC_PDEDR_PDED_MASK) +/*! @} */ + +/*! @name PCDR - Precision Channel n Data */ +/*! @{ */ + +#define ADC_PCDR_CDATA_MASK (0xFFFU) +#define ADC_PCDR_CDATA_SHIFT (0U) +/*! CDATA - Channel Converted Data */ +#define ADC_PCDR_CDATA(x) (((uint32_t)(((uint32_t)(x)) << ADC_PCDR_CDATA_SHIFT)) & ADC_PCDR_CDATA_MASK) + +#define ADC_PCDR_RESULT_MASK (0x30000U) +#define ADC_PCDR_RESULT_SHIFT (16U) +/*! RESULT - Mode of Conversion Status + * 0b00..Data is a result of Normal conversion mode + * 0b01..Data is a result of Injected conversion mode + * 0b10..Data is a result of CTU conversion mode + * 0b11..Reserved + */ +#define ADC_PCDR_RESULT(x) (((uint32_t)(((uint32_t)(x)) << ADC_PCDR_RESULT_SHIFT)) & ADC_PCDR_RESULT_MASK) + +#define ADC_PCDR_OVERW_MASK (0x40000U) +#define ADC_PCDR_OVERW_SHIFT (18U) +/*! OVERW - Data Overwrite + * 0b0..Data not overwritten + * 0b1..Data overwritten + */ +#define ADC_PCDR_OVERW(x) (((uint32_t)(((uint32_t)(x)) << ADC_PCDR_OVERW_SHIFT)) & ADC_PCDR_OVERW_MASK) + +#define ADC_PCDR_VALID_MASK (0x80000U) +#define ADC_PCDR_VALID_SHIFT (19U) +/*! VALID - Conversion Data Valid + * 0b0..Not valid data + * 0b1..Valid data + */ +#define ADC_PCDR_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_PCDR_VALID_SHIFT)) & ADC_PCDR_VALID_MASK) +/*! @} */ + +/* The count of ADC_PCDR */ +#define ADC_PCDR_COUNT (8U) + +/*! @name ICDR - Internal Channel n Data */ +/*! @{ */ + +#define ADC_ICDR_CDATA_MASK (0xFFFU) +#define ADC_ICDR_CDATA_SHIFT (0U) +/*! CDATA - Channel Converted Data */ +#define ADC_ICDR_CDATA(x) (((uint32_t)(((uint32_t)(x)) << ADC_ICDR_CDATA_SHIFT)) & ADC_ICDR_CDATA_MASK) + +#define ADC_ICDR_RESULT_MASK (0x30000U) +#define ADC_ICDR_RESULT_SHIFT (16U) +/*! RESULT - Mode of Conversion Status + * 0b00..Data is a result of Normal conversion mode + * 0b01..Data is a result of Injected conversion mode + * 0b10..Data is a result of CTU conversion mode + * 0b11..Reserved + */ +#define ADC_ICDR_RESULT(x) (((uint32_t)(((uint32_t)(x)) << ADC_ICDR_RESULT_SHIFT)) & ADC_ICDR_RESULT_MASK) + +#define ADC_ICDR_OVERW_MASK (0x40000U) +#define ADC_ICDR_OVERW_SHIFT (18U) +/*! OVERW - Data Overwrite + * 0b0..Data not overwritten + * 0b1..Data overwritten + */ +#define ADC_ICDR_OVERW(x) (((uint32_t)(((uint32_t)(x)) << ADC_ICDR_OVERW_SHIFT)) & ADC_ICDR_OVERW_MASK) + +#define ADC_ICDR_VALID_MASK (0x80000U) +#define ADC_ICDR_VALID_SHIFT (19U) +/*! VALID - Conversion Data Valid + * 0b0..Not valid data + * 0b1..Valid data + */ +#define ADC_ICDR_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_ICDR_VALID_SHIFT)) & ADC_ICDR_VALID_MASK) +/*! @} */ + +/* The count of ADC_ICDR */ +#define ADC_ICDR_COUNT (8U) + +/*! @name THRHLR4 - Analog Watchdog Threshold 4 */ +/*! @{ */ + +#define ADC_THRHLR4_THRL_MASK (0xFFFU) +#define ADC_THRHLR4_THRL_SHIFT (0U) +/*! THRL - Low Threshold */ +#define ADC_THRHLR4_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR4_THRL_SHIFT)) & ADC_THRHLR4_THRL_MASK) + +#define ADC_THRHLR4_THRH_MASK (0xFFF0000U) +#define ADC_THRHLR4_THRH_SHIFT (16U) +/*! THRH - High Threshold */ +#define ADC_THRHLR4_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR4_THRH_SHIFT)) & ADC_THRHLR4_THRH_MASK) +/*! @} */ + +/*! @name THRHLR5 - Analog Watchdog Threshold 5 */ +/*! @{ */ + +#define ADC_THRHLR5_THRL_MASK (0xFFFU) +#define ADC_THRHLR5_THRL_SHIFT (0U) +/*! THRL - Low Threshold */ +#define ADC_THRHLR5_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR5_THRL_SHIFT)) & ADC_THRHLR5_THRL_MASK) + +#define ADC_THRHLR5_THRH_MASK (0xFFF0000U) +#define ADC_THRHLR5_THRH_SHIFT (16U) +/*! THRH - High Threshold */ +#define ADC_THRHLR5_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR5_THRH_SHIFT)) & ADC_THRHLR5_THRH_MASK) +/*! @} */ + +/*! @name THRHLR6 - Analog Watchdog Threshold 6 */ +/*! @{ */ + +#define ADC_THRHLR6_THRL_MASK (0xFFFU) +#define ADC_THRHLR6_THRL_SHIFT (0U) +/*! THRL - Low Threshold */ +#define ADC_THRHLR6_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR6_THRL_SHIFT)) & ADC_THRHLR6_THRL_MASK) + +#define ADC_THRHLR6_THRH_MASK (0xFFF0000U) +#define ADC_THRHLR6_THRH_SHIFT (16U) +/*! THRH - High Threshold */ +#define ADC_THRHLR6_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR6_THRH_SHIFT)) & ADC_THRHLR6_THRH_MASK) +/*! @} */ + +/*! @name THRHLR7 - Analog Watchdog Threshold 7 */ +/*! @{ */ + +#define ADC_THRHLR7_THRL_MASK (0xFFFU) +#define ADC_THRHLR7_THRL_SHIFT (0U) +/*! THRL - Low Threshold */ +#define ADC_THRHLR7_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR7_THRL_SHIFT)) & ADC_THRHLR7_THRL_MASK) + +#define ADC_THRHLR7_THRH_MASK (0xFFF0000U) +#define ADC_THRHLR7_THRH_SHIFT (16U) +/*! THRH - High Threshold */ +#define ADC_THRHLR7_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_THRHLR7_THRH_SHIFT)) & ADC_THRHLR7_THRH_MASK) +/*! @} */ + +/*! @name CWSELR0 - Channel Watchdog Select 0 */ +/*! @{ */ + +#define ADC_CWSELR0_WSEL_CH0_MASK (0x7U) +#define ADC_CWSELR0_WSEL_CH0_SHIFT (0U) +/*! WSEL_CH0 - Channel Watchdog Select for Channel 0 */ +#define ADC_CWSELR0_WSEL_CH0(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR0_WSEL_CH0_SHIFT)) & ADC_CWSELR0_WSEL_CH0_MASK) + +#define ADC_CWSELR0_WSEL_CH1_MASK (0x70U) +#define ADC_CWSELR0_WSEL_CH1_SHIFT (4U) +/*! WSEL_CH1 - Channel Watchdog Select for Channel 1 */ +#define ADC_CWSELR0_WSEL_CH1(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR0_WSEL_CH1_SHIFT)) & ADC_CWSELR0_WSEL_CH1_MASK) + +#define ADC_CWSELR0_WSEL_CH2_MASK (0x700U) +#define ADC_CWSELR0_WSEL_CH2_SHIFT (8U) +/*! WSEL_CH2 - Channel Watchdog Select for Channel 2 */ +#define ADC_CWSELR0_WSEL_CH2(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR0_WSEL_CH2_SHIFT)) & ADC_CWSELR0_WSEL_CH2_MASK) + +#define ADC_CWSELR0_WSEL_CH3_MASK (0x7000U) +#define ADC_CWSELR0_WSEL_CH3_SHIFT (12U) +/*! WSEL_CH3 - Channel Watchdog Select for Channel 3 */ +#define ADC_CWSELR0_WSEL_CH3(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR0_WSEL_CH3_SHIFT)) & ADC_CWSELR0_WSEL_CH3_MASK) + +#define ADC_CWSELR0_WSEL_CH4_MASK (0x70000U) +#define ADC_CWSELR0_WSEL_CH4_SHIFT (16U) +/*! WSEL_CH4 - Channel Watchdog Select for Channel 4 */ +#define ADC_CWSELR0_WSEL_CH4(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR0_WSEL_CH4_SHIFT)) & ADC_CWSELR0_WSEL_CH4_MASK) + +#define ADC_CWSELR0_WSEL_CH5_MASK (0x700000U) +#define ADC_CWSELR0_WSEL_CH5_SHIFT (20U) +/*! WSEL_CH5 - Channel Watchdog Select for Channel 5 */ +#define ADC_CWSELR0_WSEL_CH5(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR0_WSEL_CH5_SHIFT)) & ADC_CWSELR0_WSEL_CH5_MASK) + +#define ADC_CWSELR0_WSEL_CH6_MASK (0x7000000U) +#define ADC_CWSELR0_WSEL_CH6_SHIFT (24U) +/*! WSEL_CH6 - Channel Watchdog Select for Channel 6 */ +#define ADC_CWSELR0_WSEL_CH6(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR0_WSEL_CH6_SHIFT)) & ADC_CWSELR0_WSEL_CH6_MASK) + +#define ADC_CWSELR0_WSEL_CH7_MASK (0x70000000U) +#define ADC_CWSELR0_WSEL_CH7_SHIFT (28U) +/*! WSEL_CH7 - Channel Watchdog Select for Channel 7 */ +#define ADC_CWSELR0_WSEL_CH7(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR0_WSEL_CH7_SHIFT)) & ADC_CWSELR0_WSEL_CH7_MASK) +/*! @} */ + +/*! @name CWSELR4 - Channel Watchdog Select 4 */ +/*! @{ */ + +#define ADC_CWSELR4_WSEL_CH32_MASK (0x7U) +#define ADC_CWSELR4_WSEL_CH32_SHIFT (0U) +/*! WSEL_CH32 - Channel Watchdog Select for Channel 32 */ +#define ADC_CWSELR4_WSEL_CH32(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR4_WSEL_CH32_SHIFT)) & ADC_CWSELR4_WSEL_CH32_MASK) + +#define ADC_CWSELR4_WSEL_CH33_MASK (0x70U) +#define ADC_CWSELR4_WSEL_CH33_SHIFT (4U) +/*! WSEL_CH33 - Channel Watchdog Select for Channel 33 */ +#define ADC_CWSELR4_WSEL_CH33(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR4_WSEL_CH33_SHIFT)) & ADC_CWSELR4_WSEL_CH33_MASK) + +#define ADC_CWSELR4_WSEL_CH34_MASK (0x700U) +#define ADC_CWSELR4_WSEL_CH34_SHIFT (8U) +/*! WSEL_CH34 - Channel Watchdog Select for Channel 34 */ +#define ADC_CWSELR4_WSEL_CH34(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR4_WSEL_CH34_SHIFT)) & ADC_CWSELR4_WSEL_CH34_MASK) + +#define ADC_CWSELR4_WSEL_CH35_MASK (0x7000U) +#define ADC_CWSELR4_WSEL_CH35_SHIFT (12U) +/*! WSEL_CH35 - Channel Watchdog Select for Channel 35 */ +#define ADC_CWSELR4_WSEL_CH35(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR4_WSEL_CH35_SHIFT)) & ADC_CWSELR4_WSEL_CH35_MASK) + +#define ADC_CWSELR4_WSEL_CH36_MASK (0x70000U) +#define ADC_CWSELR4_WSEL_CH36_SHIFT (16U) +/*! WSEL_CH36 - Channel Watchdog Select for Channel 36 */ +#define ADC_CWSELR4_WSEL_CH36(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR4_WSEL_CH36_SHIFT)) & ADC_CWSELR4_WSEL_CH36_MASK) + +#define ADC_CWSELR4_WSEL_CH37_MASK (0x700000U) +#define ADC_CWSELR4_WSEL_CH37_SHIFT (20U) +/*! WSEL_CH37 - Channel Watchdog Select for Channel 37 */ +#define ADC_CWSELR4_WSEL_CH37(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR4_WSEL_CH37_SHIFT)) & ADC_CWSELR4_WSEL_CH37_MASK) + +#define ADC_CWSELR4_WSEL_CH38_MASK (0x7000000U) +#define ADC_CWSELR4_WSEL_CH38_SHIFT (24U) +/*! WSEL_CH38 - Channel Watchdog Select for Channel 38 */ +#define ADC_CWSELR4_WSEL_CH38(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR4_WSEL_CH38_SHIFT)) & ADC_CWSELR4_WSEL_CH38_MASK) + +#define ADC_CWSELR4_WSEL_CH39_MASK (0x70000000U) +#define ADC_CWSELR4_WSEL_CH39_SHIFT (28U) +/*! WSEL_CH39 - Channel Watchdog Select for Channel 39 */ +#define ADC_CWSELR4_WSEL_CH39(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWSELR4_WSEL_CH39_SHIFT)) & ADC_CWSELR4_WSEL_CH39_MASK) +/*! @} */ + +/*! @name CWENR0 - Channel Watchdog Enable 0 */ +/*! @{ */ + +#define ADC_CWENR0_CWEN0_MASK (0x1U) +#define ADC_CWENR0_CWEN0_SHIFT (0U) +/*! CWEN0 - Watchdog Enable for Channel 0 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR0_CWEN0(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR0_CWEN0_SHIFT)) & ADC_CWENR0_CWEN0_MASK) + +#define ADC_CWENR0_CWEN1_MASK (0x2U) +#define ADC_CWENR0_CWEN1_SHIFT (1U) +/*! CWEN1 - Watchdog Enable for Channel 1 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR0_CWEN1(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR0_CWEN1_SHIFT)) & ADC_CWENR0_CWEN1_MASK) + +#define ADC_CWENR0_CWEN2_MASK (0x4U) +#define ADC_CWENR0_CWEN2_SHIFT (2U) +/*! CWEN2 - Watchdog Enable for Channel 2 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR0_CWEN2(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR0_CWEN2_SHIFT)) & ADC_CWENR0_CWEN2_MASK) + +#define ADC_CWENR0_CWEN3_MASK (0x8U) +#define ADC_CWENR0_CWEN3_SHIFT (3U) +/*! CWEN3 - Watchdog Enable for Channel 3 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR0_CWEN3(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR0_CWEN3_SHIFT)) & ADC_CWENR0_CWEN3_MASK) + +#define ADC_CWENR0_CWEN4_MASK (0x10U) +#define ADC_CWENR0_CWEN4_SHIFT (4U) +/*! CWEN4 - Watchdog Enable for Channel 4 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR0_CWEN4(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR0_CWEN4_SHIFT)) & ADC_CWENR0_CWEN4_MASK) + +#define ADC_CWENR0_CWEN5_MASK (0x20U) +#define ADC_CWENR0_CWEN5_SHIFT (5U) +/*! CWEN5 - Watchdog Enable for Channel 5 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR0_CWEN5(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR0_CWEN5_SHIFT)) & ADC_CWENR0_CWEN5_MASK) + +#define ADC_CWENR0_CWEN6_MASK (0x40U) +#define ADC_CWENR0_CWEN6_SHIFT (6U) +/*! CWEN6 - Watchdog Enable for Channel 6 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR0_CWEN6(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR0_CWEN6_SHIFT)) & ADC_CWENR0_CWEN6_MASK) + +#define ADC_CWENR0_CWEN7_MASK (0x80U) +#define ADC_CWENR0_CWEN7_SHIFT (7U) +/*! CWEN7 - Watchdog Enable for Channel 7 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR0_CWEN7(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR0_CWEN7_SHIFT)) & ADC_CWENR0_CWEN7_MASK) +/*! @} */ + +/*! @name CWENR1 - Channel Watchdog Enable 1 */ +/*! @{ */ + +#define ADC_CWENR1_CWEN32_MASK (0x1U) +#define ADC_CWENR1_CWEN32_SHIFT (0U) +/*! CWEN32 - Watchdog Enable for Channel 32 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR1_CWEN32(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR1_CWEN32_SHIFT)) & ADC_CWENR1_CWEN32_MASK) + +#define ADC_CWENR1_CWEN33_MASK (0x2U) +#define ADC_CWENR1_CWEN33_SHIFT (1U) +/*! CWEN33 - Watchdog Enable for Channel 33 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR1_CWEN33(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR1_CWEN33_SHIFT)) & ADC_CWENR1_CWEN33_MASK) + +#define ADC_CWENR1_CWEN34_MASK (0x4U) +#define ADC_CWENR1_CWEN34_SHIFT (2U) +/*! CWEN34 - Watchdog Enable for Channel 34 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR1_CWEN34(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR1_CWEN34_SHIFT)) & ADC_CWENR1_CWEN34_MASK) + +#define ADC_CWENR1_CWEN35_MASK (0x8U) +#define ADC_CWENR1_CWEN35_SHIFT (3U) +/*! CWEN35 - Watchdog Enable for Channel 35 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR1_CWEN35(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR1_CWEN35_SHIFT)) & ADC_CWENR1_CWEN35_MASK) + +#define ADC_CWENR1_CWEN36_MASK (0x10U) +#define ADC_CWENR1_CWEN36_SHIFT (4U) +/*! CWEN36 - Watchdog Enable for Channel 36 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR1_CWEN36(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR1_CWEN36_SHIFT)) & ADC_CWENR1_CWEN36_MASK) + +#define ADC_CWENR1_CWEN37_MASK (0x20U) +#define ADC_CWENR1_CWEN37_SHIFT (5U) +/*! CWEN37 - Watchdog Enable for Channel 37 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR1_CWEN37(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR1_CWEN37_SHIFT)) & ADC_CWENR1_CWEN37_MASK) + +#define ADC_CWENR1_CWEN38_MASK (0x40U) +#define ADC_CWENR1_CWEN38_SHIFT (6U) +/*! CWEN38 - Watchdog Enable for Channel 38 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR1_CWEN38(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR1_CWEN38_SHIFT)) & ADC_CWENR1_CWEN38_MASK) + +#define ADC_CWENR1_CWEN39_MASK (0x80U) +#define ADC_CWENR1_CWEN39_SHIFT (7U) +/*! CWEN39 - Watchdog Enable for Channel 39 + * 0b0..Watchdog is disabled + * 0b1..Watchdog is enabled + */ +#define ADC_CWENR1_CWEN39(x) (((uint32_t)(((uint32_t)(x)) << ADC_CWENR1_CWEN39_SHIFT)) & ADC_CWENR1_CWEN39_MASK) +/*! @} */ + +/*! @name AWORR0 - Analog Watchdog Out of Range 0 */ +/*! @{ */ + +#define ADC_AWORR0_AWOR_CH0_MASK (0x1U) +#define ADC_AWORR0_AWOR_CH0_SHIFT (0U) +/*! AWOR_CH0 - Analog Watchdog Out of Range for Channel 0 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR0_AWOR_CH0(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR0_AWOR_CH0_SHIFT)) & ADC_AWORR0_AWOR_CH0_MASK) + +#define ADC_AWORR0_AWOR_CH1_MASK (0x2U) +#define ADC_AWORR0_AWOR_CH1_SHIFT (1U) +/*! AWOR_CH1 - Analog Watchdog Out of Range for Channel 1 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR0_AWOR_CH1(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR0_AWOR_CH1_SHIFT)) & ADC_AWORR0_AWOR_CH1_MASK) + +#define ADC_AWORR0_AWOR_CH2_MASK (0x4U) +#define ADC_AWORR0_AWOR_CH2_SHIFT (2U) +/*! AWOR_CH2 - Analog Watchdog Out of Range for Channel 2 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR0_AWOR_CH2(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR0_AWOR_CH2_SHIFT)) & ADC_AWORR0_AWOR_CH2_MASK) + +#define ADC_AWORR0_AWOR_CH3_MASK (0x8U) +#define ADC_AWORR0_AWOR_CH3_SHIFT (3U) +/*! AWOR_CH3 - Analog Watchdog Out of Range for Channel 3 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR0_AWOR_CH3(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR0_AWOR_CH3_SHIFT)) & ADC_AWORR0_AWOR_CH3_MASK) + +#define ADC_AWORR0_AWOR_CH4_MASK (0x10U) +#define ADC_AWORR0_AWOR_CH4_SHIFT (4U) +/*! AWOR_CH4 - Analog Watchdog Out of Range for Channel 4 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR0_AWOR_CH4(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR0_AWOR_CH4_SHIFT)) & ADC_AWORR0_AWOR_CH4_MASK) + +#define ADC_AWORR0_AWOR_CH5_MASK (0x20U) +#define ADC_AWORR0_AWOR_CH5_SHIFT (5U) +/*! AWOR_CH5 - Analog Watchdog Out of Range for Channel 5 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR0_AWOR_CH5(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR0_AWOR_CH5_SHIFT)) & ADC_AWORR0_AWOR_CH5_MASK) + +#define ADC_AWORR0_AWOR_CH6_MASK (0x40U) +#define ADC_AWORR0_AWOR_CH6_SHIFT (6U) +/*! AWOR_CH6 - Analog Watchdog Out of Range for Channel 6 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR0_AWOR_CH6(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR0_AWOR_CH6_SHIFT)) & ADC_AWORR0_AWOR_CH6_MASK) + +#define ADC_AWORR0_AWOR_CH7_MASK (0x80U) +#define ADC_AWORR0_AWOR_CH7_SHIFT (7U) +/*! AWOR_CH7 - Analog Watchdog Out of Range for Channel 7 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR0_AWOR_CH7(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR0_AWOR_CH7_SHIFT)) & ADC_AWORR0_AWOR_CH7_MASK) +/*! @} */ + +/*! @name AWORR1 - Analog Watchdog Out of Range 1 */ +/*! @{ */ + +#define ADC_AWORR1_AWOR_CH32_MASK (0x1U) +#define ADC_AWORR1_AWOR_CH32_SHIFT (0U) +/*! AWOR_CH32 - Analog Watchdog Out of Range for Channel 32 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR1_AWOR_CH32(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR1_AWOR_CH32_SHIFT)) & ADC_AWORR1_AWOR_CH32_MASK) + +#define ADC_AWORR1_AWOR_CH33_MASK (0x2U) +#define ADC_AWORR1_AWOR_CH33_SHIFT (1U) +/*! AWOR_CH33 - Analog Watchdog Out of Range for Channel 33 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR1_AWOR_CH33(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR1_AWOR_CH33_SHIFT)) & ADC_AWORR1_AWOR_CH33_MASK) + +#define ADC_AWORR1_AWOR_CH34_MASK (0x4U) +#define ADC_AWORR1_AWOR_CH34_SHIFT (2U) +/*! AWOR_CH34 - Analog Watchdog Out of Range for Channel 34 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR1_AWOR_CH34(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR1_AWOR_CH34_SHIFT)) & ADC_AWORR1_AWOR_CH34_MASK) + +#define ADC_AWORR1_AWOR_CH35_MASK (0x8U) +#define ADC_AWORR1_AWOR_CH35_SHIFT (3U) +/*! AWOR_CH35 - Analog Watchdog Out of Range for Channel 35 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR1_AWOR_CH35(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR1_AWOR_CH35_SHIFT)) & ADC_AWORR1_AWOR_CH35_MASK) + +#define ADC_AWORR1_AWOR_CH36_MASK (0x10U) +#define ADC_AWORR1_AWOR_CH36_SHIFT (4U) +/*! AWOR_CH36 - Analog Watchdog Out of Range for Channel 36 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR1_AWOR_CH36(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR1_AWOR_CH36_SHIFT)) & ADC_AWORR1_AWOR_CH36_MASK) + +#define ADC_AWORR1_AWOR_CH37_MASK (0x20U) +#define ADC_AWORR1_AWOR_CH37_SHIFT (5U) +/*! AWOR_CH37 - Analog Watchdog Out of Range for Channel 37 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR1_AWOR_CH37(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR1_AWOR_CH37_SHIFT)) & ADC_AWORR1_AWOR_CH37_MASK) + +#define ADC_AWORR1_AWOR_CH38_MASK (0x40U) +#define ADC_AWORR1_AWOR_CH38_SHIFT (6U) +/*! AWOR_CH38 - Analog Watchdog Out of Range for Channel 38 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR1_AWOR_CH38(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR1_AWOR_CH38_SHIFT)) & ADC_AWORR1_AWOR_CH38_MASK) + +#define ADC_AWORR1_AWOR_CH39_MASK (0x80U) +#define ADC_AWORR1_AWOR_CH39_SHIFT (7U) +/*! AWOR_CH39 - Analog Watchdog Out of Range for Channel 39 + * 0b0..Converted data is in range + * 0b0..No effect + * 0b1..Converted data is out of range + * 0b1..Clear the flag + */ +#define ADC_AWORR1_AWOR_CH39(x) (((uint32_t)(((uint32_t)(x)) << ADC_AWORR1_AWOR_CH39_SHIFT)) & ADC_AWORR1_AWOR_CH39_MASK) +/*! @} */ + +/*! @name STCR1 - Self-Test Configuration 1 */ +/*! @{ */ + +#define ADC_STCR1_INPSAMP_S_MASK (0xFF00U) +#define ADC_STCR1_INPSAMP_S_SHIFT (8U) +/*! INPSAMP_S - Sampling Configuration for Algorithm S */ +#define ADC_STCR1_INPSAMP_S(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR1_INPSAMP_S_SHIFT)) & ADC_STCR1_INPSAMP_S_MASK) + +#define ADC_STCR1_INPSAMP_C_MASK (0xFF000000U) +#define ADC_STCR1_INPSAMP_C_SHIFT (24U) +/*! INPSAMP_C - Sampling Configuration for Algorithm C */ +#define ADC_STCR1_INPSAMP_C(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR1_INPSAMP_C_SHIFT)) & ADC_STCR1_INPSAMP_C_MASK) +/*! @} */ + +/*! @name STCR2 - Self-Test Configuration 2 */ +/*! @{ */ + +#define ADC_STCR2_FMA_S_MASK (0x1U) +#define ADC_STCR2_FMA_S_SHIFT (0U) +/*! FMA_S - Fault Mapping for BGAP Algorithm + * 0b0..NCF + * 0b1..CF + */ +#define ADC_STCR2_FMA_S(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_FMA_S_SHIFT)) & ADC_STCR2_FMA_S_MASK) + +#define ADC_STCR2_FMA_C_MASK (0x4U) +#define ADC_STCR2_FMA_C_SHIFT (2U) +/*! FMA_C - Fault Mapping for Algorithm C + * 0b0..NCF + * 0b1..CF + */ +#define ADC_STCR2_FMA_C(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_FMA_C_SHIFT)) & ADC_STCR2_FMA_C_MASK) + +#define ADC_STCR2_FMA_WDTERR_MASK (0x8U) +#define ADC_STCR2_FMA_WDTERR_SHIFT (3U) +/*! FMA_WDTERR - Fault Mapping for Watchdog Timer Error + * 0b0..NCF + * 0b1..CF + */ +#define ADC_STCR2_FMA_WDTERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_FMA_WDTERR_SHIFT)) & ADC_STCR2_FMA_WDTERR_MASK) + +#define ADC_STCR2_FMA_WDSERR_MASK (0x10U) +#define ADC_STCR2_FMA_WDSERR_SHIFT (4U) +/*! FMA_WDSERR - Fault Mapping for Watchdog Sequence Error + * 0b0..NCF mapping + * 0b1..CF mapping + */ +#define ADC_STCR2_FMA_WDSERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_FMA_WDSERR_SHIFT)) & ADC_STCR2_FMA_WDSERR_MASK) + +#define ADC_STCR2_EN_MASK (0x80U) +#define ADC_STCR2_EN_SHIFT (7U) +/*! EN - Self-Testing Channel Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ADC_STCR2_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_EN_SHIFT)) & ADC_STCR2_EN_MASK) + +#define ADC_STCR2_MSKERR_S0_MASK (0x800U) +#define ADC_STCR2_MSKERR_S0_SHIFT (11U) +/*! MSKERR_S0 - Error on Algorithm S0 Channel Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKERR_S0(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKERR_S0_SHIFT)) & ADC_STCR2_MSKERR_S0_MASK) + +#define ADC_STCR2_MSKERR_S1_MASK (0x1000U) +#define ADC_STCR2_MSKERR_S1_SHIFT (12U) +/*! MSKERR_S1 - Error on Algorithm S1 Channel Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKERR_S1(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKERR_S1_SHIFT)) & ADC_STCR2_MSKERR_S1_MASK) + +#define ADC_STCR2_MSKERR_S2_MASK (0x2000U) +#define ADC_STCR2_MSKERR_S2_SHIFT (13U) +/*! MSKERR_S2 - Error on Algorithm S2 Channel Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKERR_S2(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKERR_S2_SHIFT)) & ADC_STCR2_MSKERR_S2_MASK) + +#define ADC_STCR2_MSKERR_C_MASK (0x8000U) +#define ADC_STCR2_MSKERR_C_SHIFT (15U) +/*! MSKERR_C - Error on Algorithm C Channel Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKERR_C(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKERR_C_SHIFT)) & ADC_STCR2_MSKERR_C_MASK) + +#define ADC_STCR2_MSKWDG_EOA_S_MASK (0x10000U) +#define ADC_STCR2_MSKWDG_EOA_S_SHIFT (16U) +/*! MSKWDG_EOA_S - End of Algorithm S Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKWDG_EOA_S(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKWDG_EOA_S_SHIFT)) & ADC_STCR2_MSKWDG_EOA_S_MASK) + +#define ADC_STCR2_MSKWDG_EOA_C_MASK (0x40000U) +#define ADC_STCR2_MSKWDG_EOA_C_SHIFT (18U) +/*! MSKWDG_EOA_C - End of Algorithm C Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKWDG_EOA_C(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKWDG_EOA_C_SHIFT)) & ADC_STCR2_MSKWDG_EOA_C_MASK) + +#define ADC_STCR2_MSKST_EOC_MASK (0x800000U) +#define ADC_STCR2_MSKST_EOC_SHIFT (23U) +/*! MSKST_EOC - Self-Test EOC Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKST_EOC(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKST_EOC_SHIFT)) & ADC_STCR2_MSKST_EOC_MASK) + +#define ADC_STCR2_MSKWDTERR_MASK (0x2000000U) +#define ADC_STCR2_MSKWDTERR_SHIFT (25U) +/*! MSKWDTERR - Watchdog Timer Error Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKWDTERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKWDTERR_SHIFT)) & ADC_STCR2_MSKWDTERR_MASK) + +#define ADC_STCR2_SERR_MASK (0x4000000U) +#define ADC_STCR2_SERR_SHIFT (26U) +/*! SERR - Error Fault Injection Field (write-only) */ +#define ADC_STCR2_SERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_SERR_SHIFT)) & ADC_STCR2_SERR_MASK) + +#define ADC_STCR2_MSKWDSERR_MASK (0x8000000U) +#define ADC_STCR2_MSKWDSERR_SHIFT (27U) +/*! MSKWDSERR - Watchdog Sequence Error Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define ADC_STCR2_MSKWDSERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR2_MSKWDSERR_SHIFT)) & ADC_STCR2_MSKWDSERR_MASK) +/*! @} */ + +/*! @name STCR3 - Self-Test Configuration 3 */ +/*! @{ */ + +#define ADC_STCR3_MSTEP_MASK (0x1FU) +#define ADC_STCR3_MSTEP_SHIFT (0U) +/*! MSTEP - Self-Test Step Select */ +#define ADC_STCR3_MSTEP(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR3_MSTEP_SHIFT)) & ADC_STCR3_MSTEP_MASK) + +#define ADC_STCR3_ALG_MASK (0x300U) +#define ADC_STCR3_ALG_SHIFT (8U) +/*! ALG - Self-Test Algorithm Select + * 0b00..Algorithm S + * 0b01..Reserved + * 0b10..Algorithm C + * 0b11..Algorithm S (for One-Shot Operation mode); Algorithm S + C (for Scan Operation mode) + */ +#define ADC_STCR3_ALG(x) (((uint32_t)(((uint32_t)(x)) << ADC_STCR3_ALG_SHIFT)) & ADC_STCR3_ALG_MASK) +/*! @} */ + +/*! @name STBRR - Self-Test Baud Rate */ +/*! @{ */ + +#define ADC_STBRR_BR_MASK (0xFFU) +#define ADC_STBRR_BR_SHIFT (0U) +/*! BR - Algorithm Baud Rate */ +#define ADC_STBRR_BR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STBRR_BR_SHIFT)) & ADC_STBRR_BR_MASK) + +#define ADC_STBRR_WDT_MASK (0x70000U) +#define ADC_STBRR_WDT_SHIFT (16U) +/*! WDT - Watchdog Timer Value + * 0b000..0.1 ms ((0008h * Prescaler) cycles at 80 MHz) + * 0b001..0.5 ms ((0027h * Prescaler) cycles at 80 MHz) + * 0b010..1 ms ((004Eh * Prescaler) cycles at 80 MHz) + * 0b011..2 ms ((009Ch * Prescaler) cycles at 80 MHz) + * 0b100..5 ms ((0187h * Prescaler) cycles at 80 MHz) + * 0b101..10 ms ((030Dh * Prescaler) cycles at 80 MHz) + * 0b110..20 ms (061Ah * Prescaler) cycles at 80 MHz) + * 0b111..50 ms (0F42h *Prescaler) cycles at 80 MHz) + */ +#define ADC_STBRR_WDT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STBRR_WDT_SHIFT)) & ADC_STBRR_WDT_MASK) +/*! @} */ + +/*! @name STSR1 - Self-Test Status 1 */ +/*! @{ */ + +#define ADC_STSR1_STEP_C_MASK (0x3E0U) +#define ADC_STSR1_STEP_C_SHIFT (5U) +/*! STEP_C - Algorithm C Step Number Error */ +#define ADC_STSR1_STEP_C(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_STEP_C_SHIFT)) & ADC_STSR1_STEP_C_MASK) + +#define ADC_STSR1_ERR_S0_MASK (0x800U) +#define ADC_STSR1_ERR_S0_SHIFT (11U) +/*! ERR_S0 - Algorithm S0 Error + * 0b0..No VREF error + * 0b0..No effect + * 0b1..VREF error occurred + * 0b1..Clear the flag + */ +#define ADC_STSR1_ERR_S0(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_ERR_S0_SHIFT)) & ADC_STSR1_ERR_S0_MASK) + +#define ADC_STSR1_ERR_S1_MASK (0x1000U) +#define ADC_STSR1_ERR_S1_SHIFT (12U) +/*! ERR_S1 - Algorithm S1 Error + * 0b0..No VDD ERROR + * 0b0..No effect + * 0b1..VDD ERROR occurred + * 0b1..Clear the flag + */ +#define ADC_STSR1_ERR_S1(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_ERR_S1_SHIFT)) & ADC_STSR1_ERR_S1_MASK) + +#define ADC_STSR1_ERR_S2_MASK (0x2000U) +#define ADC_STSR1_ERR_S2_SHIFT (13U) +/*! ERR_S2 - Algorithm S2 Error + * 0b0..No error occurred on the sampled signal + * 0b0..No effect + * 0b1..Error occurred on the sampled signal + * 0b1..Clear the flag + */ +#define ADC_STSR1_ERR_S2(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_ERR_S2_SHIFT)) & ADC_STSR1_ERR_S2_MASK) + +#define ADC_STSR1_ERR_C_MASK (0x8000U) +#define ADC_STSR1_ERR_C_SHIFT (15U) +/*! ERR_C - Algorithm C Error + * 0b0..No Algorithm C error + * 0b0..No effect + * 0b1..Algorithm C error occurred + * 0b1..Clear the flag + */ +#define ADC_STSR1_ERR_C(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_ERR_C_SHIFT)) & ADC_STSR1_ERR_C_MASK) + +#define ADC_STSR1_WDG_EOA_S_MASK (0x10000U) +#define ADC_STSR1_WDG_EOA_S_SHIFT (16U) +/*! WDG_EOA_S - Watchdog End of Algorithm S + * 0b0..Self-test end of Algorithm S conversion is not complete. + * 0b0..No effect + * 0b1..Self-test end of Algorithm S conversion is complete. + * 0b1..Clear the flag + */ +#define ADC_STSR1_WDG_EOA_S(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_WDG_EOA_S_SHIFT)) & ADC_STSR1_WDG_EOA_S_MASK) + +#define ADC_STSR1_WDG_EOA_C_MASK (0x40000U) +#define ADC_STSR1_WDG_EOA_C_SHIFT (18U) +/*! WDG_EOA_C - Watchdog End of Algorithm C + * 0b0..Self-test end of Algorithm C conversion is not complete + * 0b0..No effect + * 0b1..Self-test end of Algorithm C conversion is complete + * 0b1..Clear the flag + */ +#define ADC_STSR1_WDG_EOA_C(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_WDG_EOA_C_SHIFT)) & ADC_STSR1_WDG_EOA_C_MASK) + +#define ADC_STSR1_ST_EOC_MASK (0x800000U) +#define ADC_STSR1_ST_EOC_SHIFT (23U) +/*! ST_EOC - Self-Test EOC + * 0b0..Self-test end of conversion is not complete + * 0b0..No effect + * 0b1..Self-test end of conversion is complete + * 0b1..Clear the flag + */ +#define ADC_STSR1_ST_EOC(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_ST_EOC_SHIFT)) & ADC_STSR1_ST_EOC_MASK) + +#define ADC_STSR1_OVERWR_MASK (0x1000000U) +#define ADC_STSR1_OVERWR_SHIFT (24U) +/*! OVERWR - Overwrite Error + * 0b0..No overwrite error + * 0b0..No effect + * 0b1..Overwrite error occurred + * 0b1..Clear the flag + */ +#define ADC_STSR1_OVERWR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_OVERWR_SHIFT)) & ADC_STSR1_OVERWR_MASK) + +#define ADC_STSR1_WDTERR_MASK (0x2000000U) +#define ADC_STSR1_WDTERR_SHIFT (25U) +/*! WDTERR - Watchdog Timer Error + * 0b0..No failure + * 0b0..No effect + * 0b1..Failure occurred + * 0b1..Clear the flag + */ +#define ADC_STSR1_WDTERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_WDTERR_SHIFT)) & ADC_STSR1_WDTERR_MASK) + +#define ADC_STSR1_WDSERR_MASK (0x8000000U) +#define ADC_STSR1_WDSERR_SHIFT (27U) +/*! WDSERR - Watchdog Sequence Errors + * 0b0..No failure + * 0b0..No effect + * 0b1..Failure occurred + * 0b1..Clear the flag + */ +#define ADC_STSR1_WDSERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR1_WDSERR_SHIFT)) & ADC_STSR1_WDSERR_MASK) +/*! @} */ + +/*! @name STSR2 - Self-Test Status 2 */ +/*! @{ */ + +#define ADC_STSR2_DATA0_MASK (0xFFFU) +#define ADC_STSR2_DATA0_SHIFT (0U) +/*! DATA0 - Test Channel Converted Data when ERR_S1 Occurred */ +#define ADC_STSR2_DATA0(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR2_DATA0_SHIFT)) & ADC_STSR2_DATA0_MASK) + +#define ADC_STSR2_DATA1_MASK (0xFFF0000U) +#define ADC_STSR2_DATA1_SHIFT (16U) +/*! DATA1 - Test Channel Converted Data when ERR_S1 Occurred */ +#define ADC_STSR2_DATA1(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR2_DATA1_SHIFT)) & ADC_STSR2_DATA1_MASK) + +#define ADC_STSR2_OVFL_MASK (0x80000000U) +#define ADC_STSR2_OVFL_SHIFT (31U) +/*! OVFL - Overflow Bit + * 0b0..Not overflow + * 0b1..Overflow + */ +#define ADC_STSR2_OVFL(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR2_OVFL_SHIFT)) & ADC_STSR2_OVFL_MASK) +/*! @} */ + +/*! @name STSR3 - Self-Test Status 3 */ +/*! @{ */ + +#define ADC_STSR3_DATA0_MASK (0xFFFU) +#define ADC_STSR3_DATA0_SHIFT (0U) +/*! DATA0 - Test Channel Converted Data when ERR_S0 Occurred */ +#define ADC_STSR3_DATA0(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR3_DATA0_SHIFT)) & ADC_STSR3_DATA0_MASK) + +#define ADC_STSR3_DATA1_MASK (0xFFF0000U) +#define ADC_STSR3_DATA1_SHIFT (16U) +/*! DATA1 - Test Channel Converted Data when ERR_C Occurred */ +#define ADC_STSR3_DATA1(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR3_DATA1_SHIFT)) & ADC_STSR3_DATA1_MASK) +/*! @} */ + +/*! @name STSR4 - Self-Test Status 4 */ +/*! @{ */ + +#define ADC_STSR4_DATA1_MASK (0xFFF0000U) +#define ADC_STSR4_DATA1_SHIFT (16U) +/*! DATA1 - Test Channel Converted Data When ERR_C Occurred */ +#define ADC_STSR4_DATA1(x) (((uint32_t)(((uint32_t)(x)) << ADC_STSR4_DATA1_SHIFT)) & ADC_STSR4_DATA1_MASK) +/*! @} */ + +/*! @name STDR1 - Self-Test Data 1 */ +/*! @{ */ + +#define ADC_STDR1_TCDATA_MASK (0xFFFU) +#define ADC_STDR1_TCDATA_SHIFT (0U) +/*! TCDATA - Test Channel Converted Data */ +#define ADC_STDR1_TCDATA(x) (((uint32_t)(((uint32_t)(x)) << ADC_STDR1_TCDATA_SHIFT)) & ADC_STDR1_TCDATA_MASK) + +#define ADC_STDR1_OWERWR_MASK (0x40000U) +#define ADC_STDR1_OWERWR_SHIFT (18U) +/*! OWERWR - Overwrite Data + * 0b0..Data not overwritten + * 0b1..Data overwritten + */ +#define ADC_STDR1_OWERWR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STDR1_OWERWR_SHIFT)) & ADC_STDR1_OWERWR_MASK) + +#define ADC_STDR1_VALID_MASK (0x80000U) +#define ADC_STDR1_VALID_SHIFT (19U) +/*! VALID - Valid Data + * 0b0..Data not valid + * 0b1..Data valid + */ +#define ADC_STDR1_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_STDR1_VALID_SHIFT)) & ADC_STDR1_VALID_MASK) +/*! @} */ + +/*! @name STDR2 - Self-Test Data 2 */ +/*! @{ */ + +#define ADC_STDR2_IDATA_MASK (0xFFFU) +#define ADC_STDR2_IDATA_SHIFT (0U) +/*! IDATA - Integer Data */ +#define ADC_STDR2_IDATA(x) (((uint32_t)(((uint32_t)(x)) << ADC_STDR2_IDATA_SHIFT)) & ADC_STDR2_IDATA_MASK) + +#define ADC_STDR2_OVERWR_MASK (0x40000U) +#define ADC_STDR2_OVERWR_SHIFT (18U) +/*! OVERWR - Overwrite Data + * 0b0..Data not overwritten + * 0b1..Data overwritten + */ +#define ADC_STDR2_OVERWR(x) (((uint32_t)(((uint32_t)(x)) << ADC_STDR2_OVERWR_SHIFT)) & ADC_STDR2_OVERWR_MASK) + +#define ADC_STDR2_VALID_MASK (0x80000U) +#define ADC_STDR2_VALID_SHIFT (19U) +/*! VALID - Valid Data + * 0b0..Data not valid + * 0b1..Data valid + */ +#define ADC_STDR2_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_STDR2_VALID_SHIFT)) & ADC_STDR2_VALID_MASK) + +#define ADC_STDR2_FDATA_MASK (0xFFF00000U) +#define ADC_STDR2_FDATA_SHIFT (20U) +/*! FDATA - Fractional Data */ +#define ADC_STDR2_FDATA(x) (((uint32_t)(((uint32_t)(x)) << ADC_STDR2_FDATA_SHIFT)) & ADC_STDR2_FDATA_MASK) +/*! @} */ + +/*! @name STAW0R - Self-Test Analog Watchdog 0 */ +/*! @{ */ + +#define ADC_STAW0R_THRL_MASK (0xFFFU) +#define ADC_STAW0R_THRL_SHIFT (0U) +/*! THRL - Low Threshold Value for Algorithm S Step0 */ +#define ADC_STAW0R_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW0R_THRL_SHIFT)) & ADC_STAW0R_THRL_MASK) + +#define ADC_STAW0R_THRH_MASK (0xFFF0000U) +#define ADC_STAW0R_THRH_SHIFT (16U) +/*! THRH - High Threshold Value for Algorithm S Step0 */ +#define ADC_STAW0R_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW0R_THRH_SHIFT)) & ADC_STAW0R_THRH_MASK) + +#define ADC_STAW0R_WDTE_MASK (0x40000000U) +#define ADC_STAW0R_WDTE_SHIFT (30U) +/*! WDTE - Watchdog Timer Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define ADC_STAW0R_WDTE(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW0R_WDTE_SHIFT)) & ADC_STAW0R_WDTE_MASK) + +#define ADC_STAW0R_AWDE_MASK (0x80000000U) +#define ADC_STAW0R_AWDE_SHIFT (31U) +/*! AWDE - Analog Watchdog Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define ADC_STAW0R_AWDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW0R_AWDE_SHIFT)) & ADC_STAW0R_AWDE_MASK) +/*! @} */ + +/*! @name STAW1AR - Self-Test Analog Watchdog 1A */ +/*! @{ */ + +#define ADC_STAW1AR_THRL_MASK (0xFFFU) +#define ADC_STAW1AR_THRL_SHIFT (0U) +/*! THRL - Low Threshold Value for Algorithm S Step1 */ +#define ADC_STAW1AR_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW1AR_THRL_SHIFT)) & ADC_STAW1AR_THRL_MASK) + +#define ADC_STAW1AR_THRH_MASK (0xFFF0000U) +#define ADC_STAW1AR_THRH_SHIFT (16U) +/*! THRH - High Threshold Value for Algorithm S Step1 */ +#define ADC_STAW1AR_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW1AR_THRH_SHIFT)) & ADC_STAW1AR_THRH_MASK) + +#define ADC_STAW1AR_AWDE_MASK (0x80000000U) +#define ADC_STAW1AR_AWDE_SHIFT (31U) +/*! AWDE - Analog Watchdog Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define ADC_STAW1AR_AWDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW1AR_AWDE_SHIFT)) & ADC_STAW1AR_AWDE_MASK) +/*! @} */ + +/*! @name STAW1BR - Self-Test Analog Watchdog 1B */ +/*! @{ */ + +#define ADC_STAW1BR_THRL_MASK (0xFFFU) +#define ADC_STAW1BR_THRL_SHIFT (0U) +/*! THRL - Low Threshold Value for Algorithm S Step1 */ +#define ADC_STAW1BR_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW1BR_THRL_SHIFT)) & ADC_STAW1BR_THRL_MASK) + +#define ADC_STAW1BR_THRH_MASK (0xFFF0000U) +#define ADC_STAW1BR_THRH_SHIFT (16U) +/*! THRH - High Threshold Value for Algorithm S Step1 */ +#define ADC_STAW1BR_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW1BR_THRH_SHIFT)) & ADC_STAW1BR_THRH_MASK) +/*! @} */ + +/*! @name STAW2R - Self-Test Analog Watchdog 2 */ +/*! @{ */ + +#define ADC_STAW2R_THRL_MASK (0xFFFU) +#define ADC_STAW2R_THRL_SHIFT (0U) +/*! THRL - Threshold level low */ +#define ADC_STAW2R_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW2R_THRL_SHIFT)) & ADC_STAW2R_THRL_MASK) + +#define ADC_STAW2R_AWDE_MASK (0x80000000U) +#define ADC_STAW2R_AWDE_SHIFT (31U) +/*! AWDE - Analog Watchdog Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define ADC_STAW2R_AWDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW2R_AWDE_SHIFT)) & ADC_STAW2R_AWDE_MASK) +/*! @} */ + +/*! @name STAW4R - Self-Test Analog Watchdog 4 */ +/*! @{ */ + +#define ADC_STAW4R_THRL_MASK (0xFFFU) +#define ADC_STAW4R_THRL_SHIFT (0U) +/*! THRL - Low Threshold Value for Step0 of Algorithm C */ +#define ADC_STAW4R_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW4R_THRL_SHIFT)) & ADC_STAW4R_THRL_MASK) + +#define ADC_STAW4R_THRH_MASK (0xFFF0000U) +#define ADC_STAW4R_THRH_SHIFT (16U) +/*! THRH - High Threshold Value for Step0 of Algorithm C */ +#define ADC_STAW4R_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW4R_THRH_SHIFT)) & ADC_STAW4R_THRH_MASK) + +#define ADC_STAW4R_WDTE_MASK (0x40000000U) +#define ADC_STAW4R_WDTE_SHIFT (30U) +/*! WDTE - Watchdog Timer Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define ADC_STAW4R_WDTE(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW4R_WDTE_SHIFT)) & ADC_STAW4R_WDTE_MASK) + +#define ADC_STAW4R_AWDE_MASK (0x80000000U) +#define ADC_STAW4R_AWDE_SHIFT (31U) +/*! AWDE - Analog Watchdog Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define ADC_STAW4R_AWDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW4R_AWDE_SHIFT)) & ADC_STAW4R_AWDE_MASK) +/*! @} */ + +/*! @name STAW5R - Self-Test Analog Watchdog 5 */ +/*! @{ */ + +#define ADC_STAW5R_THRL_MASK (0xFFFU) +#define ADC_STAW5R_THRL_SHIFT (0U) +/*! THRL - Low Threshold Value for Step0 of Algorithm C */ +#define ADC_STAW5R_THRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW5R_THRL_SHIFT)) & ADC_STAW5R_THRL_MASK) + +#define ADC_STAW5R_THRH_MASK (0xFFF0000U) +#define ADC_STAW5R_THRH_SHIFT (16U) +/*! THRH - High Threshold Value for Step N of Algorithm C */ +#define ADC_STAW5R_THRH(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAW5R_THRH_SHIFT)) & ADC_STAW5R_THRH_MASK) +/*! @} */ + +/*! @name CALSTAT - Calibration Status */ +/*! @{ */ + +#define ADC_CALSTAT_STAT_1_MASK (0x1U) +#define ADC_CALSTAT_STAT_1_SHIFT (0U) +/*! STAT_1 - Status of Calibration Step 1 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_1(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_1_SHIFT)) & ADC_CALSTAT_STAT_1_MASK) + +#define ADC_CALSTAT_STAT_2_MASK (0x2U) +#define ADC_CALSTAT_STAT_2_SHIFT (1U) +/*! STAT_2 - Status of Calibration Step 2 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_2(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_2_SHIFT)) & ADC_CALSTAT_STAT_2_MASK) + +#define ADC_CALSTAT_STAT_3_MASK (0x4U) +#define ADC_CALSTAT_STAT_3_SHIFT (2U) +/*! STAT_3 - Status of Calibration Step 3 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_3(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_3_SHIFT)) & ADC_CALSTAT_STAT_3_MASK) + +#define ADC_CALSTAT_STAT_4_MASK (0x8U) +#define ADC_CALSTAT_STAT_4_SHIFT (3U) +/*! STAT_4 - Status of calibration step 4 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_4(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_4_SHIFT)) & ADC_CALSTAT_STAT_4_MASK) + +#define ADC_CALSTAT_STAT_5_MASK (0x10U) +#define ADC_CALSTAT_STAT_5_SHIFT (4U) +/*! STAT_5 - Status of Calibration Step 5 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_5(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_5_SHIFT)) & ADC_CALSTAT_STAT_5_MASK) + +#define ADC_CALSTAT_STAT_6_MASK (0x20U) +#define ADC_CALSTAT_STAT_6_SHIFT (5U) +/*! STAT_6 - Status of Calibration Step 6 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_6(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_6_SHIFT)) & ADC_CALSTAT_STAT_6_MASK) + +#define ADC_CALSTAT_STAT_7_MASK (0x40U) +#define ADC_CALSTAT_STAT_7_SHIFT (6U) +/*! STAT_7 - Status of Calibration Step 7 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_7(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_7_SHIFT)) & ADC_CALSTAT_STAT_7_MASK) + +#define ADC_CALSTAT_STAT_8_MASK (0x80U) +#define ADC_CALSTAT_STAT_8_SHIFT (7U) +/*! STAT_8 - Status of Calibration Step 8 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_8(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_8_SHIFT)) & ADC_CALSTAT_STAT_8_MASK) + +#define ADC_CALSTAT_STAT_9_MASK (0x100U) +#define ADC_CALSTAT_STAT_9_SHIFT (8U) +/*! STAT_9 - Status of Calibration Step 9 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_9(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_9_SHIFT)) & ADC_CALSTAT_STAT_9_MASK) + +#define ADC_CALSTAT_STAT_10_MASK (0x200U) +#define ADC_CALSTAT_STAT_10_SHIFT (9U) +/*! STAT_10 - Status of Calibration Step 10 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_10(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_10_SHIFT)) & ADC_CALSTAT_STAT_10_MASK) + +#define ADC_CALSTAT_STAT_11_MASK (0x400U) +#define ADC_CALSTAT_STAT_11_SHIFT (10U) +/*! STAT_11 - Status of Calibration Step 11 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_11(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_11_SHIFT)) & ADC_CALSTAT_STAT_11_MASK) + +#define ADC_CALSTAT_STAT_12_MASK (0x800U) +#define ADC_CALSTAT_STAT_12_SHIFT (11U) +/*! STAT_12 - Status of Calibration Step 12 + * 0b0..Test passed + * 0b1..Test failed + */ +#define ADC_CALSTAT_STAT_12(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_STAT_12_SHIFT)) & ADC_CALSTAT_STAT_12_MASK) + +#define ADC_CALSTAT_TEST_RESULT_MASK (0xFFFF0000U) +#define ADC_CALSTAT_TEST_RESULT_SHIFT (16U) +/*! TEST_RESULT - TEST_RESULT */ +#define ADC_CALSTAT_TEST_RESULT(x) (((uint32_t)(((uint32_t)(x)) << ADC_CALSTAT_TEST_RESULT_SHIFT)) & ADC_CALSTAT_TEST_RESULT_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group ADC_Register_Masks */ + + +/* ADC - Peripheral instance base addresses */ +/** Peripheral ADC1 base address */ +#define ADC1_BASE (0x44530000u) +/** Peripheral ADC1 base pointer */ +#define ADC1 ((ADC_Type *)ADC1_BASE) +/** Array initializer of ADC peripheral base addresses */ +#define ADC_BASE_ADDRS { ADC1_BASE } +/** Array initializer of ADC peripheral base pointers */ +#define ADC_BASE_PTRS { ADC1 } + +/*! + * @} + */ /* end of group ADC_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- ANA_OSC Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ANA_OSC_Peripheral_Access_Layer ANA_OSC Peripheral Access Layer + * @{ + */ + +/** ANA_OSC - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[2048]; + __I uint32_t DIGPROG_DEVICE_ID; /**< Device ID, offset: 0x800 */ +} ANA_OSC_Type; + +/* ---------------------------------------------------------------------------- + -- ANA_OSC Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ANA_OSC_Register_Masks ANA_OSC Register Masks + * @{ + */ + +/*! @name DIGPROG_DEVICE_ID - Device ID */ +/*! @{ */ + +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MINOR_MASK (0xFFU) +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MINOR_SHIFT (0U) +/*! DIGPROG_MINOR - Bit[3:0] is the metal layer revision. Bit[7:4] is the base layer revision. */ +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MINOR(x) (((uint32_t)(((uint32_t)(x)) << ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MINOR_SHIFT)) & ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MINOR_MASK) + +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_LOWER_MASK (0xFF00U) +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_LOWER_SHIFT (8U) +/*! DIGPROG_MAJOR_LOWER - DIGPROG_MAJOR_LOWER */ +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_LOWER(x) (((uint32_t)(((uint32_t)(x)) << ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_LOWER_SHIFT)) & ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_LOWER_MASK) + +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_UPPER_MASK (0xFF0000U) +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_UPPER_SHIFT (16U) +/*! DIGPROG_MAJOR_UPPER - DIGPROG_MAJOR_UPPER */ +#define ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_UPPER(x) (((uint32_t)(((uint32_t)(x)) << ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_UPPER_SHIFT)) & ANA_OSC_DIGPROG_DEVICE_ID_DIGPROG_MAJOR_UPPER_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group ANA_OSC_Register_Masks */ + + +/* ANA_OSC - Peripheral instance base addresses */ +/** Peripheral ANA_OSC base address */ +#define ANA_OSC_BASE (0x44480000u) +/** Peripheral ANA_OSC base pointer */ +#define ANA_OSC ((ANA_OSC_Type *)ANA_OSC_BASE) +/** Array initializer of ANA_OSC peripheral base addresses */ +#define ANA_OSC_BASE_ADDRS { ANA_OSC_BASE } +/** Array initializer of ANA_OSC peripheral base pointers */ +#define ANA_OSC_BASE_PTRS { ANA_OSC } + +/*! + * @} + */ /* end of group ANA_OSC_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- AXBS Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup AXBS_Peripheral_Access_Layer AXBS Peripheral Access Layer + * @{ + */ + +/** AXBS - Register Layout Typedef */ +typedef struct { + __IO uint32_t PRS0; /**< Priority Slave Registers, offset: 0x0 */ + uint8_t RESERVED_0[12]; + __IO uint32_t CRS0; /**< Control Register, offset: 0x10 */ + uint8_t RESERVED_1[236]; + __IO uint32_t PRS1; /**< Priority Slave Registers, offset: 0x100 */ + uint8_t RESERVED_2[12]; + __IO uint32_t CRS1; /**< Control Register, offset: 0x110 */ + uint8_t RESERVED_3[236]; + __IO uint32_t PRS2; /**< Priority Slave Registers, offset: 0x200 */ + uint8_t RESERVED_4[12]; + __IO uint32_t CRS2; /**< Control Register, offset: 0x210 */ + uint8_t RESERVED_5[236]; + __IO uint32_t PRS3; /**< Priority Slave Registers, offset: 0x300 */ + uint8_t RESERVED_6[12]; + __IO uint32_t CRS3; /**< Control Register, offset: 0x310 */ + uint8_t RESERVED_7[236]; + __IO uint32_t PRS4; /**< Priority Slave Registers, offset: 0x400 */ + uint8_t RESERVED_8[12]; + __IO uint32_t CRS4; /**< Control Register, offset: 0x410 */ + uint8_t RESERVED_9[236]; + __IO uint32_t PRS5; /**< Priority Slave Registers, offset: 0x500 */ + uint8_t RESERVED_10[12]; + __IO uint32_t CRS5; /**< Control Register, offset: 0x510 */ + uint8_t RESERVED_11[236]; + __IO uint32_t PRS6; /**< Priority Slave Registers, offset: 0x600 */ + uint8_t RESERVED_12[12]; + __IO uint32_t CRS6; /**< Control Register, offset: 0x610 */ + uint8_t RESERVED_13[236]; + __IO uint32_t PRS7; /**< Priority Slave Registers, offset: 0x700 */ + uint8_t RESERVED_14[12]; + __IO uint32_t CRS7; /**< Control Register, offset: 0x710 */ + uint8_t RESERVED_15[236]; + __IO uint32_t MGPCR0; /**< Master General Purpose Control Register, offset: 0x800 */ + uint8_t RESERVED_16[252]; + __IO uint32_t MGPCR1; /**< Master General Purpose Control Register, offset: 0x900 */ + uint8_t RESERVED_17[252]; + __IO uint32_t MGPCR2; /**< Master General Purpose Control Register, offset: 0xA00 */ + uint8_t RESERVED_18[252]; + __IO uint32_t MGPCR3; /**< Master General Purpose Control Register, offset: 0xB00 */ + uint8_t RESERVED_19[252]; + __IO uint32_t MGPCR4; /**< Master General Purpose Control Register, offset: 0xC00 */ + uint8_t RESERVED_20[252]; + __IO uint32_t MGPCR5; /**< Master General Purpose Control Register, offset: 0xD00 */ + uint8_t RESERVED_21[252]; + __IO uint32_t MGPCR6; /**< Master General Purpose Control Register, offset: 0xE00 */ + uint8_t RESERVED_22[252]; + __IO uint32_t MGPCR7; /**< Master General Purpose Control Register, offset: 0xF00 */ +} AXBS_Type; + +/* ---------------------------------------------------------------------------- + -- AXBS Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup AXBS_Register_Masks AXBS Register Masks + * @{ + */ + +/*! @name PRS0 - Priority Slave Registers */ +/*! @{ */ + +#define AXBS_PRS0_M0_MASK (0x7U) +#define AXBS_PRS0_M0_SHIFT (0U) +/*! M0 - Master 0 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or the lowest priority when accessing the slave port. + */ +#define AXBS_PRS0_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS0_M0_SHIFT)) & AXBS_PRS0_M0_MASK) + +#define AXBS_PRS0_M1_MASK (0x70U) +#define AXBS_PRS0_M1_SHIFT (4U) +/*! M1 - Master 1 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS0_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS0_M1_SHIFT)) & AXBS_PRS0_M1_MASK) + +#define AXBS_PRS0_M2_MASK (0x700U) +#define AXBS_PRS0_M2_SHIFT (8U) +/*! M2 - Master 2 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS0_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS0_M2_SHIFT)) & AXBS_PRS0_M2_MASK) + +#define AXBS_PRS0_M3_MASK (0x7000U) +#define AXBS_PRS0_M3_SHIFT (12U) +/*! M3 - Master 3 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS0_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS0_M3_SHIFT)) & AXBS_PRS0_M3_MASK) + +#define AXBS_PRS0_M4_MASK (0x70000U) +#define AXBS_PRS0_M4_SHIFT (16U) +/*! M4 - Master 4 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS0_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS0_M4_SHIFT)) & AXBS_PRS0_M4_MASK) + +#define AXBS_PRS0_M5_MASK (0x700000U) +#define AXBS_PRS0_M5_SHIFT (20U) +/*! M5 - Master 5 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS0_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS0_M5_SHIFT)) & AXBS_PRS0_M5_MASK) + +#define AXBS_PRS0_M6_MASK (0x7000000U) +#define AXBS_PRS0_M6_SHIFT (24U) +/*! M6 - Master 6 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS0_M6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS0_M6_SHIFT)) & AXBS_PRS0_M6_MASK) + +#define AXBS_PRS0_M7_MASK (0x70000000U) +#define AXBS_PRS0_M7_SHIFT (28U) +/*! M7 - Master 7 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS0_M7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS0_M7_SHIFT)) & AXBS_PRS0_M7_MASK) +/*! @} */ + +/*! @name CRS0 - Control Register */ +/*! @{ */ + +#define AXBS_CRS0_PARK_MASK (0x7U) +#define AXBS_CRS0_PARK_SHIFT (0U) +/*! PARK - Park + * 0b000..Park on master port M0 + * 0b001..Park on master port M1 + * 0b010..Park on master port M2 + * 0b011..Park on master port M3 + * 0b100..Park on master port M4 + * 0b101..Park on master port M5 + * 0b110..Park on master port M6 + * 0b111..Park on master port M7 + */ +#define AXBS_CRS0_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_PARK_SHIFT)) & AXBS_CRS0_PARK_MASK) + +#define AXBS_CRS0_PCTL_MASK (0x30U) +#define AXBS_CRS0_PCTL_SHIFT (4U) +/*! PCTL - Parking Control + * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK bit field. + * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port. + * 0b10..Low-power park. When no master makes a request, the slave port is not parked on a master and the arbiter + * drives all outputs to a constant safe state. + * 0b11..Reserved + */ +#define AXBS_CRS0_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_PCTL_SHIFT)) & AXBS_CRS0_PCTL_MASK) + +#define AXBS_CRS0_ARB_MASK (0x300U) +#define AXBS_CRS0_ARB_SHIFT (8U) +/*! ARB - Arbitration Mode + * 0b00..Fixed priority + * 0b01..Round-robin (rotating) priority + * 0b10..Reserved + * 0b11..Reserved + */ +#define AXBS_CRS0_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_ARB_SHIFT)) & AXBS_CRS0_ARB_MASK) + +#define AXBS_CRS0_HPE0_MASK (0x10000U) +#define AXBS_CRS0_HPE0_SHIFT (16U) +/*! HPE0 - High Priority Elevation 0 + * 0b0..Master high-priority elevation for master 0. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 0. is enabled on this slave port. + */ +#define AXBS_CRS0_HPE0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_HPE0_SHIFT)) & AXBS_CRS0_HPE0_MASK) + +#define AXBS_CRS0_HPE1_MASK (0x20000U) +#define AXBS_CRS0_HPE1_SHIFT (17U) +/*! HPE1 - High Priority Elevation 1 + * 0b0..Master high-priority elevation for master 1. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 1. is enabled on this slave port. + */ +#define AXBS_CRS0_HPE1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_HPE1_SHIFT)) & AXBS_CRS0_HPE1_MASK) + +#define AXBS_CRS0_HPE2_MASK (0x40000U) +#define AXBS_CRS0_HPE2_SHIFT (18U) +/*! HPE2 - High Priority Elevation 2 + * 0b0..Master high-priority elevation for master 2. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 2. is enabled on this slave port. + */ +#define AXBS_CRS0_HPE2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_HPE2_SHIFT)) & AXBS_CRS0_HPE2_MASK) + +#define AXBS_CRS0_HPE3_MASK (0x80000U) +#define AXBS_CRS0_HPE3_SHIFT (19U) +/*! HPE3 - High Priority Elevation 3 + * 0b0..Master high-priority elevation for master 3. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 3. is enabled on this slave port. + */ +#define AXBS_CRS0_HPE3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_HPE3_SHIFT)) & AXBS_CRS0_HPE3_MASK) + +#define AXBS_CRS0_HPE4_MASK (0x100000U) +#define AXBS_CRS0_HPE4_SHIFT (20U) +/*! HPE4 - High Priority Elevation 4 + * 0b0..Master high-priority elevation for master 4. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 4. is enabled on this slave port. + */ +#define AXBS_CRS0_HPE4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_HPE4_SHIFT)) & AXBS_CRS0_HPE4_MASK) + +#define AXBS_CRS0_HPE5_MASK (0x200000U) +#define AXBS_CRS0_HPE5_SHIFT (21U) +/*! HPE5 - High Priority Elevation 5 + * 0b0..Master high-priority elevation for master 5. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 5. is enabled on this slave port. + */ +#define AXBS_CRS0_HPE5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_HPE5_SHIFT)) & AXBS_CRS0_HPE5_MASK) + +#define AXBS_CRS0_HPE6_MASK (0x400000U) +#define AXBS_CRS0_HPE6_SHIFT (22U) +/*! HPE6 - High Priority Elevation 6 + * 0b0..Master high-priority elevation for master 6. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 6. is enabled on this slave port. + */ +#define AXBS_CRS0_HPE6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_HPE6_SHIFT)) & AXBS_CRS0_HPE6_MASK) + +#define AXBS_CRS0_HPE7_MASK (0x800000U) +#define AXBS_CRS0_HPE7_SHIFT (23U) +/*! HPE7 - High Priority Elevation 7 + * 0b0..Master high-priority elevation for master 7. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 7. is enabled on this slave port. + */ +#define AXBS_CRS0_HPE7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_HPE7_SHIFT)) & AXBS_CRS0_HPE7_MASK) + +#define AXBS_CRS0_RO_MASK (0x80000000U) +#define AXBS_CRS0_RO_SHIFT (31U) +/*! RO - Read Only + * 0b0..The CRSn and PRSn registers are writeable + * 0b1..The CRSn and PRSn registers are read-only and cannot be written (attempted writes have no effect on the + * registers and result in a bus error response). + */ +#define AXBS_CRS0_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS0_RO_SHIFT)) & AXBS_CRS0_RO_MASK) +/*! @} */ + +/*! @name PRS1 - Priority Slave Registers */ +/*! @{ */ + +#define AXBS_PRS1_M0_MASK (0x7U) +#define AXBS_PRS1_M0_SHIFT (0U) +/*! M0 - Master 0 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or the lowest priority when accessing the slave port. + */ +#define AXBS_PRS1_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS1_M0_SHIFT)) & AXBS_PRS1_M0_MASK) + +#define AXBS_PRS1_M1_MASK (0x70U) +#define AXBS_PRS1_M1_SHIFT (4U) +/*! M1 - Master 1 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS1_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS1_M1_SHIFT)) & AXBS_PRS1_M1_MASK) + +#define AXBS_PRS1_M2_MASK (0x700U) +#define AXBS_PRS1_M2_SHIFT (8U) +/*! M2 - Master 2 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS1_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS1_M2_SHIFT)) & AXBS_PRS1_M2_MASK) + +#define AXBS_PRS1_M3_MASK (0x7000U) +#define AXBS_PRS1_M3_SHIFT (12U) +/*! M3 - Master 3 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS1_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS1_M3_SHIFT)) & AXBS_PRS1_M3_MASK) + +#define AXBS_PRS1_M4_MASK (0x70000U) +#define AXBS_PRS1_M4_SHIFT (16U) +/*! M4 - Master 4 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS1_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS1_M4_SHIFT)) & AXBS_PRS1_M4_MASK) + +#define AXBS_PRS1_M5_MASK (0x700000U) +#define AXBS_PRS1_M5_SHIFT (20U) +/*! M5 - Master 5 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS1_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS1_M5_SHIFT)) & AXBS_PRS1_M5_MASK) + +#define AXBS_PRS1_M6_MASK (0x7000000U) +#define AXBS_PRS1_M6_SHIFT (24U) +/*! M6 - Master 6 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS1_M6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS1_M6_SHIFT)) & AXBS_PRS1_M6_MASK) + +#define AXBS_PRS1_M7_MASK (0x70000000U) +#define AXBS_PRS1_M7_SHIFT (28U) +/*! M7 - Master 7 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS1_M7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS1_M7_SHIFT)) & AXBS_PRS1_M7_MASK) +/*! @} */ + +/*! @name CRS1 - Control Register */ +/*! @{ */ + +#define AXBS_CRS1_PARK_MASK (0x7U) +#define AXBS_CRS1_PARK_SHIFT (0U) +/*! PARK - Park + * 0b000..Park on master port M0 + * 0b001..Park on master port M1 + * 0b010..Park on master port M2 + * 0b011..Park on master port M3 + * 0b100..Park on master port M4 + * 0b101..Park on master port M5 + * 0b110..Park on master port M6 + * 0b111..Park on master port M7 + */ +#define AXBS_CRS1_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_PARK_SHIFT)) & AXBS_CRS1_PARK_MASK) + +#define AXBS_CRS1_PCTL_MASK (0x30U) +#define AXBS_CRS1_PCTL_SHIFT (4U) +/*! PCTL - Parking Control + * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK bit field. + * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port. + * 0b10..Low-power park. When no master makes a request, the slave port is not parked on a master and the arbiter + * drives all outputs to a constant safe state. + * 0b11..Reserved + */ +#define AXBS_CRS1_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_PCTL_SHIFT)) & AXBS_CRS1_PCTL_MASK) + +#define AXBS_CRS1_ARB_MASK (0x300U) +#define AXBS_CRS1_ARB_SHIFT (8U) +/*! ARB - Arbitration Mode + * 0b00..Fixed priority + * 0b01..Round-robin (rotating) priority + * 0b10..Reserved + * 0b11..Reserved + */ +#define AXBS_CRS1_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_ARB_SHIFT)) & AXBS_CRS1_ARB_MASK) + +#define AXBS_CRS1_HPE0_MASK (0x10000U) +#define AXBS_CRS1_HPE0_SHIFT (16U) +/*! HPE0 - High Priority Elevation 0 + * 0b0..Master high-priority elevation for master 0. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 0. is enabled on this slave port. + */ +#define AXBS_CRS1_HPE0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_HPE0_SHIFT)) & AXBS_CRS1_HPE0_MASK) + +#define AXBS_CRS1_HPE1_MASK (0x20000U) +#define AXBS_CRS1_HPE1_SHIFT (17U) +/*! HPE1 - High Priority Elevation 1 + * 0b0..Master high-priority elevation for master 1. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 1. is enabled on this slave port. + */ +#define AXBS_CRS1_HPE1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_HPE1_SHIFT)) & AXBS_CRS1_HPE1_MASK) + +#define AXBS_CRS1_HPE2_MASK (0x40000U) +#define AXBS_CRS1_HPE2_SHIFT (18U) +/*! HPE2 - High Priority Elevation 2 + * 0b0..Master high-priority elevation for master 2. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 2. is enabled on this slave port. + */ +#define AXBS_CRS1_HPE2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_HPE2_SHIFT)) & AXBS_CRS1_HPE2_MASK) + +#define AXBS_CRS1_HPE3_MASK (0x80000U) +#define AXBS_CRS1_HPE3_SHIFT (19U) +/*! HPE3 - High Priority Elevation 3 + * 0b0..Master high-priority elevation for master 3. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 3. is enabled on this slave port. + */ +#define AXBS_CRS1_HPE3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_HPE3_SHIFT)) & AXBS_CRS1_HPE3_MASK) + +#define AXBS_CRS1_HPE4_MASK (0x100000U) +#define AXBS_CRS1_HPE4_SHIFT (20U) +/*! HPE4 - High Priority Elevation 4 + * 0b0..Master high-priority elevation for master 4. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 4. is enabled on this slave port. + */ +#define AXBS_CRS1_HPE4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_HPE4_SHIFT)) & AXBS_CRS1_HPE4_MASK) + +#define AXBS_CRS1_HPE5_MASK (0x200000U) +#define AXBS_CRS1_HPE5_SHIFT (21U) +/*! HPE5 - High Priority Elevation 5 + * 0b0..Master high-priority elevation for master 5. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 5. is enabled on this slave port. + */ +#define AXBS_CRS1_HPE5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_HPE5_SHIFT)) & AXBS_CRS1_HPE5_MASK) + +#define AXBS_CRS1_HPE6_MASK (0x400000U) +#define AXBS_CRS1_HPE6_SHIFT (22U) +/*! HPE6 - High Priority Elevation 6 + * 0b0..Master high-priority elevation for master 6. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 6. is enabled on this slave port. + */ +#define AXBS_CRS1_HPE6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_HPE6_SHIFT)) & AXBS_CRS1_HPE6_MASK) + +#define AXBS_CRS1_HPE7_MASK (0x800000U) +#define AXBS_CRS1_HPE7_SHIFT (23U) +/*! HPE7 - High Priority Elevation 7 + * 0b0..Master high-priority elevation for master 7. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 7. is enabled on this slave port. + */ +#define AXBS_CRS1_HPE7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_HPE7_SHIFT)) & AXBS_CRS1_HPE7_MASK) + +#define AXBS_CRS1_RO_MASK (0x80000000U) +#define AXBS_CRS1_RO_SHIFT (31U) +/*! RO - Read Only + * 0b0..The CRSn and PRSn registers are writeable + * 0b1..The CRSn and PRSn registers are read-only and cannot be written (attempted writes have no effect on the + * registers and result in a bus error response). + */ +#define AXBS_CRS1_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS1_RO_SHIFT)) & AXBS_CRS1_RO_MASK) +/*! @} */ + +/*! @name PRS2 - Priority Slave Registers */ +/*! @{ */ + +#define AXBS_PRS2_M0_MASK (0x7U) +#define AXBS_PRS2_M0_SHIFT (0U) +/*! M0 - Master 0 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or the lowest priority when accessing the slave port. + */ +#define AXBS_PRS2_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS2_M0_SHIFT)) & AXBS_PRS2_M0_MASK) + +#define AXBS_PRS2_M1_MASK (0x70U) +#define AXBS_PRS2_M1_SHIFT (4U) +/*! M1 - Master 1 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS2_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS2_M1_SHIFT)) & AXBS_PRS2_M1_MASK) + +#define AXBS_PRS2_M2_MASK (0x700U) +#define AXBS_PRS2_M2_SHIFT (8U) +/*! M2 - Master 2 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS2_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS2_M2_SHIFT)) & AXBS_PRS2_M2_MASK) + +#define AXBS_PRS2_M3_MASK (0x7000U) +#define AXBS_PRS2_M3_SHIFT (12U) +/*! M3 - Master 3 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS2_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS2_M3_SHIFT)) & AXBS_PRS2_M3_MASK) + +#define AXBS_PRS2_M4_MASK (0x70000U) +#define AXBS_PRS2_M4_SHIFT (16U) +/*! M4 - Master 4 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS2_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS2_M4_SHIFT)) & AXBS_PRS2_M4_MASK) + +#define AXBS_PRS2_M5_MASK (0x700000U) +#define AXBS_PRS2_M5_SHIFT (20U) +/*! M5 - Master 5 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS2_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS2_M5_SHIFT)) & AXBS_PRS2_M5_MASK) + +#define AXBS_PRS2_M6_MASK (0x7000000U) +#define AXBS_PRS2_M6_SHIFT (24U) +/*! M6 - Master 6 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS2_M6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS2_M6_SHIFT)) & AXBS_PRS2_M6_MASK) + +#define AXBS_PRS2_M7_MASK (0x70000000U) +#define AXBS_PRS2_M7_SHIFT (28U) +/*! M7 - Master 7 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS2_M7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS2_M7_SHIFT)) & AXBS_PRS2_M7_MASK) +/*! @} */ + +/*! @name CRS2 - Control Register */ +/*! @{ */ + +#define AXBS_CRS2_PARK_MASK (0x7U) +#define AXBS_CRS2_PARK_SHIFT (0U) +/*! PARK - Park + * 0b000..Park on master port M0 + * 0b001..Park on master port M1 + * 0b010..Park on master port M2 + * 0b011..Park on master port M3 + * 0b100..Park on master port M4 + * 0b101..Park on master port M5 + * 0b110..Park on master port M6 + * 0b111..Park on master port M7 + */ +#define AXBS_CRS2_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_PARK_SHIFT)) & AXBS_CRS2_PARK_MASK) + +#define AXBS_CRS2_PCTL_MASK (0x30U) +#define AXBS_CRS2_PCTL_SHIFT (4U) +/*! PCTL - Parking Control + * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK bit field. + * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port. + * 0b10..Low-power park. When no master makes a request, the slave port is not parked on a master and the arbiter + * drives all outputs to a constant safe state. + * 0b11..Reserved + */ +#define AXBS_CRS2_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_PCTL_SHIFT)) & AXBS_CRS2_PCTL_MASK) + +#define AXBS_CRS2_ARB_MASK (0x300U) +#define AXBS_CRS2_ARB_SHIFT (8U) +/*! ARB - Arbitration Mode + * 0b00..Fixed priority + * 0b01..Round-robin (rotating) priority + * 0b10..Reserved + * 0b11..Reserved + */ +#define AXBS_CRS2_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_ARB_SHIFT)) & AXBS_CRS2_ARB_MASK) + +#define AXBS_CRS2_HPE0_MASK (0x10000U) +#define AXBS_CRS2_HPE0_SHIFT (16U) +/*! HPE0 - High Priority Elevation 0 + * 0b0..Master high-priority elevation for master 0. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 0. is enabled on this slave port. + */ +#define AXBS_CRS2_HPE0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_HPE0_SHIFT)) & AXBS_CRS2_HPE0_MASK) + +#define AXBS_CRS2_HPE1_MASK (0x20000U) +#define AXBS_CRS2_HPE1_SHIFT (17U) +/*! HPE1 - High Priority Elevation 1 + * 0b0..Master high-priority elevation for master 1. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 1. is enabled on this slave port. + */ +#define AXBS_CRS2_HPE1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_HPE1_SHIFT)) & AXBS_CRS2_HPE1_MASK) + +#define AXBS_CRS2_HPE2_MASK (0x40000U) +#define AXBS_CRS2_HPE2_SHIFT (18U) +/*! HPE2 - High Priority Elevation 2 + * 0b0..Master high-priority elevation for master 2. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 2. is enabled on this slave port. + */ +#define AXBS_CRS2_HPE2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_HPE2_SHIFT)) & AXBS_CRS2_HPE2_MASK) + +#define AXBS_CRS2_HPE3_MASK (0x80000U) +#define AXBS_CRS2_HPE3_SHIFT (19U) +/*! HPE3 - High Priority Elevation 3 + * 0b0..Master high-priority elevation for master 3. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 3. is enabled on this slave port. + */ +#define AXBS_CRS2_HPE3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_HPE3_SHIFT)) & AXBS_CRS2_HPE3_MASK) + +#define AXBS_CRS2_HPE4_MASK (0x100000U) +#define AXBS_CRS2_HPE4_SHIFT (20U) +/*! HPE4 - High Priority Elevation 4 + * 0b0..Master high-priority elevation for master 4. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 4. is enabled on this slave port. + */ +#define AXBS_CRS2_HPE4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_HPE4_SHIFT)) & AXBS_CRS2_HPE4_MASK) + +#define AXBS_CRS2_HPE5_MASK (0x200000U) +#define AXBS_CRS2_HPE5_SHIFT (21U) +/*! HPE5 - High Priority Elevation 5 + * 0b0..Master high-priority elevation for master 5. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 5. is enabled on this slave port. + */ +#define AXBS_CRS2_HPE5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_HPE5_SHIFT)) & AXBS_CRS2_HPE5_MASK) + +#define AXBS_CRS2_HPE6_MASK (0x400000U) +#define AXBS_CRS2_HPE6_SHIFT (22U) +/*! HPE6 - High Priority Elevation 6 + * 0b0..Master high-priority elevation for master 6. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 6. is enabled on this slave port. + */ +#define AXBS_CRS2_HPE6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_HPE6_SHIFT)) & AXBS_CRS2_HPE6_MASK) + +#define AXBS_CRS2_HPE7_MASK (0x800000U) +#define AXBS_CRS2_HPE7_SHIFT (23U) +/*! HPE7 - High Priority Elevation 7 + * 0b0..Master high-priority elevation for master 7. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 7. is enabled on this slave port. + */ +#define AXBS_CRS2_HPE7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_HPE7_SHIFT)) & AXBS_CRS2_HPE7_MASK) + +#define AXBS_CRS2_RO_MASK (0x80000000U) +#define AXBS_CRS2_RO_SHIFT (31U) +/*! RO - Read Only + * 0b0..The CRSn and PRSn registers are writeable + * 0b1..The CRSn and PRSn registers are read-only and cannot be written (attempted writes have no effect on the + * registers and result in a bus error response). + */ +#define AXBS_CRS2_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS2_RO_SHIFT)) & AXBS_CRS2_RO_MASK) +/*! @} */ + +/*! @name PRS3 - Priority Slave Registers */ +/*! @{ */ + +#define AXBS_PRS3_M0_MASK (0x7U) +#define AXBS_PRS3_M0_SHIFT (0U) +/*! M0 - Master 0 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or the lowest priority when accessing the slave port. + */ +#define AXBS_PRS3_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS3_M0_SHIFT)) & AXBS_PRS3_M0_MASK) + +#define AXBS_PRS3_M1_MASK (0x70U) +#define AXBS_PRS3_M1_SHIFT (4U) +/*! M1 - Master 1 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS3_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS3_M1_SHIFT)) & AXBS_PRS3_M1_MASK) + +#define AXBS_PRS3_M2_MASK (0x700U) +#define AXBS_PRS3_M2_SHIFT (8U) +/*! M2 - Master 2 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS3_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS3_M2_SHIFT)) & AXBS_PRS3_M2_MASK) + +#define AXBS_PRS3_M3_MASK (0x7000U) +#define AXBS_PRS3_M3_SHIFT (12U) +/*! M3 - Master 3 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS3_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS3_M3_SHIFT)) & AXBS_PRS3_M3_MASK) + +#define AXBS_PRS3_M4_MASK (0x70000U) +#define AXBS_PRS3_M4_SHIFT (16U) +/*! M4 - Master 4 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS3_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS3_M4_SHIFT)) & AXBS_PRS3_M4_MASK) + +#define AXBS_PRS3_M5_MASK (0x700000U) +#define AXBS_PRS3_M5_SHIFT (20U) +/*! M5 - Master 5 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS3_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS3_M5_SHIFT)) & AXBS_PRS3_M5_MASK) + +#define AXBS_PRS3_M6_MASK (0x7000000U) +#define AXBS_PRS3_M6_SHIFT (24U) +/*! M6 - Master 6 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS3_M6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS3_M6_SHIFT)) & AXBS_PRS3_M6_MASK) + +#define AXBS_PRS3_M7_MASK (0x70000000U) +#define AXBS_PRS3_M7_SHIFT (28U) +/*! M7 - Master 7 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS3_M7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS3_M7_SHIFT)) & AXBS_PRS3_M7_MASK) +/*! @} */ + +/*! @name CRS3 - Control Register */ +/*! @{ */ + +#define AXBS_CRS3_PARK_MASK (0x7U) +#define AXBS_CRS3_PARK_SHIFT (0U) +/*! PARK - Park + * 0b000..Park on master port M0 + * 0b001..Park on master port M1 + * 0b010..Park on master port M2 + * 0b011..Park on master port M3 + * 0b100..Park on master port M4 + * 0b101..Park on master port M5 + * 0b110..Park on master port M6 + * 0b111..Park on master port M7 + */ +#define AXBS_CRS3_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_PARK_SHIFT)) & AXBS_CRS3_PARK_MASK) + +#define AXBS_CRS3_PCTL_MASK (0x30U) +#define AXBS_CRS3_PCTL_SHIFT (4U) +/*! PCTL - Parking Control + * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK bit field. + * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port. + * 0b10..Low-power park. When no master makes a request, the slave port is not parked on a master and the arbiter + * drives all outputs to a constant safe state. + * 0b11..Reserved + */ +#define AXBS_CRS3_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_PCTL_SHIFT)) & AXBS_CRS3_PCTL_MASK) + +#define AXBS_CRS3_ARB_MASK (0x300U) +#define AXBS_CRS3_ARB_SHIFT (8U) +/*! ARB - Arbitration Mode + * 0b00..Fixed priority + * 0b01..Round-robin (rotating) priority + * 0b10..Reserved + * 0b11..Reserved + */ +#define AXBS_CRS3_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_ARB_SHIFT)) & AXBS_CRS3_ARB_MASK) + +#define AXBS_CRS3_HPE0_MASK (0x10000U) +#define AXBS_CRS3_HPE0_SHIFT (16U) +/*! HPE0 - High Priority Elevation 0 + * 0b0..Master high-priority elevation for master 0. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 0. is enabled on this slave port. + */ +#define AXBS_CRS3_HPE0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_HPE0_SHIFT)) & AXBS_CRS3_HPE0_MASK) + +#define AXBS_CRS3_HPE1_MASK (0x20000U) +#define AXBS_CRS3_HPE1_SHIFT (17U) +/*! HPE1 - High Priority Elevation 1 + * 0b0..Master high-priority elevation for master 1. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 1. is enabled on this slave port. + */ +#define AXBS_CRS3_HPE1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_HPE1_SHIFT)) & AXBS_CRS3_HPE1_MASK) + +#define AXBS_CRS3_HPE2_MASK (0x40000U) +#define AXBS_CRS3_HPE2_SHIFT (18U) +/*! HPE2 - High Priority Elevation 2 + * 0b0..Master high-priority elevation for master 2. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 2. is enabled on this slave port. + */ +#define AXBS_CRS3_HPE2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_HPE2_SHIFT)) & AXBS_CRS3_HPE2_MASK) + +#define AXBS_CRS3_HPE3_MASK (0x80000U) +#define AXBS_CRS3_HPE3_SHIFT (19U) +/*! HPE3 - High Priority Elevation 3 + * 0b0..Master high-priority elevation for master 3. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 3. is enabled on this slave port. + */ +#define AXBS_CRS3_HPE3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_HPE3_SHIFT)) & AXBS_CRS3_HPE3_MASK) + +#define AXBS_CRS3_HPE4_MASK (0x100000U) +#define AXBS_CRS3_HPE4_SHIFT (20U) +/*! HPE4 - High Priority Elevation 4 + * 0b0..Master high-priority elevation for master 4. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 4. is enabled on this slave port. + */ +#define AXBS_CRS3_HPE4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_HPE4_SHIFT)) & AXBS_CRS3_HPE4_MASK) + +#define AXBS_CRS3_HPE5_MASK (0x200000U) +#define AXBS_CRS3_HPE5_SHIFT (21U) +/*! HPE5 - High Priority Elevation 5 + * 0b0..Master high-priority elevation for master 5. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 5. is enabled on this slave port. + */ +#define AXBS_CRS3_HPE5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_HPE5_SHIFT)) & AXBS_CRS3_HPE5_MASK) + +#define AXBS_CRS3_HPE6_MASK (0x400000U) +#define AXBS_CRS3_HPE6_SHIFT (22U) +/*! HPE6 - High Priority Elevation 6 + * 0b0..Master high-priority elevation for master 6. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 6. is enabled on this slave port. + */ +#define AXBS_CRS3_HPE6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_HPE6_SHIFT)) & AXBS_CRS3_HPE6_MASK) + +#define AXBS_CRS3_HPE7_MASK (0x800000U) +#define AXBS_CRS3_HPE7_SHIFT (23U) +/*! HPE7 - High Priority Elevation 7 + * 0b0..Master high-priority elevation for master 7. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 7. is enabled on this slave port. + */ +#define AXBS_CRS3_HPE7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_HPE7_SHIFT)) & AXBS_CRS3_HPE7_MASK) + +#define AXBS_CRS3_RO_MASK (0x80000000U) +#define AXBS_CRS3_RO_SHIFT (31U) +/*! RO - Read Only + * 0b0..The CRSn and PRSn registers are writeable + * 0b1..The CRSn and PRSn registers are read-only and cannot be written (attempted writes have no effect on the + * registers and result in a bus error response). + */ +#define AXBS_CRS3_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS3_RO_SHIFT)) & AXBS_CRS3_RO_MASK) +/*! @} */ + +/*! @name PRS4 - Priority Slave Registers */ +/*! @{ */ + +#define AXBS_PRS4_M0_MASK (0x7U) +#define AXBS_PRS4_M0_SHIFT (0U) +/*! M0 - Master 0 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or the lowest priority when accessing the slave port. + */ +#define AXBS_PRS4_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS4_M0_SHIFT)) & AXBS_PRS4_M0_MASK) + +#define AXBS_PRS4_M1_MASK (0x70U) +#define AXBS_PRS4_M1_SHIFT (4U) +/*! M1 - Master 1 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS4_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS4_M1_SHIFT)) & AXBS_PRS4_M1_MASK) + +#define AXBS_PRS4_M2_MASK (0x700U) +#define AXBS_PRS4_M2_SHIFT (8U) +/*! M2 - Master 2 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS4_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS4_M2_SHIFT)) & AXBS_PRS4_M2_MASK) + +#define AXBS_PRS4_M3_MASK (0x7000U) +#define AXBS_PRS4_M3_SHIFT (12U) +/*! M3 - Master 3 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS4_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS4_M3_SHIFT)) & AXBS_PRS4_M3_MASK) + +#define AXBS_PRS4_M4_MASK (0x70000U) +#define AXBS_PRS4_M4_SHIFT (16U) +/*! M4 - Master 4 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS4_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS4_M4_SHIFT)) & AXBS_PRS4_M4_MASK) + +#define AXBS_PRS4_M5_MASK (0x700000U) +#define AXBS_PRS4_M5_SHIFT (20U) +/*! M5 - Master 5 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS4_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS4_M5_SHIFT)) & AXBS_PRS4_M5_MASK) + +#define AXBS_PRS4_M6_MASK (0x7000000U) +#define AXBS_PRS4_M6_SHIFT (24U) +/*! M6 - Master 6 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS4_M6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS4_M6_SHIFT)) & AXBS_PRS4_M6_MASK) + +#define AXBS_PRS4_M7_MASK (0x70000000U) +#define AXBS_PRS4_M7_SHIFT (28U) +/*! M7 - Master 7 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS4_M7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS4_M7_SHIFT)) & AXBS_PRS4_M7_MASK) +/*! @} */ + +/*! @name CRS4 - Control Register */ +/*! @{ */ + +#define AXBS_CRS4_PARK_MASK (0x7U) +#define AXBS_CRS4_PARK_SHIFT (0U) +/*! PARK - Park + * 0b000..Park on master port M0 + * 0b001..Park on master port M1 + * 0b010..Park on master port M2 + * 0b011..Park on master port M3 + * 0b100..Park on master port M4 + * 0b101..Park on master port M5 + * 0b110..Park on master port M6 + * 0b111..Park on master port M7 + */ +#define AXBS_CRS4_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_PARK_SHIFT)) & AXBS_CRS4_PARK_MASK) + +#define AXBS_CRS4_PCTL_MASK (0x30U) +#define AXBS_CRS4_PCTL_SHIFT (4U) +/*! PCTL - Parking Control + * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK bit field. + * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port. + * 0b10..Low-power park. When no master makes a request, the slave port is not parked on a master and the arbiter + * drives all outputs to a constant safe state. + * 0b11..Reserved + */ +#define AXBS_CRS4_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_PCTL_SHIFT)) & AXBS_CRS4_PCTL_MASK) + +#define AXBS_CRS4_ARB_MASK (0x300U) +#define AXBS_CRS4_ARB_SHIFT (8U) +/*! ARB - Arbitration Mode + * 0b00..Fixed priority + * 0b01..Round-robin (rotating) priority + * 0b10..Reserved + * 0b11..Reserved + */ +#define AXBS_CRS4_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_ARB_SHIFT)) & AXBS_CRS4_ARB_MASK) + +#define AXBS_CRS4_HPE0_MASK (0x10000U) +#define AXBS_CRS4_HPE0_SHIFT (16U) +/*! HPE0 - High Priority Elevation 0 + * 0b0..Master high-priority elevation for master 0. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 0. is enabled on this slave port. + */ +#define AXBS_CRS4_HPE0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_HPE0_SHIFT)) & AXBS_CRS4_HPE0_MASK) + +#define AXBS_CRS4_HPE1_MASK (0x20000U) +#define AXBS_CRS4_HPE1_SHIFT (17U) +/*! HPE1 - High Priority Elevation 1 + * 0b0..Master high-priority elevation for master 1. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 1. is enabled on this slave port. + */ +#define AXBS_CRS4_HPE1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_HPE1_SHIFT)) & AXBS_CRS4_HPE1_MASK) + +#define AXBS_CRS4_HPE2_MASK (0x40000U) +#define AXBS_CRS4_HPE2_SHIFT (18U) +/*! HPE2 - High Priority Elevation 2 + * 0b0..Master high-priority elevation for master 2. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 2. is enabled on this slave port. + */ +#define AXBS_CRS4_HPE2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_HPE2_SHIFT)) & AXBS_CRS4_HPE2_MASK) + +#define AXBS_CRS4_HPE3_MASK (0x80000U) +#define AXBS_CRS4_HPE3_SHIFT (19U) +/*! HPE3 - High Priority Elevation 3 + * 0b0..Master high-priority elevation for master 3. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 3. is enabled on this slave port. + */ +#define AXBS_CRS4_HPE3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_HPE3_SHIFT)) & AXBS_CRS4_HPE3_MASK) + +#define AXBS_CRS4_HPE4_MASK (0x100000U) +#define AXBS_CRS4_HPE4_SHIFT (20U) +/*! HPE4 - High Priority Elevation 4 + * 0b0..Master high-priority elevation for master 4. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 4. is enabled on this slave port. + */ +#define AXBS_CRS4_HPE4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_HPE4_SHIFT)) & AXBS_CRS4_HPE4_MASK) + +#define AXBS_CRS4_HPE5_MASK (0x200000U) +#define AXBS_CRS4_HPE5_SHIFT (21U) +/*! HPE5 - High Priority Elevation 5 + * 0b0..Master high-priority elevation for master 5. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 5. is enabled on this slave port. + */ +#define AXBS_CRS4_HPE5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_HPE5_SHIFT)) & AXBS_CRS4_HPE5_MASK) + +#define AXBS_CRS4_HPE6_MASK (0x400000U) +#define AXBS_CRS4_HPE6_SHIFT (22U) +/*! HPE6 - High Priority Elevation 6 + * 0b0..Master high-priority elevation for master 6. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 6. is enabled on this slave port. + */ +#define AXBS_CRS4_HPE6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_HPE6_SHIFT)) & AXBS_CRS4_HPE6_MASK) + +#define AXBS_CRS4_HPE7_MASK (0x800000U) +#define AXBS_CRS4_HPE7_SHIFT (23U) +/*! HPE7 - High Priority Elevation 7 + * 0b0..Master high-priority elevation for master 7. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 7. is enabled on this slave port. + */ +#define AXBS_CRS4_HPE7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_HPE7_SHIFT)) & AXBS_CRS4_HPE7_MASK) + +#define AXBS_CRS4_RO_MASK (0x80000000U) +#define AXBS_CRS4_RO_SHIFT (31U) +/*! RO - Read Only + * 0b0..The CRSn and PRSn registers are writeable + * 0b1..The CRSn and PRSn registers are read-only and cannot be written (attempted writes have no effect on the + * registers and result in a bus error response). + */ +#define AXBS_CRS4_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS4_RO_SHIFT)) & AXBS_CRS4_RO_MASK) +/*! @} */ + +/*! @name PRS5 - Priority Slave Registers */ +/*! @{ */ + +#define AXBS_PRS5_M0_MASK (0x7U) +#define AXBS_PRS5_M0_SHIFT (0U) +/*! M0 - Master 0 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or the lowest priority when accessing the slave port. + */ +#define AXBS_PRS5_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS5_M0_SHIFT)) & AXBS_PRS5_M0_MASK) + +#define AXBS_PRS5_M1_MASK (0x70U) +#define AXBS_PRS5_M1_SHIFT (4U) +/*! M1 - Master 1 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS5_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS5_M1_SHIFT)) & AXBS_PRS5_M1_MASK) + +#define AXBS_PRS5_M2_MASK (0x700U) +#define AXBS_PRS5_M2_SHIFT (8U) +/*! M2 - Master 2 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS5_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS5_M2_SHIFT)) & AXBS_PRS5_M2_MASK) + +#define AXBS_PRS5_M3_MASK (0x7000U) +#define AXBS_PRS5_M3_SHIFT (12U) +/*! M3 - Master 3 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS5_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS5_M3_SHIFT)) & AXBS_PRS5_M3_MASK) + +#define AXBS_PRS5_M4_MASK (0x70000U) +#define AXBS_PRS5_M4_SHIFT (16U) +/*! M4 - Master 4 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS5_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS5_M4_SHIFT)) & AXBS_PRS5_M4_MASK) + +#define AXBS_PRS5_M5_MASK (0x700000U) +#define AXBS_PRS5_M5_SHIFT (20U) +/*! M5 - Master 5 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS5_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS5_M5_SHIFT)) & AXBS_PRS5_M5_MASK) + +#define AXBS_PRS5_M6_MASK (0x7000000U) +#define AXBS_PRS5_M6_SHIFT (24U) +/*! M6 - Master 6 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS5_M6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS5_M6_SHIFT)) & AXBS_PRS5_M6_MASK) + +#define AXBS_PRS5_M7_MASK (0x70000000U) +#define AXBS_PRS5_M7_SHIFT (28U) +/*! M7 - Master 7 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS5_M7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS5_M7_SHIFT)) & AXBS_PRS5_M7_MASK) +/*! @} */ + +/*! @name CRS5 - Control Register */ +/*! @{ */ + +#define AXBS_CRS5_PARK_MASK (0x7U) +#define AXBS_CRS5_PARK_SHIFT (0U) +/*! PARK - Park + * 0b000..Park on master port M0 + * 0b001..Park on master port M1 + * 0b010..Park on master port M2 + * 0b011..Park on master port M3 + * 0b100..Park on master port M4 + * 0b101..Park on master port M5 + * 0b110..Park on master port M6 + * 0b111..Park on master port M7 + */ +#define AXBS_CRS5_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_PARK_SHIFT)) & AXBS_CRS5_PARK_MASK) + +#define AXBS_CRS5_PCTL_MASK (0x30U) +#define AXBS_CRS5_PCTL_SHIFT (4U) +/*! PCTL - Parking Control + * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK bit field. + * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port. + * 0b10..Low-power park. When no master makes a request, the slave port is not parked on a master and the arbiter + * drives all outputs to a constant safe state. + * 0b11..Reserved + */ +#define AXBS_CRS5_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_PCTL_SHIFT)) & AXBS_CRS5_PCTL_MASK) + +#define AXBS_CRS5_ARB_MASK (0x300U) +#define AXBS_CRS5_ARB_SHIFT (8U) +/*! ARB - Arbitration Mode + * 0b00..Fixed priority + * 0b01..Round-robin (rotating) priority + * 0b10..Reserved + * 0b11..Reserved + */ +#define AXBS_CRS5_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_ARB_SHIFT)) & AXBS_CRS5_ARB_MASK) + +#define AXBS_CRS5_HPE0_MASK (0x10000U) +#define AXBS_CRS5_HPE0_SHIFT (16U) +/*! HPE0 - High Priority Elevation 0 + * 0b0..Master high-priority elevation for master 0. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 0. is enabled on this slave port. + */ +#define AXBS_CRS5_HPE0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_HPE0_SHIFT)) & AXBS_CRS5_HPE0_MASK) + +#define AXBS_CRS5_HPE1_MASK (0x20000U) +#define AXBS_CRS5_HPE1_SHIFT (17U) +/*! HPE1 - High Priority Elevation 1 + * 0b0..Master high-priority elevation for master 1. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 1. is enabled on this slave port. + */ +#define AXBS_CRS5_HPE1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_HPE1_SHIFT)) & AXBS_CRS5_HPE1_MASK) + +#define AXBS_CRS5_HPE2_MASK (0x40000U) +#define AXBS_CRS5_HPE2_SHIFT (18U) +/*! HPE2 - High Priority Elevation 2 + * 0b0..Master high-priority elevation for master 2. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 2. is enabled on this slave port. + */ +#define AXBS_CRS5_HPE2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_HPE2_SHIFT)) & AXBS_CRS5_HPE2_MASK) + +#define AXBS_CRS5_HPE3_MASK (0x80000U) +#define AXBS_CRS5_HPE3_SHIFT (19U) +/*! HPE3 - High Priority Elevation 3 + * 0b0..Master high-priority elevation for master 3. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 3. is enabled on this slave port. + */ +#define AXBS_CRS5_HPE3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_HPE3_SHIFT)) & AXBS_CRS5_HPE3_MASK) + +#define AXBS_CRS5_HPE4_MASK (0x100000U) +#define AXBS_CRS5_HPE4_SHIFT (20U) +/*! HPE4 - High Priority Elevation 4 + * 0b0..Master high-priority elevation for master 4. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 4. is enabled on this slave port. + */ +#define AXBS_CRS5_HPE4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_HPE4_SHIFT)) & AXBS_CRS5_HPE4_MASK) + +#define AXBS_CRS5_HPE5_MASK (0x200000U) +#define AXBS_CRS5_HPE5_SHIFT (21U) +/*! HPE5 - High Priority Elevation 5 + * 0b0..Master high-priority elevation for master 5. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 5. is enabled on this slave port. + */ +#define AXBS_CRS5_HPE5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_HPE5_SHIFT)) & AXBS_CRS5_HPE5_MASK) + +#define AXBS_CRS5_HPE6_MASK (0x400000U) +#define AXBS_CRS5_HPE6_SHIFT (22U) +/*! HPE6 - High Priority Elevation 6 + * 0b0..Master high-priority elevation for master 6. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 6. is enabled on this slave port. + */ +#define AXBS_CRS5_HPE6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_HPE6_SHIFT)) & AXBS_CRS5_HPE6_MASK) + +#define AXBS_CRS5_HPE7_MASK (0x800000U) +#define AXBS_CRS5_HPE7_SHIFT (23U) +/*! HPE7 - High Priority Elevation 7 + * 0b0..Master high-priority elevation for master 7. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 7. is enabled on this slave port. + */ +#define AXBS_CRS5_HPE7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_HPE7_SHIFT)) & AXBS_CRS5_HPE7_MASK) + +#define AXBS_CRS5_RO_MASK (0x80000000U) +#define AXBS_CRS5_RO_SHIFT (31U) +/*! RO - Read Only + * 0b0..The CRSn and PRSn registers are writeable + * 0b1..The CRSn and PRSn registers are read-only and cannot be written (attempted writes have no effect on the + * registers and result in a bus error response). + */ +#define AXBS_CRS5_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS5_RO_SHIFT)) & AXBS_CRS5_RO_MASK) +/*! @} */ + +/*! @name PRS6 - Priority Slave Registers */ +/*! @{ */ + +#define AXBS_PRS6_M0_MASK (0x7U) +#define AXBS_PRS6_M0_SHIFT (0U) +/*! M0 - Master 0 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or the lowest priority when accessing the slave port. + */ +#define AXBS_PRS6_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS6_M0_SHIFT)) & AXBS_PRS6_M0_MASK) + +#define AXBS_PRS6_M1_MASK (0x70U) +#define AXBS_PRS6_M1_SHIFT (4U) +/*! M1 - Master 1 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS6_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS6_M1_SHIFT)) & AXBS_PRS6_M1_MASK) + +#define AXBS_PRS6_M2_MASK (0x700U) +#define AXBS_PRS6_M2_SHIFT (8U) +/*! M2 - Master 2 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS6_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS6_M2_SHIFT)) & AXBS_PRS6_M2_MASK) + +#define AXBS_PRS6_M3_MASK (0x7000U) +#define AXBS_PRS6_M3_SHIFT (12U) +/*! M3 - Master 3 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS6_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS6_M3_SHIFT)) & AXBS_PRS6_M3_MASK) + +#define AXBS_PRS6_M4_MASK (0x70000U) +#define AXBS_PRS6_M4_SHIFT (16U) +/*! M4 - Master 4 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS6_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS6_M4_SHIFT)) & AXBS_PRS6_M4_MASK) + +#define AXBS_PRS6_M5_MASK (0x700000U) +#define AXBS_PRS6_M5_SHIFT (20U) +/*! M5 - Master 5 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS6_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS6_M5_SHIFT)) & AXBS_PRS6_M5_MASK) + +#define AXBS_PRS6_M6_MASK (0x7000000U) +#define AXBS_PRS6_M6_SHIFT (24U) +/*! M6 - Master 6 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS6_M6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS6_M6_SHIFT)) & AXBS_PRS6_M6_MASK) + +#define AXBS_PRS6_M7_MASK (0x70000000U) +#define AXBS_PRS6_M7_SHIFT (28U) +/*! M7 - Master 7 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS6_M7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS6_M7_SHIFT)) & AXBS_PRS6_M7_MASK) +/*! @} */ + +/*! @name CRS6 - Control Register */ +/*! @{ */ + +#define AXBS_CRS6_PARK_MASK (0x7U) +#define AXBS_CRS6_PARK_SHIFT (0U) +/*! PARK - Park + * 0b000..Park on master port M0 + * 0b001..Park on master port M1 + * 0b010..Park on master port M2 + * 0b011..Park on master port M3 + * 0b100..Park on master port M4 + * 0b101..Park on master port M5 + * 0b110..Park on master port M6 + * 0b111..Park on master port M7 + */ +#define AXBS_CRS6_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_PARK_SHIFT)) & AXBS_CRS6_PARK_MASK) + +#define AXBS_CRS6_PCTL_MASK (0x30U) +#define AXBS_CRS6_PCTL_SHIFT (4U) +/*! PCTL - Parking Control + * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK bit field. + * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port. + * 0b10..Low-power park. When no master makes a request, the slave port is not parked on a master and the arbiter + * drives all outputs to a constant safe state. + * 0b11..Reserved + */ +#define AXBS_CRS6_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_PCTL_SHIFT)) & AXBS_CRS6_PCTL_MASK) + +#define AXBS_CRS6_ARB_MASK (0x300U) +#define AXBS_CRS6_ARB_SHIFT (8U) +/*! ARB - Arbitration Mode + * 0b00..Fixed priority + * 0b01..Round-robin (rotating) priority + * 0b10..Reserved + * 0b11..Reserved + */ +#define AXBS_CRS6_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_ARB_SHIFT)) & AXBS_CRS6_ARB_MASK) + +#define AXBS_CRS6_HPE0_MASK (0x10000U) +#define AXBS_CRS6_HPE0_SHIFT (16U) +/*! HPE0 - High Priority Elevation 0 + * 0b0..Master high-priority elevation for master 0. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 0. is enabled on this slave port. + */ +#define AXBS_CRS6_HPE0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_HPE0_SHIFT)) & AXBS_CRS6_HPE0_MASK) + +#define AXBS_CRS6_HPE1_MASK (0x20000U) +#define AXBS_CRS6_HPE1_SHIFT (17U) +/*! HPE1 - High Priority Elevation 1 + * 0b0..Master high-priority elevation for master 1. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 1. is enabled on this slave port. + */ +#define AXBS_CRS6_HPE1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_HPE1_SHIFT)) & AXBS_CRS6_HPE1_MASK) + +#define AXBS_CRS6_HPE2_MASK (0x40000U) +#define AXBS_CRS6_HPE2_SHIFT (18U) +/*! HPE2 - High Priority Elevation 2 + * 0b0..Master high-priority elevation for master 2. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 2. is enabled on this slave port. + */ +#define AXBS_CRS6_HPE2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_HPE2_SHIFT)) & AXBS_CRS6_HPE2_MASK) + +#define AXBS_CRS6_HPE3_MASK (0x80000U) +#define AXBS_CRS6_HPE3_SHIFT (19U) +/*! HPE3 - High Priority Elevation 3 + * 0b0..Master high-priority elevation for master 3. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 3. is enabled on this slave port. + */ +#define AXBS_CRS6_HPE3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_HPE3_SHIFT)) & AXBS_CRS6_HPE3_MASK) + +#define AXBS_CRS6_HPE4_MASK (0x100000U) +#define AXBS_CRS6_HPE4_SHIFT (20U) +/*! HPE4 - High Priority Elevation 4 + * 0b0..Master high-priority elevation for master 4. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 4. is enabled on this slave port. + */ +#define AXBS_CRS6_HPE4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_HPE4_SHIFT)) & AXBS_CRS6_HPE4_MASK) + +#define AXBS_CRS6_HPE5_MASK (0x200000U) +#define AXBS_CRS6_HPE5_SHIFT (21U) +/*! HPE5 - High Priority Elevation 5 + * 0b0..Master high-priority elevation for master 5. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 5. is enabled on this slave port. + */ +#define AXBS_CRS6_HPE5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_HPE5_SHIFT)) & AXBS_CRS6_HPE5_MASK) + +#define AXBS_CRS6_HPE6_MASK (0x400000U) +#define AXBS_CRS6_HPE6_SHIFT (22U) +/*! HPE6 - High Priority Elevation 6 + * 0b0..Master high-priority elevation for master 6. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 6. is enabled on this slave port. + */ +#define AXBS_CRS6_HPE6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_HPE6_SHIFT)) & AXBS_CRS6_HPE6_MASK) + +#define AXBS_CRS6_HPE7_MASK (0x800000U) +#define AXBS_CRS6_HPE7_SHIFT (23U) +/*! HPE7 - High Priority Elevation 7 + * 0b0..Master high-priority elevation for master 7. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 7. is enabled on this slave port. + */ +#define AXBS_CRS6_HPE7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_HPE7_SHIFT)) & AXBS_CRS6_HPE7_MASK) + +#define AXBS_CRS6_RO_MASK (0x80000000U) +#define AXBS_CRS6_RO_SHIFT (31U) +/*! RO - Read Only + * 0b0..The CRSn and PRSn registers are writeable + * 0b1..The CRSn and PRSn registers are read-only and cannot be written (attempted writes have no effect on the + * registers and result in a bus error response). + */ +#define AXBS_CRS6_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS6_RO_SHIFT)) & AXBS_CRS6_RO_MASK) +/*! @} */ + +/*! @name PRS7 - Priority Slave Registers */ +/*! @{ */ + +#define AXBS_PRS7_M0_MASK (0x7U) +#define AXBS_PRS7_M0_SHIFT (0U) +/*! M0 - Master 0 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or the lowest priority when accessing the slave port. + */ +#define AXBS_PRS7_M0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS7_M0_SHIFT)) & AXBS_PRS7_M0_MASK) + +#define AXBS_PRS7_M1_MASK (0x70U) +#define AXBS_PRS7_M1_SHIFT (4U) +/*! M1 - Master 1 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS7_M1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS7_M1_SHIFT)) & AXBS_PRS7_M1_MASK) + +#define AXBS_PRS7_M2_MASK (0x700U) +#define AXBS_PRS7_M2_SHIFT (8U) +/*! M2 - Master 2 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS7_M2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS7_M2_SHIFT)) & AXBS_PRS7_M2_MASK) + +#define AXBS_PRS7_M3_MASK (0x7000U) +#define AXBS_PRS7_M3_SHIFT (12U) +/*! M3 - Master 3 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS7_M3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS7_M3_SHIFT)) & AXBS_PRS7_M3_MASK) + +#define AXBS_PRS7_M4_MASK (0x70000U) +#define AXBS_PRS7_M4_SHIFT (16U) +/*! M4 - Master 4 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS7_M4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS7_M4_SHIFT)) & AXBS_PRS7_M4_MASK) + +#define AXBS_PRS7_M5_MASK (0x700000U) +#define AXBS_PRS7_M5_SHIFT (20U) +/*! M5 - Master 5 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS7_M5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS7_M5_SHIFT)) & AXBS_PRS7_M5_MASK) + +#define AXBS_PRS7_M6_MASK (0x7000000U) +#define AXBS_PRS7_M6_SHIFT (24U) +/*! M6 - Master 6 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8the or lowest priority when accessing the slave port. + */ +#define AXBS_PRS7_M6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS7_M6_SHIFT)) & AXBS_PRS7_M6_MASK) + +#define AXBS_PRS7_M7_MASK (0x70000000U) +#define AXBS_PRS7_M7_SHIFT (28U) +/*! M7 - Master 7 Priority + * 0b000..This master has level 1 or highest priority when accessing the slave port. + * 0b001..This master has level 2 priority when accessing the slave port. + * 0b010..This master has level 3 priority when accessing the slave port. + * 0b011..This master has level 4 priority when accessing the slave port. + * 0b100..This master has level 5 priority when accessing the slave port. + * 0b101..This master has level 6 priority when accessing the slave port. + * 0b110..This master has level 7 priority when accessing the slave port. + * 0b111..This master has level 8 or lowest priority when accessing the slave port. + */ +#define AXBS_PRS7_M7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_PRS7_M7_SHIFT)) & AXBS_PRS7_M7_MASK) +/*! @} */ + +/*! @name CRS7 - Control Register */ +/*! @{ */ + +#define AXBS_CRS7_PARK_MASK (0x7U) +#define AXBS_CRS7_PARK_SHIFT (0U) +/*! PARK - Park + * 0b000..Park on master port M0 + * 0b001..Park on master port M1 + * 0b010..Park on master port M2 + * 0b011..Park on master port M3 + * 0b100..Park on master port M4 + * 0b101..Park on master port M5 + * 0b110..Park on master port M6 + * 0b111..Park on master port M7 + */ +#define AXBS_CRS7_PARK(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_PARK_SHIFT)) & AXBS_CRS7_PARK_MASK) + +#define AXBS_CRS7_PCTL_MASK (0x30U) +#define AXBS_CRS7_PCTL_SHIFT (4U) +/*! PCTL - Parking Control + * 0b00..When no master makes a request, the arbiter parks the slave port on the master port defined by the PARK bit field. + * 0b01..When no master makes a request, the arbiter parks the slave port on the last master to be in control of the slave port. + * 0b10..Low-power park. When no master makes a request, the slave port is not parked on a master and the arbiter + * drives all outputs to a constant safe state. + * 0b11..Reserved + */ +#define AXBS_CRS7_PCTL(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_PCTL_SHIFT)) & AXBS_CRS7_PCTL_MASK) + +#define AXBS_CRS7_ARB_MASK (0x300U) +#define AXBS_CRS7_ARB_SHIFT (8U) +/*! ARB - Arbitration Mode + * 0b00..Fixed priority + * 0b01..Round-robin (rotating) priority + * 0b10..Reserved + * 0b11..Reserved + */ +#define AXBS_CRS7_ARB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_ARB_SHIFT)) & AXBS_CRS7_ARB_MASK) + +#define AXBS_CRS7_HPE0_MASK (0x10000U) +#define AXBS_CRS7_HPE0_SHIFT (16U) +/*! HPE0 - High Priority Elevation 0 + * 0b0..Master high-priority elevation for master 0. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 0. is enabled on this slave port. + */ +#define AXBS_CRS7_HPE0(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_HPE0_SHIFT)) & AXBS_CRS7_HPE0_MASK) + +#define AXBS_CRS7_HPE1_MASK (0x20000U) +#define AXBS_CRS7_HPE1_SHIFT (17U) +/*! HPE1 - High Priority Elevation 1 + * 0b0..Master high-priority elevation for master 1. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 1. is enabled on this slave port. + */ +#define AXBS_CRS7_HPE1(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_HPE1_SHIFT)) & AXBS_CRS7_HPE1_MASK) + +#define AXBS_CRS7_HPE2_MASK (0x40000U) +#define AXBS_CRS7_HPE2_SHIFT (18U) +/*! HPE2 - High Priority Elevation 2 + * 0b0..Master high-priority elevation for master 2. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 2. is enabled on this slave port. + */ +#define AXBS_CRS7_HPE2(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_HPE2_SHIFT)) & AXBS_CRS7_HPE2_MASK) + +#define AXBS_CRS7_HPE3_MASK (0x80000U) +#define AXBS_CRS7_HPE3_SHIFT (19U) +/*! HPE3 - High Priority Elevation 3 + * 0b0..Master high-priority elevation for master 3. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 3. is enabled on this slave port. + */ +#define AXBS_CRS7_HPE3(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_HPE3_SHIFT)) & AXBS_CRS7_HPE3_MASK) + +#define AXBS_CRS7_HPE4_MASK (0x100000U) +#define AXBS_CRS7_HPE4_SHIFT (20U) +/*! HPE4 - High Priority Elevation 4 + * 0b0..Master high-priority elevation for master 4. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 4. is enabled on this slave port. + */ +#define AXBS_CRS7_HPE4(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_HPE4_SHIFT)) & AXBS_CRS7_HPE4_MASK) + +#define AXBS_CRS7_HPE5_MASK (0x200000U) +#define AXBS_CRS7_HPE5_SHIFT (21U) +/*! HPE5 - High Priority Elevation 5 + * 0b0..Master high-priority elevation for master 5. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 5. is enabled on this slave port. + */ +#define AXBS_CRS7_HPE5(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_HPE5_SHIFT)) & AXBS_CRS7_HPE5_MASK) + +#define AXBS_CRS7_HPE6_MASK (0x400000U) +#define AXBS_CRS7_HPE6_SHIFT (22U) +/*! HPE6 - High Priority Elevation 6 + * 0b0..Master high-priority elevation for master 6. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 6. is enabled on this slave port. + */ +#define AXBS_CRS7_HPE6(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_HPE6_SHIFT)) & AXBS_CRS7_HPE6_MASK) + +#define AXBS_CRS7_HPE7_MASK (0x800000U) +#define AXBS_CRS7_HPE7_SHIFT (23U) +/*! HPE7 - High Priority Elevation 7 + * 0b0..Master high-priority elevation for master 7. is disabled on this slave port. + * 0b1..Master high-priority elevation for master 7. is enabled on this slave port. + */ +#define AXBS_CRS7_HPE7(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_HPE7_SHIFT)) & AXBS_CRS7_HPE7_MASK) + +#define AXBS_CRS7_RO_MASK (0x80000000U) +#define AXBS_CRS7_RO_SHIFT (31U) +/*! RO - Read Only + * 0b0..The CRSn and PRSn registers are writeable + * 0b1..The CRSn and PRSn registers are read-only and cannot be written (attempted writes have no effect on the + * registers and result in a bus error response). + */ +#define AXBS_CRS7_RO(x) (((uint32_t)(((uint32_t)(x)) << AXBS_CRS7_RO_SHIFT)) & AXBS_CRS7_RO_MASK) +/*! @} */ + +/*! @name MGPCR0 - Master General Purpose Control Register */ +/*! @{ */ + +#define AXBS_MGPCR0_AULB_MASK (0x7U) +#define AXBS_MGPCR0_AULB_SHIFT (0U) +/*! AULB - Arbitrates On Undefined Length Bursts + * 0b000..No arbitration is allowed during an undefined length burst. + * 0b001..Arbitration is allowed at any time during an undefined length burst. + * 0b010..Arbitration is allowed after four beats of an undefined length burst. + * 0b011..Arbitration is allowed after eight beats of an undefined length burst. + * 0b100..Arbitration is allowed after 16 beats of an undefined length burst. + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define AXBS_MGPCR0_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR0_AULB_SHIFT)) & AXBS_MGPCR0_AULB_MASK) +/*! @} */ + +/*! @name MGPCR1 - Master General Purpose Control Register */ +/*! @{ */ + +#define AXBS_MGPCR1_AULB_MASK (0x7U) +#define AXBS_MGPCR1_AULB_SHIFT (0U) +/*! AULB - Arbitrates On Undefined Length Bursts + * 0b000..No arbitration is allowed during an undefined length burst. + * 0b001..Arbitration is allowed at any time during an undefined length burst. + * 0b010..Arbitration is allowed after four beats of an undefined length burst. + * 0b011..Arbitration is allowed after eight beats of an undefined length burst. + * 0b100..Arbitration is allowed after 16 beats of an undefined length burst. + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define AXBS_MGPCR1_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR1_AULB_SHIFT)) & AXBS_MGPCR1_AULB_MASK) +/*! @} */ + +/*! @name MGPCR2 - Master General Purpose Control Register */ +/*! @{ */ + +#define AXBS_MGPCR2_AULB_MASK (0x7U) +#define AXBS_MGPCR2_AULB_SHIFT (0U) +/*! AULB - Arbitrates On Undefined Length Bursts + * 0b000..No arbitration is allowed during an undefined length burst. + * 0b001..Arbitration is allowed at any time during an undefined length burst. + * 0b010..Arbitration is allowed after four beats of an undefined length burst. + * 0b011..Arbitration is allowed after eight beats of an undefined length burst. + * 0b100..Arbitration is allowed after 16 beats of an undefined length burst. + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define AXBS_MGPCR2_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR2_AULB_SHIFT)) & AXBS_MGPCR2_AULB_MASK) +/*! @} */ + +/*! @name MGPCR3 - Master General Purpose Control Register */ +/*! @{ */ + +#define AXBS_MGPCR3_AULB_MASK (0x7U) +#define AXBS_MGPCR3_AULB_SHIFT (0U) +/*! AULB - Arbitrates On Undefined Length Bursts + * 0b000..No arbitration is allowed during an undefined length burst. + * 0b001..Arbitration is allowed at any time during an undefined length burst. + * 0b010..Arbitration is allowed after four beats of an undefined length burst. + * 0b011..Arbitration is allowed after eight beats of an undefined length burst. + * 0b100..Arbitration is allowed after 16 beats of an undefined length burst. + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define AXBS_MGPCR3_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR3_AULB_SHIFT)) & AXBS_MGPCR3_AULB_MASK) +/*! @} */ + +/*! @name MGPCR4 - Master General Purpose Control Register */ +/*! @{ */ + +#define AXBS_MGPCR4_AULB_MASK (0x7U) +#define AXBS_MGPCR4_AULB_SHIFT (0U) +/*! AULB - Arbitrates On Undefined Length Bursts + * 0b000..No arbitration is allowed during an undefined length burst. + * 0b001..Arbitration is allowed at any time during an undefined length burst. + * 0b010..Arbitration is allowed after four beats of an undefined length burst. + * 0b011..Arbitration is allowed after eight beats of an undefined length burst. + * 0b100..Arbitration is allowed after 16 beats of an undefined length burst. + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define AXBS_MGPCR4_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR4_AULB_SHIFT)) & AXBS_MGPCR4_AULB_MASK) +/*! @} */ + +/*! @name MGPCR5 - Master General Purpose Control Register */ +/*! @{ */ + +#define AXBS_MGPCR5_AULB_MASK (0x7U) +#define AXBS_MGPCR5_AULB_SHIFT (0U) +/*! AULB - Arbitrates On Undefined Length Bursts + * 0b000..No arbitration is allowed during an undefined length burst. + * 0b001..Arbitration is allowed at any time during an undefined length burst. + * 0b010..Arbitration is allowed after four beats of an undefined length burst. + * 0b011..Arbitration is allowed after eight beats of an undefined length burst. + * 0b100..Arbitration is allowed after 16 beats of an undefined length burst. + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define AXBS_MGPCR5_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR5_AULB_SHIFT)) & AXBS_MGPCR5_AULB_MASK) +/*! @} */ + +/*! @name MGPCR6 - Master General Purpose Control Register */ +/*! @{ */ + +#define AXBS_MGPCR6_AULB_MASK (0x7U) +#define AXBS_MGPCR6_AULB_SHIFT (0U) +/*! AULB - Arbitrates On Undefined Length Bursts + * 0b000..No arbitration is allowed during an undefined length burst. + * 0b001..Arbitration is allowed at any time during an undefined length burst. + * 0b010..Arbitration is allowed after four beats of an undefined length burst. + * 0b011..Arbitration is allowed after eight beats of an undefined length burst. + * 0b100..Arbitration is allowed after 16 beats of an undefined length burst. + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define AXBS_MGPCR6_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR6_AULB_SHIFT)) & AXBS_MGPCR6_AULB_MASK) +/*! @} */ + +/*! @name MGPCR7 - Master General Purpose Control Register */ +/*! @{ */ + +#define AXBS_MGPCR7_AULB_MASK (0x7U) +#define AXBS_MGPCR7_AULB_SHIFT (0U) +/*! AULB - Arbitrates On Undefined Length Bursts + * 0b000..No arbitration is allowed during an undefined length burst. + * 0b001..Arbitration is allowed at any time during an undefined length burst. + * 0b010..Arbitration is allowed after four beats of an undefined length burst. + * 0b011..Arbitration is allowed after eight beats of an undefined length burst. + * 0b100..Arbitration is allowed after 16 beats of an undefined length burst. + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define AXBS_MGPCR7_AULB(x) (((uint32_t)(((uint32_t)(x)) << AXBS_MGPCR7_AULB_SHIFT)) & AXBS_MGPCR7_AULB_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group AXBS_Register_Masks */ + + +/* AXBS - Peripheral instance base addresses */ +/** Peripheral AXBS base address */ +#define AXBS_BASE (0x44510000u) +/** Peripheral AXBS base pointer */ +#define AXBS ((AXBS_Type *)AXBS_BASE) +/** Array initializer of AXBS peripheral base addresses */ +#define AXBS_BASE_ADDRS { AXBS_BASE } +/** Array initializer of AXBS peripheral base pointers */ +#define AXBS_BASE_PTRS { AXBS } + +/*! + * @} + */ /* end of group AXBS_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- BBNSM Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BBNSM_Peripheral_Access_Layer BBNSM Peripheral Access Layer + * @{ + */ + +/** BBNSM - Register Layout Typedef */ +typedef struct { + __I uint32_t BBNSM_VID; /**< BBNSM Version ID Register, offset: 0x0 */ + __I uint32_t BBNSM_FEATURES; /**< BBNSM Features Register, offset: 0x4 */ + __IO uint32_t BBNSM_CTRL; /**< BBNSM Control Register, offset: 0x8 */ + uint8_t RESERVED_0[4]; + __IO uint32_t BBNSM_INT_EN; /**< BBNSM Interrupt Enable Register, offset: 0x10 */ + __IO uint32_t BBNSM_EVENTS; /**< BBNSM Events Register, offset: 0x14 */ + uint8_t RESERVED_1[12]; + __IO uint32_t BBNSM_PAD_CTRL; /**< BBNSM External Pad Control Register, offset: 0x24 */ + uint8_t RESERVED_2[24]; + __IO uint32_t BBNSM_RTC_LS; /**< BBNSM Real-Time Counter LS Register, offset: 0x40 */ + __IO uint32_t BBNSM_RTC_MS; /**< BBNSM Real-Time Counter MS Register, offset: 0x44 */ + uint8_t RESERVED_3[8]; + __IO uint32_t BBNSM_TA; /**< BBNSM Time Alarm Register, offset: 0x50 */ + uint8_t RESERVED_4[684]; + __IO uint32_t GPR[8]; /**< General Purpose Register Word 0..General Purpose Register Word 7, array offset: 0x300, array step: 0x4 */ +} BBNSM_Type; + +/* ---------------------------------------------------------------------------- + -- BBNSM Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BBNSM_Register_Masks BBNSM Register Masks + * @{ + */ + +/*! @name BBNSM_VID - BBNSM Version ID Register */ +/*! @{ */ + +#define BBNSM_BBNSM_VID_BBNSM_IPID_MASK (0xFFU) +#define BBNSM_BBNSM_VID_BBNSM_IPID_SHIFT (0U) +/*! BBNSM_IPID - BBNSM IP ID */ +#define BBNSM_BBNSM_VID_BBNSM_IPID(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_VID_BBNSM_IPID_SHIFT)) & BBNSM_BBNSM_VID_BBNSM_IPID_MASK) + +#define BBNSM_BBNSM_VID_BBNSM_REV_MASK (0xFF00U) +#define BBNSM_BBNSM_VID_BBNSM_REV_SHIFT (8U) +/*! BBNSM_REV - BBNSM Revision */ +#define BBNSM_BBNSM_VID_BBNSM_REV(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_VID_BBNSM_REV_SHIFT)) & BBNSM_BBNSM_VID_BBNSM_REV_MASK) + +#define BBNSM_BBNSM_VID_BBNSM_VID_MASK (0xFF0000U) +#define BBNSM_BBNSM_VID_BBNSM_VID_SHIFT (16U) +/*! BBNSM_VID - BBNSM Version ID */ +#define BBNSM_BBNSM_VID_BBNSM_VID(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_VID_BBNSM_VID_SHIFT)) & BBNSM_BBNSM_VID_BBNSM_VID_MASK) +/*! @} */ + +/*! @name BBNSM_FEATURES - BBNSM Features Register */ +/*! @{ */ + +#define BBNSM_BBNSM_FEATURES_GPR_SZ_MASK (0xFCU) +#define BBNSM_BBNSM_FEATURES_GPR_SZ_SHIFT (2U) +/*! GPR_SZ - GPR Register Array Size + * 0b000000..This version of BBNSM does not implement a general-purpose register array. + * *..The number of 32-bit words implemented in the general-purpose register array. + */ +#define BBNSM_BBNSM_FEATURES_GPR_SZ(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_FEATURES_GPR_SZ_SHIFT)) & BBNSM_BBNSM_FEATURES_GPR_SZ_MASK) +/*! @} */ + +/*! @name BBNSM_CTRL - BBNSM Control Register */ +/*! @{ */ + +#define BBNSM_BBNSM_CTRL_RTC_EN_MASK (0x3U) +#define BBNSM_BBNSM_CTRL_RTC_EN_SHIFT (0U) +/*! RTC_EN - Real-Time Counter Enable + * 0b01..Disable the real-time counter. + * 0b10..Enable the real-time counter. + */ +#define BBNSM_BBNSM_CTRL_RTC_EN(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_RTC_EN_SHIFT)) & BBNSM_BBNSM_CTRL_RTC_EN_MASK) + +#define BBNSM_BBNSM_CTRL_TA_EN_MASK (0xCU) +#define BBNSM_BBNSM_CTRL_TA_EN_SHIFT (2U) +/*! TA_EN - Time Alarm Enable + * 0b01..Disable the time alarm. + * 0b10..Enable the time alarm. A time alarm event occurs if the value in the real-time counter register is equal + * to the value in the time alarm register. + */ +#define BBNSM_BBNSM_CTRL_TA_EN(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_TA_EN_SHIFT)) & BBNSM_BBNSM_CTRL_TA_EN_MASK) + +#define BBNSM_BBNSM_CTRL_CAL_EN_MASK (0x10U) +#define BBNSM_BBNSM_CTRL_CAL_EN_SHIFT (4U) +/*! CAL_EN - Calibration Enable + * 0b0..RTC Time calibration is disabled. + * 0b1..RTC Time calibration is enabled. + */ +#define BBNSM_BBNSM_CTRL_CAL_EN(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_CAL_EN_SHIFT)) & BBNSM_BBNSM_CTRL_CAL_EN_MASK) + +#define BBNSM_BBNSM_CTRL_CAL_VAL_MASK (0x1F00U) +#define BBNSM_BBNSM_CTRL_CAL_VAL_SHIFT (8U) +/*! CAL_VAL - Calibration Value + * 0b00000..+0 counts per each 32768 ticks of the counter clock. + * 0b00001..+1 counts per each 32768 ticks of the counter clock. + * 0b00010..+2 counts per each 32768 ticks of the counter clock. + * 0b01111..+15 counts per each 32768 ticks of the counter clock. + * 0b10000..-16 counts per each 32768 ticks of the counter clock. + * 0b10001..-15 counts per each 32768 ticks of the counter clock. + * 0b11110..-2 counts per each 32768 ticks of the counter clock. + * 0b11111..-1 counts per each 32768 ticks of the counter clock. + */ +#define BBNSM_BBNSM_CTRL_CAL_VAL(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_CAL_VAL_SHIFT)) & BBNSM_BBNSM_CTRL_CAL_VAL_MASK) + +#define BBNSM_BBNSM_CTRL_BTN_TIMEOUT_MASK (0x30000U) +#define BBNSM_BBNSM_CTRL_BTN_TIMEOUT_SHIFT (16U) +/*! BTN_TIMEOUT - Button Press Timeout + * 0b00..5 seconds. + * 0b01..10 seconds. + * 0b10..15 seconds. + * 0b11..Timeout disabled. Long button presses will not request a power down. + */ +#define BBNSM_BBNSM_CTRL_BTN_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_BTN_TIMEOUT_SHIFT)) & BBNSM_BBNSM_CTRL_BTN_TIMEOUT_MASK) + +#define BBNSM_BBNSM_CTRL_DEBOUNCE_MASK (0xC0000U) +#define BBNSM_BBNSM_CTRL_DEBOUNCE_SHIFT (18U) +/*! DEBOUNCE - Debounce Time + * 0b00..50 milliseconds. + * 0b01..100 milliseconds. + * 0b10..500 milliseconds. + * 0b11..0 milliseconds. + */ +#define BBNSM_BBNSM_CTRL_DEBOUNCE(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_DEBOUNCE_SHIFT)) & BBNSM_BBNSM_CTRL_DEBOUNCE_MASK) + +#define BBNSM_BBNSM_CTRL_TURN_ON_TIME_MASK (0x300000U) +#define BBNSM_BBNSM_CTRL_TURN_ON_TIME_SHIFT (20U) +/*! TURN_ON_TIME - Turn-On Time + * 0b00..500 milliseconds. + * 0b01..50 milliseconds. + * 0b10..100 milliseconds. + * 0b11..0 milliseconds. + */ +#define BBNSM_BBNSM_CTRL_TURN_ON_TIME(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_TURN_ON_TIME_SHIFT)) & BBNSM_BBNSM_CTRL_TURN_ON_TIME_MASK) + +#define BBNSM_BBNSM_CTRL_PK_EN_MASK (0x400000U) +#define BBNSM_BBNSM_CTRL_PK_EN_SHIFT (22U) +/*! PK_EN - PMIC On Request Enable + * 0b0..PMIC On Request is disabled. + * 0b1..PMIC On Request is enabled. + */ +#define BBNSM_BBNSM_CTRL_PK_EN(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_PK_EN_SHIFT)) & BBNSM_BBNSM_CTRL_PK_EN_MASK) + +#define BBNSM_BBNSM_CTRL_PK_OVR_MASK (0x800000U) +#define BBNSM_BBNSM_CTRL_PK_OVR_SHIFT (23U) +/*! PK_OVR - PMIC On Request Override + * 0b0..PMIC On Request Override is disabled. + * 0b1..PMIC On Request Override is enabled. + */ +#define BBNSM_BBNSM_CTRL_PK_OVR(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_PK_OVR_SHIFT)) & BBNSM_BBNSM_CTRL_PK_OVR_MASK) + +#define BBNSM_BBNSM_CTRL_DP_EN_MASK (0x1000000U) +#define BBNSM_BBNSM_CTRL_DP_EN_SHIFT (24U) +/*! DP_EN - Dumb PMIC Enable + * 0b0..Smart PMIC is enabled. + * 0b1..Dumb PMIC is enabled. + */ +#define BBNSM_BBNSM_CTRL_DP_EN(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_DP_EN_SHIFT)) & BBNSM_BBNSM_CTRL_DP_EN_MASK) + +#define BBNSM_BBNSM_CTRL_TOSP_MASK (0x2000000U) +#define BBNSM_BBNSM_CTRL_TOSP_SHIFT (25U) +/*! TOSP - Turn Off System Power + * 0b0..Leave system power on. + * 0b1..Turn off system power when Dumb PMIC is enabled. + */ +#define BBNSM_BBNSM_CTRL_TOSP(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_CTRL_TOSP_SHIFT)) & BBNSM_BBNSM_CTRL_TOSP_MASK) +/*! @} */ + +/*! @name BBNSM_INT_EN - BBNSM Interrupt Enable Register */ +/*! @{ */ + +#define BBNSM_BBNSM_INT_EN_RTC_INT_EN_MASK (0x3U) +#define BBNSM_BBNSM_INT_EN_RTC_INT_EN_SHIFT (0U) +/*! RTC_INT_EN - Real-Time Counter Rollover Interrupt Enable + * 0b01..Do not issue an interrupt when RTC has rolled over. The interrupt is cleared when this value is written. + * 0b10..Issue an interrupt when RTC has rolled over. + */ +#define BBNSM_BBNSM_INT_EN_RTC_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_INT_EN_RTC_INT_EN_SHIFT)) & BBNSM_BBNSM_INT_EN_RTC_INT_EN_MASK) + +#define BBNSM_BBNSM_INT_EN_TA_INT_EN_MASK (0xCU) +#define BBNSM_BBNSM_INT_EN_TA_INT_EN_SHIFT (2U) +/*! TA_INT_EN - Time Alarm Interrupt Enable + * 0b01..Do not issue an interrupt when RTC has reached alarm time. The interrupt is cleared when this value is written. + * 0b10..Issue an interrupt when RTC has reached alarm time. + */ +#define BBNSM_BBNSM_INT_EN_TA_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_INT_EN_TA_INT_EN_SHIFT)) & BBNSM_BBNSM_INT_EN_TA_INT_EN_MASK) +/*! @} */ + +/*! @name BBNSM_EVENTS - BBNSM Events Register */ +/*! @{ */ + +#define BBNSM_BBNSM_EVENTS_RTC_ROLL_MASK (0x3U) +#define BBNSM_BBNSM_EVENTS_RTC_ROLL_SHIFT (0U) +/*! RTC_ROLL - Real-Time Counter Rollover Event + * 0b01..The real-time counter has not rolled over. + * 0b10..The real-time counter has rolled over. + */ +#define BBNSM_BBNSM_EVENTS_RTC_ROLL(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_EVENTS_RTC_ROLL_SHIFT)) & BBNSM_BBNSM_EVENTS_RTC_ROLL_MASK) + +#define BBNSM_BBNSM_EVENTS_TA_MASK (0xCU) +#define BBNSM_BBNSM_EVENTS_TA_SHIFT (2U) +/*! TA - Time Alarm Event + * 0b01..The real-time counter has not reached the alarm time. + * 0b10..The real-time counter has reached the alarm time. + */ +#define BBNSM_BBNSM_EVENTS_TA(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_EVENTS_TA_SHIFT)) & BBNSM_BBNSM_EVENTS_TA_MASK) + +#define BBNSM_BBNSM_EVENTS_EMG_OFF_MASK (0x10U) +#define BBNSM_BBNSM_EVENTS_EMG_OFF_SHIFT (4U) +/*! EMG_OFF - Emergency Off Event + * 0b0..An emergency power off has not been requested. + * 0b1..An emergency power off has been requested. + */ +#define BBNSM_BBNSM_EVENTS_EMG_OFF(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_EVENTS_EMG_OFF_SHIFT)) & BBNSM_BBNSM_EVENTS_EMG_OFF_MASK) + +#define BBNSM_BBNSM_EVENTS_PWR_OFF_MASK (0x20U) +#define BBNSM_BBNSM_EVENTS_PWR_OFF_SHIFT (5U) +/*! PWR_OFF - Set Power Off Event + * 0b0..The power off interrupt has not been requested. + * 0b1..The power off interrupt has been requested. + */ +#define BBNSM_BBNSM_EVENTS_PWR_OFF(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_EVENTS_PWR_OFF_SHIFT)) & BBNSM_BBNSM_EVENTS_PWR_OFF_MASK) + +#define BBNSM_BBNSM_EVENTS_PWR_ON_MASK (0x40U) +#define BBNSM_BBNSM_EVENTS_PWR_ON_SHIFT (6U) +/*! PWR_ON - Set Power On Event + * 0b0..The power on interrupt has not been requested. + * 0b1..The power on interrupt has been requested. + */ +#define BBNSM_BBNSM_EVENTS_PWR_ON(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_EVENTS_PWR_ON_SHIFT)) & BBNSM_BBNSM_EVENTS_PWR_ON_MASK) +/*! @} */ + +/*! @name BBNSM_PAD_CTRL - BBNSM External Pad Control Register */ +/*! @{ */ + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL0_MASK (0x1U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL0_SHIFT (0U) +/*! PAD_CTRL0 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL0(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL0_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL0_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL1_MASK (0x2U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL1_SHIFT (1U) +/*! PAD_CTRL1 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL1(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL1_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL1_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL2_MASK (0x4U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL2_SHIFT (2U) +/*! PAD_CTRL2 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL2(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL2_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL2_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL3_MASK (0x8U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL3_SHIFT (3U) +/*! PAD_CTRL3 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL3(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL3_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL3_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL4_MASK (0x10U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL4_SHIFT (4U) +/*! PAD_CTRL4 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL4(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL4_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL4_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL5_MASK (0x20U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL5_SHIFT (5U) +/*! PAD_CTRL5 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL5(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL5_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL5_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL6_MASK (0x40U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL6_SHIFT (6U) +/*! PAD_CTRL6 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL6(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL6_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL6_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL7_MASK (0x80U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL7_SHIFT (7U) +/*! PAD_CTRL7 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL7(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL7_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL7_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL8_MASK (0x100U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL8_SHIFT (8U) +/*! PAD_CTRL8 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL8(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL8_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL8_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL9_MASK (0x200U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL9_SHIFT (9U) +/*! PAD_CTRL9 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL9(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL9_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL9_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL10_MASK (0x400U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL10_SHIFT (10U) +/*! PAD_CTRL10 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL10(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL10_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL10_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL11_MASK (0x800U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL11_SHIFT (11U) +/*! PAD_CTRL11 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL11(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL11_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL11_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL12_MASK (0x1000U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL12_SHIFT (12U) +/*! PAD_CTRL12 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL12(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL12_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL12_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL13_MASK (0x2000U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL13_SHIFT (13U) +/*! PAD_CTRL13 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL13(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL13_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL13_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL14_MASK (0x4000U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL14_SHIFT (14U) +/*! PAD_CTRL14 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL14(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL14_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL14_MASK) + +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL15_MASK (0x8000U) +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL15_SHIFT (15U) +/*! PAD_CTRL15 - Control I/O Pads + * 0b0..Deasserts bit n in bbnsm_pad_ctrl[n] + * 0b1..Assert bit n in bbnsm_pad_ctrl[n] + */ +#define BBNSM_BBNSM_PAD_CTRL_PAD_CTRL15(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_PAD_CTRL_PAD_CTRL15_SHIFT)) & BBNSM_BBNSM_PAD_CTRL_PAD_CTRL15_MASK) +/*! @} */ + +/*! @name BBNSM_RTC_LS - BBNSM Real-Time Counter LS Register */ +/*! @{ */ + +#define BBNSM_BBNSM_RTC_LS_RTC_MASK (0xFFFFFFFFU) +#define BBNSM_BBNSM_RTC_LS_RTC_SHIFT (0U) +/*! RTC - Real-time Counter */ +#define BBNSM_BBNSM_RTC_LS_RTC(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_RTC_LS_RTC_SHIFT)) & BBNSM_BBNSM_RTC_LS_RTC_MASK) +/*! @} */ + +/*! @name BBNSM_RTC_MS - BBNSM Real-Time Counter MS Register */ +/*! @{ */ + +#define BBNSM_BBNSM_RTC_MS_RTC_MASK (0x7FFFU) +#define BBNSM_BBNSM_RTC_MS_RTC_SHIFT (0U) +/*! RTC - Real-Time Counter */ +#define BBNSM_BBNSM_RTC_MS_RTC(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_RTC_MS_RTC_SHIFT)) & BBNSM_BBNSM_RTC_MS_RTC_MASK) +/*! @} */ + +/*! @name BBNSM_TA - BBNSM Time Alarm Register */ +/*! @{ */ + +#define BBNSM_BBNSM_TA_TA_MASK (0xFFFFFFFFU) +#define BBNSM_BBNSM_TA_TA_SHIFT (0U) +/*! TA - Time Alarm Value */ +#define BBNSM_BBNSM_TA_TA(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_BBNSM_TA_TA_SHIFT)) & BBNSM_BBNSM_TA_TA_MASK) +/*! @} */ + +/*! @name GPR - General Purpose Register Word 0..General Purpose Register Word 7 */ +/*! @{ */ + +#define BBNSM_GPR_GPR_MASK (0xFFFFFFFFU) +#define BBNSM_GPR_GPR_SHIFT (0U) +/*! GPR - 32 bits of the GPR. */ +#define BBNSM_GPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << BBNSM_GPR_GPR_SHIFT)) & BBNSM_GPR_GPR_MASK) +/*! @} */ + +/* The count of BBNSM_GPR */ +#define BBNSM_GPR_COUNT (8U) + + +/*! + * @} + */ /* end of group BBNSM_Register_Masks */ + + +/* BBNSM - Peripheral instance base addresses */ +/** Peripheral BBNSM base address */ +#define BBNSM_BASE (0x44440000u) +/** Peripheral BBNSM base pointer */ +#define BBNSM ((BBNSM_Type *)BBNSM_BASE) +/** Array initializer of BBNSM peripheral base addresses */ +#define BBNSM_BASE_ADDRS { BBNSM_BASE } +/** Array initializer of BBNSM peripheral base pointers */ +#define BBNSM_BASE_PTRS { BBNSM } + +/*! + * @} + */ /* end of group BBNSM_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_DDRMIX Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_DDRMIX_Peripheral_Access_Layer BLK_CTRL_DDRMIX Peripheral Access Layer + * @{ + */ + +/** BLK_CTRL_DDRMIX - Register Layout Typedef */ +typedef struct { + __IO uint32_t HWFFC_CTRL; /**< DDRPHY DfiClk, DflCtlClk HWFFC Control, offset: 0x0 */ + __IO uint32_t CA55_SEL_CTRL; /**< CA55 Arm PLL, Anamix PLL Observe Select, offset: 0x4 */ + __IO uint32_t VREF_PSW_CTRL; /**< DRAM_VREF power switch, offset: 0x8 */ + __IO uint32_t DDRC_STOP_CTRL; /**< DDR Controller ipg_stop SW control, offset: 0xC */ + __IO uint32_t AUTO_CG_CTRL; /**< DDR Controller automatic clock gating, offset: 0x10 */ + __IO uint32_t SSI_LP_CTRL; /**< DDRMIX SSI Slave low power signal control, offset: 0x14 */ +} BLK_CTRL_DDRMIX_Type; + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_DDRMIX Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_DDRMIX_Register_Masks BLK_CTRL_DDRMIX Register Masks + * @{ + */ + +/*! @name HWFFC_CTRL - DDRPHY DfiClk, DflCtlClk HWFFC Control */ +/*! @{ */ + +#define BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_EN_MASK (0x1U) +#define BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_EN_SHIFT (0U) +/*! HWFFC_EN - DDRPHY DfiClk, DfiCtlClk HWFFC Enable + * 0b0..DDRPHY HWFFC is disabled + * 0b1..DDRPHY HWFFC is enabled + */ +#define BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_EN_SHIFT)) & BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_EN_MASK) + +#define BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_SEL_MASK (0x2U) +#define BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_SEL_SHIFT (1U) +/*! HWFFC_SEL - DDRPHY DfiClk, DfiCtlClk HWFFC Select + * 0b0..Normal clock is selected + * 0b1..Div2 frequency clock is selected + */ +#define BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_SEL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_SEL_SHIFT)) & BLK_CTRL_DDRMIX_HWFFC_CTRL_HWFFC_SEL_MASK) +/*! @} */ + +/*! @name CA55_SEL_CTRL - CA55 Arm PLL, Anamix PLL Observe Select */ +/*! @{ */ + +#define BLK_CTRL_DDRMIX_CA55_SEL_CTRL_CA55_SEL_MASK (0x3U) +#define BLK_CTRL_DDRMIX_CA55_SEL_CTRL_CA55_SEL_SHIFT (0U) +/*! CA55_SEL - CA55 Arm PLL/Anamix PLL output select into DDRPHY + * 0b00..Normal DfiClk from DRAM PLL is selected + * 0b01..Anamix PLL output is selected + * 0b10..Normal DfiClk from DRAM PLL is selected + * 0b11..CA55 mix Arm PLL is selected + */ +#define BLK_CTRL_DDRMIX_CA55_SEL_CTRL_CA55_SEL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_CA55_SEL_CTRL_CA55_SEL_SHIFT)) & BLK_CTRL_DDRMIX_CA55_SEL_CTRL_CA55_SEL_MASK) +/*! @} */ + +/*! @name VREF_PSW_CTRL - DRAM_VREF power switch */ +/*! @{ */ + +#define BLK_CTRL_DDRMIX_VREF_PSW_CTRL_VREF_PSW_MASK (0x1U) +#define BLK_CTRL_DDRMIX_VREF_PSW_CTRL_VREF_PSW_SHIFT (0U) +/*! VREF_PSW - DDRPHY DRAM_VREF Power Switch + * 0b0..Power switch is closed to prevent leakage + * 0b1..Power switch is opened and is set together with DDRPHY[VrefInGlobal] + */ +#define BLK_CTRL_DDRMIX_VREF_PSW_CTRL_VREF_PSW(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_VREF_PSW_CTRL_VREF_PSW_SHIFT)) & BLK_CTRL_DDRMIX_VREF_PSW_CTRL_VREF_PSW_MASK) +/*! @} */ + +/*! @name DDRC_STOP_CTRL - DDR Controller ipg_stop SW control */ +/*! @{ */ + +#define BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_MASK (0x1U) +#define BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_SHIFT (0U) +/*! DDRC_STOP - DDR Controller ipg_stop + * 0b0..Clear DDR Controller ipg_stop signal + * 0b1..Set DDR Controller ipg_stop signal + */ +#define BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_SHIFT)) & BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_MASK) + +#define BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_ACK_MASK (0x2U) +#define BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_ACK_SHIFT (1U) +/*! DDRC_STOP_ACK - DDR Controller ipg_stop_ack + * 0b0..DDR Controller ipg_stop_ack is a 0 + * 0b1..DDR Controller ipg_stop_ack is a 1 + */ +#define BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_ACK_SHIFT)) & BLK_CTRL_DDRMIX_DDRC_STOP_CTRL_DDRC_STOP_ACK_MASK) +/*! @} */ + +/*! @name AUTO_CG_CTRL - DDR Controller automatic clock gating */ +/*! @{ */ + +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_SSI_IDLE_STRAP_MASK (0xFFFFU) +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_SSI_IDLE_STRAP_SHIFT (0U) +/*! SSI_IDLE_STRAP - SSI Idle Strap */ +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_SSI_IDLE_STRAP(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_AUTO_CG_CTRL_SSI_IDLE_STRAP_SHIFT)) & BLK_CTRL_DDRMIX_AUTO_CG_CTRL_SSI_IDLE_STRAP_MASK) + +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_AUTO_CG_ENA_MASK (0x10000U) +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_AUTO_CG_ENA_SHIFT (16U) +/*! AUTO_CG_ENA - DDR Controller automatic clock gating enable + * 0b0..DDR Controller automatic clock gating is disabled + * 0b1..DDR Controller automatic clock gating is enabled + */ +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_AUTO_CG_ENA(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_AUTO_CG_CTRL_AUTO_CG_ENA_SHIFT)) & BLK_CTRL_DDRMIX_AUTO_CG_CTRL_AUTO_CG_ENA_MASK) + +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_HWFFC_ACG_FORCE_B_MASK (0x20000U) +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_HWFFC_ACG_FORCE_B_SHIFT (17U) +/*! HWFFC_ACG_FORCE_B - DDR Controller hwffc and auto CG send ipg_stop allow + * 0b0..DDR Controller hwffc and auto CG cannot send ipg_stop + * 0b1..DDR Controller hwffc and auto CG can send ipg_stop + */ +#define BLK_CTRL_DDRMIX_AUTO_CG_CTRL_HWFFC_ACG_FORCE_B(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_AUTO_CG_CTRL_HWFFC_ACG_FORCE_B_SHIFT)) & BLK_CTRL_DDRMIX_AUTO_CG_CTRL_HWFFC_ACG_FORCE_B_MASK) +/*! @} */ + +/*! @name SSI_LP_CTRL - DDRMIX SSI Slave low power signal control */ +/*! @{ */ + +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_ISO_CTRL_MASK (0x1U) +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_ISO_CTRL_SHIFT (0U) +/*! SSI_ISO_CTRL - DDRMIX SSI isolation mode control + * 0b0..in normal mode + * 0b1..enter pause mode + */ +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_ISO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_ISO_CTRL_SHIFT)) & BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_ISO_CTRL_MASK) + +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_POW_CTRL_MASK (0x2U) +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_POW_CTRL_SHIFT (1U) +/*! SSI_POW_CTRL - DDRMIX SSI power control + * 0b0..enter no power mode for SSI + * 0b1..power mode for SSI + */ +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_POW_CTRL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_POW_CTRL_SHIFT)) & BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_POW_CTRL_MASK) + +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_IDLE_MASK (0x4U) +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_IDLE_SHIFT (2U) +/*! SSI_IDLE - DDRMIX SSI idle signal + * 0b0..means SSI is not idle + * 0b1..means SSI is idle + */ +#define BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_IDLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_IDLE_SHIFT)) & BLK_CTRL_DDRMIX_SSI_LP_CTRL_SSI_IDLE_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group BLK_CTRL_DDRMIX_Register_Masks */ + + +/* BLK_CTRL_DDRMIX - Peripheral instance base addresses */ +/** Peripheral BLK_CTRL_DDRMIX1 base address */ +#define BLK_CTRL_DDRMIX1_BASE (0x4E010000u) +/** Peripheral BLK_CTRL_DDRMIX1 base pointer */ +#define BLK_CTRL_DDRMIX1 ((BLK_CTRL_DDRMIX_Type *)BLK_CTRL_DDRMIX1_BASE) +/** Array initializer of BLK_CTRL_DDRMIX peripheral base addresses */ +#define BLK_CTRL_DDRMIX_BASE_ADDRS { BLK_CTRL_DDRMIX1_BASE } +/** Array initializer of BLK_CTRL_DDRMIX peripheral base pointers */ +#define BLK_CTRL_DDRMIX_BASE_PTRS { BLK_CTRL_DDRMIX1 } + +/*! + * @} + */ /* end of group BLK_CTRL_DDRMIX_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_MEDIAMIX Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_MEDIAMIX_Peripheral_Access_Layer BLK_CTRL_MEDIAMIX Peripheral Access Layer + * @{ + */ + +/** BLK_CTRL_MEDIAMIX - Register Layout Typedef */ +typedef struct { + union { /* offset: 0x0 */ + struct { /* offset: 0x0 */ + uint8_t RESERVED_0[12]; + __IO uint32_t LCDIFr; /**< QOS and cache of LCDIF, offset: 0xC, 'r' suffix has been added to avoid a clash with peripheral base pointer macro 'LCDIF' */ + uint8_t RESERVED_1[4]; + __IO uint32_t ISI0; /**< Cache of ISI, offset: 0x14 */ + uint8_t RESERVED_2[4]; + __IO uint32_t ISI1; /**< QoS of ISI, offset: 0x1C */ + uint8_t RESERVED_3[28]; + __I uint32_t PIXEL_CTRL; /**< Read Pixel Control Register, offset: 0x3C */ + uint8_t RESERVED_4[32]; + __IO uint32_t DISPLAY_MUX; /**< Display Mux Control Register, offset: 0x60 */ + uint8_t RESERVED_5[12]; + __IO uint32_t IF_CTRL_REG; /**< Parallel Camera Interface Register, offset: 0x70 */ + __I uint32_t INTERFACE_STATUS; /**< Interface Status Register, offset: 0x74 */ + __IO uint32_t INTERFACE_CTRL_REG; /**< Interface Control Register, offset: 0x78 */ + __IO uint32_t INTERFACE_CTRL_REG1; /**< Interface Control Register 1, offset: 0x7C */ + } BUS_CONTROL; + struct { /* offset: 0x0 */ + __IO uint32_t RESET; /**< RESET Control Register, offset: 0x0 */ + __IO uint32_t CLK; /**< CLK Control Register, offset: 0x4 */ + } CLK_RESETN; + }; +} BLK_CTRL_MEDIAMIX_Type; + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_MEDIAMIX Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_MEDIAMIX_Register_Masks BLK_CTRL_MEDIAMIX Register Masks + * @{ + */ + +/*! @name LCDIF - QOS and cache of LCDIF */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_MASK (0xFU) +#define BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_SHIFT (0U) +/*! ARCACHE - ARCACHE value of LCDIF */ +#define BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_SHIFT)) & BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_MASK) + +#define BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_EN_MASK (0x10U) +#define BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_EN_SHIFT (4U) +/*! ARCACHE_EN - ARCACHE enable of LCDIF + * 0b0..Do not enable ARCACHE + * 0b1..Enable ARCACHE + */ +#define BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_LCDIF_ARCACHE_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_LCDIF_CFG_QOS_MASK (0xF00U) +#define BLK_CTRL_MEDIAMIX_LCDIF_CFG_QOS_SHIFT (8U) +/*! CFG_QOS - cfg_qos value of LCDIF */ +#define BLK_CTRL_MEDIAMIX_LCDIF_CFG_QOS(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_LCDIF_CFG_QOS_SHIFT)) & BLK_CTRL_MEDIAMIX_LCDIF_CFG_QOS_MASK) + +#define BLK_CTRL_MEDIAMIX_LCDIF_DEFAULT_QOS_MASK (0xF000U) +#define BLK_CTRL_MEDIAMIX_LCDIF_DEFAULT_QOS_SHIFT (12U) +/*! DEFAULT_QOS - Default QoS value of LCDIF */ +#define BLK_CTRL_MEDIAMIX_LCDIF_DEFAULT_QOS(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_LCDIF_DEFAULT_QOS_SHIFT)) & BLK_CTRL_MEDIAMIX_LCDIF_DEFAULT_QOS_MASK) +/*! @} */ + +/*! @name ISI0 - Cache of ISI */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_MASK (0xFU) +#define BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_SHIFT (0U) +/*! ARCACHE_Y - ARCACHE_Y value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_MASK (0xF0U) +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_SHIFT (4U) +/*! AWCACHE_Y - AWCACHE_Y value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_MASK (0xF00U) +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_SHIFT (8U) +/*! AWCACHE_U - AWCACHE_U value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_MASK (0xF000U) +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_SHIFT (12U) +/*! AWCACHE_V - AWCACHE_V value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_EN_MASK (0x10000U) +#define BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_EN_SHIFT (16U) +/*! ARCACHE_Y_EN - ARCACHE_Y enable of ISI + * 0b0..Do not enable ARCACHE_Y + * 0b1..Enable ARCACHE_Y + */ +#define BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI0_ARCACHE_Y_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_EN_MASK (0x20000U) +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_EN_SHIFT (17U) +/*! AWCACHE_Y_EN - AWCACHE_Y enable of ISI + * 0b0..Do not enable AWCACHE_Y + * 0b1..Enable AWCACHE_Y + */ +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_Y_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_EN_MASK (0x40000U) +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_EN_SHIFT (18U) +/*! AWCACHE_U_EN - AWCACHE_U enable of ISI + * 0b0..Do not enable AWACHE_U + * 0b1..Enable AWCACHE_U + */ +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_U_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_EN_MASK (0x80000U) +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_EN_SHIFT (19U) +/*! AWCACHE_V_EN - AWCACHE_V enable of ISI + * 0b0..Do not enable AWCACHE_V + * 0b1..Enable AWCACHE_V + */ +#define BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI0_AWCACHE_V_EN_MASK) +/*! @} */ + +/*! @name ISI1 - QoS of ISI */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_W_MASK (0xFU) +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_W_SHIFT (0U) +/*! CFG_QOS_Y_W - cfg_qos_y_w value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_W(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_W_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_W_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_W_MASK (0xF0U) +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_W_SHIFT (4U) +/*! DEFAULT_QOS_Y_W - Default QOS_Y_W value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_W(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_W_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_W_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_R_MASK (0xF00U) +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_R_SHIFT (8U) +/*! CFG_QOS_Y_R - CFG_QOS_Y_R value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_R(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_R_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_Y_R_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_R_MASK (0xF000U) +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_R_SHIFT (12U) +/*! DEFAULT_QOS_Y_R - Default QOS_Y_R value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_R(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_R_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_Y_R_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_U_MASK (0xF0000U) +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_U_SHIFT (16U) +/*! CFG_QOS_U - cfg_qos_u value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_U(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_U_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_U_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_U_MASK (0xF00000U) +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_U_SHIFT (20U) +/*! DEFAULT_QOS_U - Default QoS value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_U(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_U_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_U_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_V_MASK (0xF000000U) +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_V_SHIFT (24U) +/*! CFG_QOS_V - CFG_QOS_V value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_V(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_V_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI1_CFG_QOS_V_MASK) + +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_V_MASK (0xF0000000U) +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_V_SHIFT (28U) +/*! DEFAULT_QOS_V - Default QOS_V value of ISI */ +#define BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_V(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_V_SHIFT)) & BLK_CTRL_MEDIAMIX_ISI1_DEFAULT_QOS_V_MASK) +/*! @} */ + +/*! @name PIXEL_CTRL - Read Pixel Control Register */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_PIXEL_CTRL_PIXEL_CTRL_MASK (0xFFFU) +#define BLK_CTRL_MEDIAMIX_PIXEL_CTRL_PIXEL_CTRL_SHIFT (0U) +/*! PIXEL_CTRL - Read pixel control information status */ +#define BLK_CTRL_MEDIAMIX_PIXEL_CTRL_PIXEL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_PIXEL_CTRL_PIXEL_CTRL_SHIFT)) & BLK_CTRL_MEDIAMIX_PIXEL_CTRL_PIXEL_CTRL_MASK) +/*! @} */ + +/*! @name DISPLAY_MUX - Display Mux Control Register */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_DISPLAY_MUX_PARALLEL_DISP_FORMAT_MASK (0x700U) +#define BLK_CTRL_MEDIAMIX_DISPLAY_MUX_PARALLEL_DISP_FORMAT_SHIFT (8U) +/*! PARALLEL_DISP_FORMAT - Parallel display format configuration + * 0b000..RGB888 -> RGB888 + * 0b001..RGB888 -> RGB666. Truncate the two least significant bits of each color component (pass through the 6 + * most significant bits of each color component.) + * 0b010..RGB565 -> RGB565 + * 0b011..RGB555 -> RGB555 + * 0b100..YUV -> YCbCr 24 bits + * 0b101..YUV -> YUV444 + */ +#define BLK_CTRL_MEDIAMIX_DISPLAY_MUX_PARALLEL_DISP_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_DISPLAY_MUX_PARALLEL_DISP_FORMAT_SHIFT)) & BLK_CTRL_MEDIAMIX_DISPLAY_MUX_PARALLEL_DISP_FORMAT_MASK) +/*! @} */ + +/*! @name IF_CTRL_REG - Parallel Camera Interface Register */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_SEL_MASK (0x100U) +#define BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_SEL_SHIFT (8U) +/*! DATA_TYPE_SEL - Pixel link data type select + * 0b0..Reserved + * 0b1..Pixel Link data type comes from IF_CTRL_REG DATA_TYPE[4:0] + */ +#define BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_SEL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_SEL_SHIFT)) & BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_SEL_MASK) + +#define BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_MASK (0x3E00U) +#define BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_SHIFT (9U) +/*! DATA_TYPE - Date type to ISI control bus [11:7] + * 0b00000..Null data + * 0b00100..RGB format + * 0b01000..YUV444 format + * 0b10000..YYU420 type(a) odd line (not supported) + * 0b10010..YYU420 type(a) even line (not supported) + * 0b11000..YYU420 type(a) YYY odd line (not supported) + * 0b11010..YYU420 type(b) UYVY even line (not supported) + * 0b11100..RAW + */ +#define BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_SHIFT)) & BLK_CTRL_MEDIAMIX_IF_CTRL_REG_DATA_TYPE_MASK) +/*! @} */ + +/*! @name INTERFACE_STATUS - Interface Status Register */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_FIELD_TOGGLE_STATUS_MASK (0x1U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_FIELD_TOGGLE_STATUS_SHIFT (0U) +/*! FIELD_TOGGLE_STATUS - Field toggle status + * 0b0..VSYNC field toggle mode disabled + * 0b1..VSYNC field toggle mode enabled + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_FIELD_TOGGLE_STATUS(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_FIELD_TOGGLE_STATUS_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_FIELD_TOGGLE_STATUS_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_ECC_ERROR_STATUS_MASK (0x2U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_ECC_ERROR_STATUS_SHIFT (1U) +/*! ECC_ERROR_STATUS - ECC error status + * 0b0..No ECC error detected + * 0b1..ECC error detected + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_ECC_ERROR_STATUS(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_ECC_ERROR_STATUS_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_STATUS_ECC_ERROR_STATUS_MASK) +/*! @} */ + +/*! @name INTERFACE_CTRL_REG - Interface Control Register */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_CLK_POL_MASK (0x2U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_CLK_POL_SHIFT (1U) +/*! PIXEL_CLK_POL - Pixel clock polarity control + * 0b0..Pixel clcok is not inverted. + * 0b1..Pixel clock input is inverted. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_CLK_POL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_CLK_POL_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_CLK_POL_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_POL_MASK (0x4U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_POL_SHIFT (2U) +/*! HSYNC_POL - HSYNC polarity control + * 0b0..HSYNC output to Pixel Link is not inverted. + * 0b1..HSYNC output to Pixel Link is inverted. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_POL_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_POL_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_POL_MASK (0x8U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_POL_SHIFT (3U) +/*! VSYNC_POL - VSYNC polarity control + * 0b0..VSYNC output to Pixel Link is not inverted. + * 0b1..VSYNC output to Pixel Link is inverted. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_POL_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_POL_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_DE_POL_MASK (0x10U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_DE_POL_SHIFT (4U) +/*! DE_POL - DE polarity control + * 0b0..DE output to Pixel Link is not inverted. + * 0b1..DE output to Pixcel Link is inverted. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_DE_POL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_DE_POL_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_DE_POL_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_DATA_POL_MASK (0x20U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_DATA_POL_SHIFT (5U) +/*! PIXEL_DATA_POL - PIXEL_DATA polarity control + * 0b0..PIXEL_DATA output to Pixel Link is not inverted. + * 0b1..PIXEL_DATA output to Pixel Link is inverted. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_DATA_POL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_DATA_POL_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_PIXEL_DATA_POL_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EXT_VSYNC_EN_MASK (0x40U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EXT_VSYNC_EN_SHIFT (6U) +/*! CCIR_EXT_VSYNC_EN - External VSYNC enable */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EXT_VSYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EXT_VSYNC_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EXT_VSYNC_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EN_MASK (0x80U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EN_SHIFT (7U) +/*! CCIR_EN - CCIR mode enable + * 0b0..CCIR mode disable + * 0b1..CCIR mode enable + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VIDEO_MODE_MASK (0x100U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VIDEO_MODE_SHIFT (8U) +/*! CCIR_VIDEO_MODE - CCIR video mode + * 0b0..Progressive mode + * 0b1..Interlace + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VIDEO_MODE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VIDEO_MODE_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VIDEO_MODE_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_NTSC_EN_MASK (0x200U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_NTSC_EN_SHIFT (9U) +/*! CCIR_NTSC_EN - CCIR NTSC enable + * 0b0..PAL + * 0b1..NTSC + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_NTSC_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_NTSC_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_NTSC_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VSYNC_RST_EN_MASK (0x400U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VSYNC_RST_EN_SHIFT (10U) +/*! CCIR_VSYNC_RST_EN - CCIR_VSYNC_RESET_EN */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VSYNC_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VSYNC_RST_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_VSYNC_RST_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_ECC_CORR_EN_MASK (0x800U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_ECC_CORR_EN_SHIFT (11U) +/*! CCIR_ECC_CORR_EN - CCIR error correction enable + * 0b0..ECC error correction is disabled. + * 0b1..ECC error correction is enabled. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_ECC_CORR_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_ECC_CORR_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_CCIR_ECC_CORR_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_FORCE_EN_MASK (0x1000U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_FORCE_EN_SHIFT (12U) +/*! HSYNC_FORCE_EN - HSYNC force enable + * 0b0..Do not override HSYNC. + * 0b1..Override HSYNC. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_FORCE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_FORCE_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_FORCE_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_FORCE_EN_MASK (0x2000U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_FORCE_EN_SHIFT (13U) +/*! VSYNC_FORCE_EN - VSYNC force enable + * 0b0..Do not override VSYNC. + * 0b1..Override VSYNC. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_FORCE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_FORCE_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VSYNC_FORCE_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_GCLK_MODE_EN_MASK (0x4000U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_GCLK_MODE_EN_SHIFT (14U) +/*! GCLK_MODE_EN - Gate clock mode enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_GCLK_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_GCLK_MODE_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_GCLK_MODE_EN_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VALID_SEL_MASK (0x8000U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VALID_SEL_SHIFT (15U) +/*! VALID_SEL - Data valid select + * 0b0..HSYNC data valid. + * 0b1..Data enable valid. Not supported. + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VALID_SEL_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_VALID_SEL_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_RAW_OUT_SEL_MASK (0x10000U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_RAW_OUT_SEL_SHIFT (16U) +/*! RAW_OUT_SEL - RAW output select + * 0b0..Right justified output + * 0b1..Left justified to 14-bit output + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_RAW_OUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_RAW_OUT_SEL_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_RAW_OUT_SEL_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_OUT_SEL_MASK (0x20000U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_OUT_SEL_SHIFT (17U) +/*! HSYNC_OUT_SEL - HSYNC output select + * 0b0..HYSNC output level + * 0b1..HYSNC output pulse + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_OUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_OUT_SEL_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_OUT_SEL_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_PULSE_MASK (0x380000U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_PULSE_SHIFT (19U) +/*! HSYNC_PULSE - HSYNC_PULSE */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_PULSE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_PULSE_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_HSYNC_PULSE_MASK) + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_UV_SWAP_EN_MASK (0x400000U) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_UV_SWAP_EN_SHIFT (22U) +/*! UV_SWAP_EN - UV swap enable + * 0b0..UV swap disable + * 0b1..UV swap enable + */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_UV_SWAP_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_UV_SWAP_EN_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG_UV_SWAP_EN_MASK) +/*! @} */ + +/*! @name INTERFACE_CTRL_REG1 - Interface Control Register 1 */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG1_VSYNC_PULSE_MASK (0xFFFFU) +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG1_VSYNC_PULSE_SHIFT (0U) +/*! VSYNC_PULSE - VSYNC pulse width */ +#define BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG1_VSYNC_PULSE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG1_VSYNC_PULSE_SHIFT)) & BLK_CTRL_MEDIAMIX_INTERFACE_CTRL_REG1_VSYNC_PULSE_MASK) +/*! @} */ + +/*! @name RESET - RESET Control Register */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_RESET_bus_apb_en_MASK (0x1U) +#define BLK_CTRL_MEDIAMIX_RESET_bus_apb_en_SHIFT (0U) +/*! bus_apb_en - Bus apb_clk reset + * 0b0..Reset bus apb_clk related logic + * 0b1..Do not reset bus apb_clk related logic + */ +#define BLK_CTRL_MEDIAMIX_RESET_bus_apb_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_RESET_bus_apb_en_SHIFT)) & BLK_CTRL_MEDIAMIX_RESET_bus_apb_en_MASK) + +#define BLK_CTRL_MEDIAMIX_RESET_bus_blk_en_MASK (0x2U) +#define BLK_CTRL_MEDIAMIX_RESET_bus_blk_en_SHIFT (1U) +/*! bus_blk_en - Bus axi_clk reset + * 0b0..Reset bus axi_clk related logic + * 0b1..Do not reset bus axi_clk related logic + */ +#define BLK_CTRL_MEDIAMIX_RESET_bus_blk_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_RESET_bus_blk_en_SHIFT)) & BLK_CTRL_MEDIAMIX_RESET_bus_blk_en_MASK) + +#define BLK_CTRL_MEDIAMIX_RESET_isi_apb_en_MASK (0x4U) +#define BLK_CTRL_MEDIAMIX_RESET_isi_apb_en_SHIFT (2U) +/*! isi_apb_en - ISI apb_clk reset + * 0b0..Reset ISI apb_clk related logic + * 0b1..Do not reset ISI apb_clk related logic + */ +#define BLK_CTRL_MEDIAMIX_RESET_isi_apb_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_RESET_isi_apb_en_SHIFT)) & BLK_CTRL_MEDIAMIX_RESET_isi_apb_en_MASK) + +#define BLK_CTRL_MEDIAMIX_RESET_isi_proc_en_MASK (0x8U) +#define BLK_CTRL_MEDIAMIX_RESET_isi_proc_en_SHIFT (3U) +/*! isi_proc_en - ISI axi_clk reset + * 0b0..Reset ISI axi_clk related logic + * 0b1..Do not reset ISI axi_clk related logic + */ +#define BLK_CTRL_MEDIAMIX_RESET_isi_proc_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_RESET_isi_proc_en_SHIFT)) & BLK_CTRL_MEDIAMIX_RESET_isi_proc_en_MASK) + +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_apb_en_MASK (0x10U) +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_apb_en_SHIFT (4U) +/*! lcdif_apb_en - LCDIF apb_clk reset + * 0b0..Reset LCDIF apb_clk related logic + * 0b1..Do not reset LCDIF apb_clk related logic + */ +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_apb_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_RESET_lcdif_apb_en_SHIFT)) & BLK_CTRL_MEDIAMIX_RESET_lcdif_apb_en_MASK) + +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_axi_en_MASK (0x20U) +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_axi_en_SHIFT (5U) +/*! lcdif_axi_en - LCDIF axi_clk reset + * 0b0..Reset LCDIF axi_clk related logic + * 0b1..Do not reset LCDIF axi_clk related logic + */ +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_axi_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_RESET_lcdif_axi_en_SHIFT)) & BLK_CTRL_MEDIAMIX_RESET_lcdif_axi_en_MASK) + +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_pix_en_MASK (0x40U) +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_pix_en_SHIFT (6U) +/*! lcdif_pix_en - LCDIF pix_clk reset + * 0b0..Reset LCDIF pix_clk related logic + * 0b1..Do not reset LCDIF pix_clk related logic + */ +#define BLK_CTRL_MEDIAMIX_RESET_lcdif_pix_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_RESET_lcdif_pix_en_SHIFT)) & BLK_CTRL_MEDIAMIX_RESET_lcdif_pix_en_MASK) + +#define BLK_CTRL_MEDIAMIX_RESET_cam_clk_en_MASK (0x400U) +#define BLK_CTRL_MEDIAMIX_RESET_cam_clk_en_SHIFT (10U) +/*! cam_clk_en - Camera clock reset + * 0b0..Reset camera related logic + * 0b1..Do not reset camera clock related logic + */ +#define BLK_CTRL_MEDIAMIX_RESET_cam_clk_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_RESET_cam_clk_en_SHIFT)) & BLK_CTRL_MEDIAMIX_RESET_cam_clk_en_MASK) +/*! @} */ + +/*! @name CLK - CLK Control Register */ +/*! @{ */ + +#define BLK_CTRL_MEDIAMIX_CLK_bus_apb_en_MASK (0x1U) +#define BLK_CTRL_MEDIAMIX_CLK_bus_apb_en_SHIFT (0U) +/*! bus_apb_en - Bus apb_clk gate enable + * 0b0..Do not gate bus apb_clk root + * 0b1..Gate bus apb_clk root + */ +#define BLK_CTRL_MEDIAMIX_CLK_bus_apb_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_CLK_bus_apb_en_SHIFT)) & BLK_CTRL_MEDIAMIX_CLK_bus_apb_en_MASK) + +#define BLK_CTRL_MEDIAMIX_CLK_bus_blk_en_MASK (0x2U) +#define BLK_CTRL_MEDIAMIX_CLK_bus_blk_en_SHIFT (1U) +/*! bus_blk_en - Bus axi_clk gate enable + * 0b0..Do not gate bus axi_clk root + * 0b1..Gate bus axi_clk root + */ +#define BLK_CTRL_MEDIAMIX_CLK_bus_blk_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_CLK_bus_blk_en_SHIFT)) & BLK_CTRL_MEDIAMIX_CLK_bus_blk_en_MASK) + +#define BLK_CTRL_MEDIAMIX_CLK_isi_apb_en_MASK (0x4U) +#define BLK_CTRL_MEDIAMIX_CLK_isi_apb_en_SHIFT (2U) +/*! isi_apb_en - ISI apb_clk gate enable + * 0b0..Do not gate ISI apb_clk root + * 0b1..Gate ISI apb_clk root + */ +#define BLK_CTRL_MEDIAMIX_CLK_isi_apb_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_CLK_isi_apb_en_SHIFT)) & BLK_CTRL_MEDIAMIX_CLK_isi_apb_en_MASK) + +#define BLK_CTRL_MEDIAMIX_CLK_isi_proc_en_MASK (0x8U) +#define BLK_CTRL_MEDIAMIX_CLK_isi_proc_en_SHIFT (3U) +/*! isi_proc_en - ISI axi_clk gate enable + * 0b0..Do not gate ISI axi_clk root + * 0b1..Gate ISI axi_clk root + */ +#define BLK_CTRL_MEDIAMIX_CLK_isi_proc_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_CLK_isi_proc_en_SHIFT)) & BLK_CTRL_MEDIAMIX_CLK_isi_proc_en_MASK) + +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_apb_en_MASK (0x10U) +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_apb_en_SHIFT (4U) +/*! lcdif_apb_en - LCDIF apb_clk gate enable + * 0b0..Do not gate LCDIF apb_clk root + * 0b1..Gate LCDIF apb_clk root + */ +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_apb_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_CLK_lcdif_apb_en_SHIFT)) & BLK_CTRL_MEDIAMIX_CLK_lcdif_apb_en_MASK) + +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_axi_en_MASK (0x20U) +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_axi_en_SHIFT (5U) +/*! lcdif_axi_en - LCDIF axi_clk gate enable + * 0b0..Do not gate LCDIF axi_clk root + * 0b1..Gate LCDIF axi_clk root + */ +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_axi_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_CLK_lcdif_axi_en_SHIFT)) & BLK_CTRL_MEDIAMIX_CLK_lcdif_axi_en_MASK) + +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_pix_en_MASK (0x40U) +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_pix_en_SHIFT (6U) +/*! lcdif_pix_en - LCDIF pix_clk gate enable + * 0b0..Do not gate LCDIF pix_clk root + * 0b1..Gate LCDIF pix_clk root + */ +#define BLK_CTRL_MEDIAMIX_CLK_lcdif_pix_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_CLK_lcdif_pix_en_SHIFT)) & BLK_CTRL_MEDIAMIX_CLK_lcdif_pix_en_MASK) + +#define BLK_CTRL_MEDIAMIX_CLK_cam_clk_en_MASK (0x400U) +#define BLK_CTRL_MEDIAMIX_CLK_cam_clk_en_SHIFT (10U) +/*! cam_clk_en - cam_clk gate enable + * 0b0..Do not gate cam_clk root + * 0b1..Gate cam_clk root + */ +#define BLK_CTRL_MEDIAMIX_CLK_cam_clk_en(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_MEDIAMIX_CLK_cam_clk_en_SHIFT)) & BLK_CTRL_MEDIAMIX_CLK_cam_clk_en_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group BLK_CTRL_MEDIAMIX_Register_Masks */ + + +/* BLK_CTRL_MEDIAMIX - Peripheral instance base addresses */ +/** Peripheral BLK_CTRL_MEDIAMIX1 base address */ +#define BLK_CTRL_MEDIAMIX1_BASE (0x4AC10000u) +/** Peripheral BLK_CTRL_MEDIAMIX1 base pointer */ +#define BLK_CTRL_MEDIAMIX1 ((BLK_CTRL_MEDIAMIX_Type *)BLK_CTRL_MEDIAMIX1_BASE) +/** Array initializer of BLK_CTRL_MEDIAMIX peripheral base addresses */ +#define BLK_CTRL_MEDIAMIX_BASE_ADDRS { BLK_CTRL_MEDIAMIX1_BASE } +/** Array initializer of BLK_CTRL_MEDIAMIX peripheral base pointers */ +#define BLK_CTRL_MEDIAMIX_BASE_PTRS { BLK_CTRL_MEDIAMIX1 } + +/*! + * @} + */ /* end of group BLK_CTRL_MEDIAMIX_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_NIC_WRAPPER Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_NIC_WRAPPER_Peripheral_Access_Layer BLK_CTRL_NIC_WRAPPER Peripheral Access Layer + * @{ + */ + +/** BLK_CTRL_NIC_WRAPPER - Register Layout Typedef */ +typedef struct { + __IO uint32_t DEXSC_ERR; /**< DEXSC error response configuration, offset: 0x0 */ + uint8_t RESERVED_0[4]; + __IO uint32_t AXI_LIMIT_WAKEUPMIX; /**< Configuration register for axi_limit_wakeupmix, offset: 0x8 */ + __IO uint32_t CACHE_ATTR; /**< Configuration register for AxCACHE[1] override, offset: 0xC */ + __IO uint32_t WAKEUPMIX_QOS; /**< Configuration register for QoS value from wakeupmix, offset: 0x10 */ + __IO uint32_t CACHE_QOS; /**< Configuration register for QoS value from A55, offset: 0x14 */ + uint8_t RESERVED_1[8]; + __IO uint32_t HSIOMIX_QOS; /**< Configuration register for QoS value from hsiomix, offset: 0x20 */ + __IO uint32_t TIE_VALUE; /**< GPR for uncertain tie0 or tie1, offset: 0x24 */ + __IO uint32_t OCRAM_SGLECC_ERR_INT; /**< OCRAM single ECC error interrupt flag, offset: 0x28 */ + uint8_t RESERVED_2[4]; + __IO uint32_t SSI_MST_DDRMIX; /**< low power control for SSI_MST_DDRMIX, offset: 0x30 */ + __IO uint32_t SSI_MST_GIC600; /**< low power control for SSI_MST_GIC600, offset: 0x34 */ + __IO uint32_t SSI_MST_WAKEUPMIX; /**< low power control for SSI_MST_WAKEUPMIX, offset: 0x38 */ + __IO uint32_t SSI_SLV_CACHE; /**< low power control for SSI_SLV_CACHE, offset: 0x3C */ + __IO uint32_t SSI_SLV_GIC600; /**< low power control for SSI_SLV_GIC600, offset: 0x40 */ + __IO uint32_t SSI_SLV_HSIOMIX; /**< low power control for SSI_SLV_HSIOMIX, offset: 0x44 */ + __IO uint32_t SSI_SLV_MEDIAMIX; /**< low power control for SSI_SLV_MEDIAMIX, offset: 0x48 */ + __IO uint32_t SSI_SLV_WAKEUPMIX; /**< low power control for SSI_SLV_WAKEUPMIX, offset: 0x4C */ + uint8_t RESERVED_3[16]; + __IO uint32_t REG_RW; /**< reserved, offset: 0x60 */ + __I uint32_t REG_RO; /**< reserved, offset: 0x64 */ +} BLK_CTRL_NIC_WRAPPER_Type; + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_NIC_WRAPPER Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_NIC_WRAPPER_Register_Masks BLK_CTRL_NIC_WRAPPER Register Masks + * @{ + */ + +/*! @name DEXSC_ERR - DEXSC error response configuration */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_ERR_RESP_EN_MASK (0x1U) +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_ERR_RESP_EN_SHIFT (0U) +/*! OCRAM_ERR_RESP_EN - OCRAM DEXSC error response enable + * 0b0..DEXSC will not respond error if there is read error on DEXSC + * 0b1..DEXSC will respond slave error if there is read error on DEXSC + */ +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_ERR_RESP_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_ERR_RESP_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_ERR_RESP_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_EXC_ERR_RESP_EN_MASK (0x2U) +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_EXC_ERR_RESP_EN_SHIFT (1U) +/*! OCRAM_EXC_ERR_RESP_EN - OCRAM DEXSC exclusive error response enable + * 0b0..DEXSC will not respond error if there is exclusive error on DEXSC + * 0b1..DEXSC will respond slave error if there is exclusive error on DEXSC + */ +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_EXC_ERR_RESP_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_EXC_ERR_RESP_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_EXC_ERR_RESP_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_LOCK_ERR_RESP_EN_MASK (0x4U) +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_LOCK_ERR_RESP_EN_SHIFT (2U) +/*! OCRAM_LOCK_ERR_RESP_EN - Lock bit of OCRAM_ERR_RESP_EN and OCRAM_EXC_ERR_RESP_EN */ +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_LOCK_ERR_RESP_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_LOCK_ERR_RESP_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_OCRAM_LOCK_ERR_RESP_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_ERR_RESP_EN_MASK (0x10000U) +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_ERR_RESP_EN_SHIFT (16U) +/*! DRAM_ERR_RESP_EN - DRAM DEXSC error response enable + * 0b0..DEXSC will not respond error if there is read error on DEXSC + * 0b1..DEXSC will respond slave error if there is read error on DEXSC + */ +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_ERR_RESP_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_ERR_RESP_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_ERR_RESP_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_EXC_ERR_RESP_EN_MASK (0x20000U) +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_EXC_ERR_RESP_EN_SHIFT (17U) +/*! DRAM_EXC_ERR_RESP_EN - DRAM DEXSC exclusive error response enable + * 0b0..DEXSC will not respond error if there is exclusive error on DEXSC + * 0b1..DEXSC will respond slave error if there is exclusive error on DEXSC + */ +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_EXC_ERR_RESP_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_EXC_ERR_RESP_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_EXC_ERR_RESP_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_LOCK_ERR_RESP_EN_MASK (0x40000U) +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_LOCK_ERR_RESP_EN_SHIFT (18U) +/*! DRAM_LOCK_ERR_RESP_EN - Lock bit of DRAM_ERR_RESP_EN and DRAM_EXC_ERR_RESP_EN */ +#define BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_LOCK_ERR_RESP_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_LOCK_ERR_RESP_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_DEXSC_ERR_DRAM_LOCK_ERR_RESP_EN_MASK) +/*! @} */ + +/*! @name AXI_LIMIT_WAKEUPMIX - Configuration register for axi_limit_wakeupmix */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_ENABLE_MASK (0x1U) +#define BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_ENABLE_SHIFT (0U) +/*! ENABLE - Enable the beat limit on the access from wakeupmix + * 0b0..Disable the beat limit + * 0b1..Enable the beat limit + */ +#define BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_ENABLE_SHIFT)) & BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_ENABLE_MASK) + +#define BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_BEAT_LIMIT_MASK (0xFFFF0000U) +#define BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_BEAT_LIMIT_SHIFT (16U) +/*! BEAT_LIMIT - Beat limit number */ +#define BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_BEAT_LIMIT(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_BEAT_LIMIT_SHIFT)) & BLK_CTRL_NIC_WRAPPER_AXI_LIMIT_WAKEUPMIX_BEAT_LIMIT_MASK) +/*! @} */ + +/*! @name CACHE_ATTR - Configuration register for AxCACHE[1] override */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_EN_MASK (0x1U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_EN_SHIFT (0U) +/*! WAKEUPMIX_ARCACHE_EN - Enable ARCACHE[1] override + * 0b0..Disable override ARCACHE[1] from ssi_slv_wakeupmix + * 0b1..enable override ARCACHE[1] from ssi_slv_wakeupmix + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_EN_MASK (0x2U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_EN_SHIFT (1U) +/*! WAKEUPMIX_AWCACHE_EN - Enable AWCACHE[1] override + * 0b0..Disable override AWCACHE[1] from ssi_slv_wakeupmix + * 0b1..enable override AWCACHE[1] from ssi_slv_wakeupmix + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_EN_MASK (0x4U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_EN_SHIFT (2U) +/*! CACHE_ARCACHE_EN - Enable ARCACHE[1] override + * 0b0..Disable override ARCACHE[1] from ssi_slv_cache + * 0b1..enable override ARCACHE[1] from ssi_slv_cache + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_EN_MASK (0x8U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_EN_SHIFT (3U) +/*! CACHE_AWCACHE_EN - Enable AWCACHE[1] override + * 0b0..Disable override AWCACHE[1] from ssi_slv_cache + * 0b1..enable override AWCACHE[1] from ssi_slv_cache + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_EN_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_EN_SHIFT (4U) +/*! HSIOMIX_ARCACHE_EN - Enable ARCACHE[1] override + * 0b0..Disable override ARCACHE[1] from ssi_slv_hsiomix + * 0b1..enable override ARCACHE[1] from ssi_slv_hsiomix + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_EN_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_EN_SHIFT (5U) +/*! HSIOMIX_AWCACHE_EN - Enable AWCACHE[1] override + * 0b0..Disable override AWCACHE[1] from ssi_slv_hsiomix + * 0b1..enable override AWCACHE[1] from ssi_slv_hsiomix + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_EN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_EN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_MASK (0x10000U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_SHIFT (16U) +/*! WAKEUPMIX_ARCACHE - Override value + * 0b0..Override ARCACHE[1] from ssi_slv_wakeupmix to 0 + * 0b1..Override ARCACHE[1] from ssi_slv_wakeupmix to 1 + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_ARCACHE_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_MASK (0x20000U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_SHIFT (17U) +/*! WAKEUPMIX_AWCACHE - Override value + * 0b0..Override AWCACHE[1] from ssi_slv_wakeupmix to 0 + * 0b1..Override AWCACHE[1] from ssi_slv_wakeupmix to 1 + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_WAKEUPMIX_AWCACHE_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_MASK (0x40000U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_SHIFT (18U) +/*! CACHE_ARCACHE - Override value + * 0b0..Override ARCACHE[1] from ssi_slv_cache to 0 + * 0b1..Override ARCACHE[1] from ssi_slv_cache to 1 + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_ARCACHE_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_MASK (0x80000U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_SHIFT (19U) +/*! CACHE_AWCACHE - Override value + * 0b0..Override AWCACHE[1] from ssi_slv_cache to 0 + * 0b1..Override AWCACHE[1] from ssi_slv_cache to 1 + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_CACHE_AWCACHE_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_MASK (0x100000U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_SHIFT (20U) +/*! HSIOMIX_ARCACHE - Override value + * 0b0..Override ARCACHE[1] from ssi_slv_hsiomix to 0 + * 0b1..Override ARCACHE[1] from ssi_slv_hsiomix to 1 + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_ARCACHE_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_MASK (0x200000U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_SHIFT (21U) +/*! HSIOMIX_AWCACHE - Override value + * 0b0..Override AWCACHE[1] from ssi_slv_hsiomix to 0 + * 0b1..Override AWCACHE[1] from ssi_slv_hsiomix to 1 + */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_ATTR_HSIOMIX_AWCACHE_MASK) +/*! @} */ + +/*! @name WAKEUPMIX_QOS - Configuration register for QoS value from wakeupmix */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AW_MASK (0xFU) +#define BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AW_SHIFT (0U) +/*! PANIC_AW - Value of aw_qos_paNIC from wakeupmix */ +#define BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AW(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AW_SHIFT)) & BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AW_MASK) + +#define BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AR_MASK (0xF0U) +#define BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AR_SHIFT (4U) +/*! PANIC_AR - Value of ar_qos_paNIC from wakeupmix */ +#define BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AR_SHIFT)) & BLK_CTRL_NIC_WRAPPER_WAKEUPMIX_QOS_PANIC_AR_MASK) +/*! @} */ + +/*! @name CACHE_QOS - Configuration register for QoS value from A55 */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AW_MASK (0xFU) +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AW_SHIFT (0U) +/*! PANIC_AW - Value of aw_qos_paNIC from A55 */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AW(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AW_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AW_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AR_MASK (0xF0U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AR_SHIFT (4U) +/*! PANIC_AR - Value of ar_qos_paNIC from A55 */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AR_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_QOS_PANIC_AR_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AW_MASK (0xF0000U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AW_SHIFT (16U) +/*! DEFAULT_AW - Value of aw_qos_default from A55 */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AW(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AW_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AW_MASK) + +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AR_MASK (0xF00000U) +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AR_SHIFT (20U) +/*! DEFAULT_AR - Value of ar_qos_default from A55 */ +#define BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AR_SHIFT)) & BLK_CTRL_NIC_WRAPPER_CACHE_QOS_DEFAULT_AR_MASK) +/*! @} */ + +/*! @name HSIOMIX_QOS - Configuration register for QoS value from hsiomix */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AW_MASK (0xFU) +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AW_SHIFT (0U) +/*! PANIC_AW - Value of aw_qos_paNIC from hsiomix */ +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AW(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AW_SHIFT)) & BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AW_MASK) + +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AR_MASK (0xF0U) +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AR_SHIFT (4U) +/*! PANIC_AR - Value of ar_qos_paNIC from hsiomix */ +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AR_SHIFT)) & BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_PANIC_AR_MASK) + +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AW_MASK (0xF0000U) +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AW_SHIFT (16U) +/*! DEFAULT_AW - Value of aw_qos_default from hsiomix */ +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AW(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AW_SHIFT)) & BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AW_MASK) + +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AR_MASK (0xF00000U) +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AR_SHIFT (20U) +/*! DEFAULT_AR - Value of ar_qos_default from hsiomix */ +#define BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AR_SHIFT)) & BLK_CTRL_NIC_WRAPPER_HSIOMIX_QOS_DEFAULT_AR_MASK) +/*! @} */ + +/*! @name TIE_VALUE - GPR for uncertain tie0 or tie1 */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AIPS4_HBSTRB_MASK (0xFU) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AIPS4_HBSTRB_SHIFT (0U) +/*! AIPS4_HBSTRB - Value of aips4.hbstrb */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AIPS4_HBSTRB(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AIPS4_HBSTRB_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AIPS4_HBSTRB_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_XCPT_RTN_MASK (0x30U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_XCPT_RTN_SHIFT (4U) +/*! XCPT_RTN - Dac_cache_r.xcpt_rtn and dac_cache_w.xcpt_rtn */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_XCPT_RTN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_XCPT_RTN_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_XCPT_RTN_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICT_ALLOW_NS_MASK (0x40U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICT_ALLOW_NS_SHIFT (6U) +/*! GICT_ALLOW_NS - GIC600.gict_allow_ns */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICT_ALLOW_NS(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICT_ALLOW_NS_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICT_ALLOW_NS_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICP_ALLOW_NS_MASK (0x80U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICP_ALLOW_NS_SHIFT (7U) +/*! GICP_ALLOW_NS - GIC600.gicp_allow_ns */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICP_ALLOW_NS(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICP_ALLOW_NS_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_GICP_ALLOW_NS_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARBAR_S_MASK (0x300U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARBAR_S_SHIFT (8U) +/*! ARBAR_S - GIC600.ARBAR_S */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARBAR_S(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARBAR_S_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARBAR_S_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWBAR_S_MASK (0xC00U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWBAR_S_SHIFT (10U) +/*! AWBAR_S - GIC600.AWBAR_S */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWBAR_S(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWBAR_S_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWBAR_S_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARUSER_S_MASK (0x7000U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARUSER_S_SHIFT (12U) +/*! ARUSER_S - GIC600.ARUSER_S */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARUSER_S(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARUSER_S_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARUSER_S_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWUSER_S_MASK (0x38000U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWUSER_S_SHIFT (15U) +/*! AWUSER_S - GIC600.AWUSER_S */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWUSER_S(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWUSER_S_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWUSER_S_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARSNOOP_S_MASK (0x3C0000U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARSNOOP_S_SHIFT (18U) +/*! ARSNOOP_S - GIC600.arsnoop_s */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARSNOOP_S(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARSNOOP_S_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_ARSNOOP_S_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWSNOOP_S_MASK (0x1C00000U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWSNOOP_S_SHIFT (22U) +/*! AWSNOOP_S - GIC600.awsnoop_s */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWSNOOP_S(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWSNOOP_S_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_AWSNOOP_S_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_HPROT_GPV_CENTRAL_MASK (0x1E000000U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_HPROT_GPV_CENTRAL_SHIFT (25U) +/*! HPROT_GPV_CENTRAL - NIC400_central.HPROT_gpv_central */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_HPROT_GPV_CENTRAL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_HPROT_GPV_CENTRAL_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_HPROT_GPV_CENTRAL_MASK) + +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_DFTRAMHOLD_MASK (0x20000000U) +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_DFTRAMHOLD_SHIFT (29U) +/*! DFTRAMHOLD - GIC600.dftramhold */ +#define BLK_CTRL_NIC_WRAPPER_TIE_VALUE_DFTRAMHOLD(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_TIE_VALUE_DFTRAMHOLD_SHIFT)) & BLK_CTRL_NIC_WRAPPER_TIE_VALUE_DFTRAMHOLD_MASK) +/*! @} */ + +/*! @name OCRAM_SGLECC_ERR_INT - OCRAM single ECC error interrupt flag */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_OCRAM_SGLECC_ERR_INT_SGL_ECC_ERR_IF_MASK (0x1U) +#define BLK_CTRL_NIC_WRAPPER_OCRAM_SGLECC_ERR_INT_SGL_ECC_ERR_IF_SHIFT (0U) +/*! SGL_ECC_ERR_IF - OCRAM single ECC error interrupt flag */ +#define BLK_CTRL_NIC_WRAPPER_OCRAM_SGLECC_ERR_INT_SGL_ECC_ERR_IF(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_OCRAM_SGLECC_ERR_INT_SGL_ECC_ERR_IF_SHIFT)) & BLK_CTRL_NIC_WRAPPER_OCRAM_SGLECC_ERR_INT_SGL_ECC_ERR_IF_MASK) +/*! @} */ + +/*! @name SSI_MST_DDRMIX - low power control for SSI_MST_DDRMIX */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_idle_MASK (0x1U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_idle_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_idle_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_idle_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_pause_MASK (0x4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_pause_SHIFT (2U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_pause_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_pause_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_black_hole_mode_b_MASK (0x8U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_black_hole_mode_b_SHIFT (3U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_black_hole_mode_b(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_black_hole_mode_b_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_black_hole_mode_b_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_power_control_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_power_control_SHIFT (4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_power_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_power_control_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_iso_control_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_iso_control_SHIFT (5U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_iso_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_DDRMIX_iso_control_MASK) +/*! @} */ + +/*! @name SSI_MST_GIC600 - low power control for SSI_MST_GIC600 */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_idle_MASK (0x1U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_idle_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_idle_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_idle_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_pause_MASK (0x4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_pause_SHIFT (2U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_pause_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_pause_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_power_control_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_power_control_SHIFT (4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_power_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_power_control_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_iso_control_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_iso_control_SHIFT (5U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_iso_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_GIC600_iso_control_MASK) +/*! @} */ + +/*! @name SSI_MST_WAKEUPMIX - low power control for SSI_MST_WAKEUPMIX */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_idle_MASK (0x1U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_idle_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_idle_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_idle_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_pause_MASK (0x4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_pause_SHIFT (2U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_pause_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_pause_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_black_hole_mode_b_MASK (0x8U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_black_hole_mode_b_SHIFT (3U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_black_hole_mode_b(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_black_hole_mode_b_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_black_hole_mode_b_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_power_control_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_power_control_SHIFT (4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_power_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_power_control_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_iso_control_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_iso_control_SHIFT (5U) +#define BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_iso_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_MST_WAKEUPMIX_iso_control_MASK) +/*! @} */ + +/*! @name SSI_SLV_CACHE - low power control for SSI_SLV_CACHE */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_idle_MASK (0x3U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_idle_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_idle_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_idle_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_pause_MASK (0x4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_pause_SHIFT (2U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_pause_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_pause_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_black_hole_mode_b_MASK (0x8U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_black_hole_mode_b_SHIFT (3U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_black_hole_mode_b(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_black_hole_mode_b_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_black_hole_mode_b_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_power_control_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_power_control_SHIFT (4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_power_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_power_control_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_iso_control_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_iso_control_SHIFT (5U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_iso_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_CACHE_iso_control_MASK) +/*! @} */ + +/*! @name SSI_SLV_GIC600 - low power control for SSI_SLV_GIC600 */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_power_control_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_power_control_SHIFT (4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_power_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_power_control_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_iso_control_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_iso_control_SHIFT (5U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_iso_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_GIC600_iso_control_MASK) +/*! @} */ + +/*! @name SSI_SLV_HSIOMIX - low power control for SSI_SLV_HSIOMIX */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_idle_MASK (0x3U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_idle_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_idle_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_idle_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_pause_MASK (0x4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_pause_SHIFT (2U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_pause_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_pause_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_black_hole_mode_b_MASK (0x8U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_black_hole_mode_b_SHIFT (3U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_black_hole_mode_b(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_black_hole_mode_b_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_black_hole_mode_b_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_power_control_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_power_control_SHIFT (4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_power_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_power_control_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_iso_control_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_iso_control_SHIFT (5U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_iso_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_HSIOMIX_iso_control_MASK) +/*! @} */ + +/*! @name SSI_SLV_MEDIAMIX - low power control for SSI_SLV_MEDIAMIX */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_idle_MASK (0x3U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_idle_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_idle_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_idle_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_pause_MASK (0x4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_pause_SHIFT (2U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_pause_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_pause_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_black_hole_mode_b_MASK (0x8U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_black_hole_mode_b_SHIFT (3U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_black_hole_mode_b(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_black_hole_mode_b_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_black_hole_mode_b_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_power_control_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_power_control_SHIFT (4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_power_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_power_control_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_iso_control_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_iso_control_SHIFT (5U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_iso_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_MEDIAMIX_iso_control_MASK) +/*! @} */ + +/*! @name SSI_SLV_WAKEUPMIX - low power control for SSI_SLV_WAKEUPMIX */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_idle_MASK (0x1U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_idle_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_idle_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_idle_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_power_control_MASK (0x10U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_power_control_SHIFT (4U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_power_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_power_control_MASK) + +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_iso_control_MASK (0x20U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_iso_control_SHIFT (5U) +#define BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_iso_control_SHIFT)) & BLK_CTRL_NIC_WRAPPER_SSI_SLV_WAKEUPMIX_iso_control_MASK) +/*! @} */ + +/*! @name REG_RW - reserved */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_REG_RW_z_cell_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NIC_WRAPPER_REG_RW_z_cell_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_REG_RW_z_cell(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_REG_RW_z_cell_SHIFT)) & BLK_CTRL_NIC_WRAPPER_REG_RW_z_cell_MASK) +/*! @} */ + +/*! @name REG_RO - reserved */ +/*! @{ */ + +#define BLK_CTRL_NIC_WRAPPER_REG_RO_z_cell_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NIC_WRAPPER_REG_RO_z_cell_SHIFT (0U) +#define BLK_CTRL_NIC_WRAPPER_REG_RO_z_cell(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NIC_WRAPPER_REG_RO_z_cell_SHIFT)) & BLK_CTRL_NIC_WRAPPER_REG_RO_z_cell_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group BLK_CTRL_NIC_WRAPPER_Register_Masks */ + + +/* BLK_CTRL_NIC_WRAPPER - Peripheral instance base addresses */ +/** Peripheral BLK_CTRL_NIC_WRAPPER1 base address */ +#define BLK_CTRL_NIC_WRAPPER1_BASE (0x49000000u) +/** Peripheral BLK_CTRL_NIC_WRAPPER1 base pointer */ +#define BLK_CTRL_NIC_WRAPPER1 ((BLK_CTRL_NIC_WRAPPER_Type *)BLK_CTRL_NIC_WRAPPER1_BASE) +/** Array initializer of BLK_CTRL_NIC_WRAPPER peripheral base addresses */ +#define BLK_CTRL_NIC_WRAPPER_BASE_ADDRS { BLK_CTRL_NIC_WRAPPER1_BASE } +/** Array initializer of BLK_CTRL_NIC_WRAPPER peripheral base pointers */ +#define BLK_CTRL_NIC_WRAPPER_BASE_PTRS { BLK_CTRL_NIC_WRAPPER1 } + +/*! + * @} + */ /* end of group BLK_CTRL_NIC_WRAPPER_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_NS_AONMIX Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_NS_AONMIX_Peripheral_Access_Layer BLK_CTRL_NS_AONMIX Peripheral Access Layer + * @{ + */ + +/** BLK_CTRL_NS_AONMIX - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[12]; + __IO uint32_t IPG_DEBUG_CA55C0; /**< IPG DEBUG MASK BIT CA55 CORE0, offset: 0xC */ + uint8_t RESERVED_1[4]; + __IO uint32_t LP_HANDSHAKE; /**< LP HANDSHAKE, offset: 0x14 */ + uint8_t RESERVED_2[8]; + __IO uint32_t MQS_SETTINGS; /**< MQS settings., offset: 0x20 */ + uint8_t RESERVED_3[4]; + __I uint32_t FUSE_ACC_DIS; /**< Read-only version of the OCOTP fuse-access-disable bit, offset: 0x28 */ + uint8_t RESERVED_4[4]; + __I uint32_t OCOTP_FUSE_DATA0; /**< Read-only version of OCOTP fusedata_mtr_cfg_0, offset: 0x30 */ + __I uint32_t OCOTP_FUSE_DATA1; /**< Read-only version of OCOTP fusedata_mtr_cfg_1, offset: 0x34 */ + __I uint32_t OCOTP_FUSE_DATA2; /**< Read-only version of OCOTP fusedata_mtr_cfg_2, offset: 0x38 */ + __I uint32_t OCOTP_FUSE_DATA3; /**< Read-only version of OCOTP fusedata_mtr_cfg_3, offset: 0x3C */ + __I uint32_t OCOTP_FUSE_DATA4; /**< Read-only version of OCOTP fusedata_mtr_cfg_4, offset: 0x40 */ + __I uint32_t OCOTP_FUSE_DATA5; /**< Read-only version of OCOTP fusedata_mtr_cfg_5, offset: 0x44 */ + __I uint32_t OCOTP_FUSE_DATA6; /**< Read-only version of OCOTP fusedata_mtr_cfg_6, offset: 0x48 */ + __I uint32_t OCOTP_FUSE_DATA7; /**< Read-only version of OCOTP fusedata_mtr_cfg_7, offset: 0x4C */ + __I uint32_t OCOTP_FUSE_DATA8; /**< Read-only version of OCOTP fusedata_mem_trim_cfg0, offset: 0x50 */ + __I uint32_t OCOTP_FUSE_DATA9; /**< Read-only version of OCOTP fusedata_mem_trim_cfg1, offset: 0x54 */ + __I uint32_t OCOTP_FUSE_DATA10; /**< Read-only version of OCOTP fusedata_mem_trim_cfg2, offset: 0x58 */ + __I uint32_t OCOTP_FUSE_DATA11; /**< Read-only version of OCOTP fusedata_mem_trim_cfg3, offset: 0x5C */ + __I uint32_t OCOTP_FUSE_DATA12; /**< Read-only version of OCOTP fusedata_mem_trim_cfg4, offset: 0x60 */ + __I uint32_t OCOTP_FUSE_DATA13; /**< Read-only version of OCOTP fusedata_mem_trim_cfg5, offset: 0x64 */ + __I uint32_t OCOTP_FUSE_DATA14; /**< Read-only version of OCOTP fusedata_mem_trim_cfg6, offset: 0x68 */ + __I uint32_t OCOTP_FUSE_DATA15; /**< Read-only version of OCOTP fusedata_mem_trim_cfg7, offset: 0x6C */ + __IO uint32_t I3C1_WAKEUP; /**< I3C1 WAKEUPX CLR, offset: 0x70 */ + __I uint32_t OCOTP_STATUS; /**< OCOTP status, offset: 0x74 */ + __IO uint32_t PDM_CLK_SEL; /**< PDM clock selection register, offset: 0x78 */ + __IO uint32_t I3C1_SDA_IRQ; /**< I3C1 SDA IRQ CONTROL, offset: 0x7C */ + __I uint32_t FASTBOOT_ENABLE; /**< Fastboot enable, offset: 0x80 */ + __I uint32_t EDGELOCK_FW_PRESENT; /**< Read only Edgelock fuse, offset: 0x84 */ + uint8_t RESERVED_5[8]; + __IO uint32_t SSI_MASTER_AON2WKUP; /**< low power control for SSI_MASTER_AON2WKUP, offset: 0x90 */ + __IO uint32_t SSI_SLV_WKUP2AON; /**< low power control for SSI_SLV_WKUP2AON, offset: 0x94 */ +} BLK_CTRL_NS_AONMIX_Type; + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_NS_AONMIX Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_NS_AONMIX_Register_Masks BLK_CTRL_NS_AONMIX Register Masks + * @{ + */ + +/*! @name IPG_DEBUG_CA55C0 - IPG DEBUG MASK BIT CA55 CORE0 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_CAN1_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_CAN1_SHIFT (0U) +/*! CAN1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_CAN1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_CAN1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_CAN1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_EDMA1_MASK (0x2U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_EDMA1_SHIFT (1U) +/*! EDMA1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_EDMA1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_EDMA1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_EDMA1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C1_MASK (0x4U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C1_SHIFT (2U) +/*! LPI2C1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C2_MASK (0x8U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C2_SHIFT (3U) +/*! LPI2C2 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C2_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPI2C2_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPIT1_MASK (0x10U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPIT1_SHIFT (4U) +/*! LPIT1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPIT1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPIT1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPIT1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI1_MASK (0x20U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI1_SHIFT (5U) +/*! LPSPI1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI2_MASK (0x40U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI2_SHIFT (6U) +/*! LPSPI2 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI2_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPSPI2_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPTMR1_MASK (0x80U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPTMR1_SHIFT (7U) +/*! LPTMR1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPTMR1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPTMR1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_LPTMR1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_SAI1_MASK (0x100U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_SAI1_SHIFT (8U) +/*! SAI1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_SAI1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_SAI1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_SAI1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM1_MASK (0x200U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM1_SHIFT (9U) +/*! TPM1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM2_MASK (0x400U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM2_SHIFT (10U) +/*! TPM2 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM2_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_TPM2_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG1_MASK (0x800U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG1_SHIFT (11U) +/*! WDOG1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG2_MASK (0x1000U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG2_SHIFT (12U) +/*! WDOG2 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG2_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_WDOG2_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_I3C1_MASK (0x2000U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_I3C1_SHIFT (13U) +/*! I3C1 - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_I3C1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_I3C1_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_I3C1_MASK) + +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_PDM_MASK (0x4000U) +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_PDM_SHIFT (14U) +/*! PDM - Mask bit for debug halted mode + * 0b0..Block does not enter debug halted mode with CA55 + * 0b1..Block enters debug halted mode when CA55 is debug halted + */ +#define BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_PDM(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_PDM_SHIFT)) & BLK_CTRL_NS_AONMIX_IPG_DEBUG_CA55C0_PDM_MASK) +/*! @} */ + +/*! @name LP_HANDSHAKE - LP HANDSHAKE */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_LP_HANDSHAKE_CAN1_STOP_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_LP_HANDSHAKE_CAN1_STOP_SHIFT (0U) +/*! CAN1_STOP - CAN1 STOP + * 0b0..QCHANNEL is enabled + * 0b1..QCHANNEL is disabled + */ +#define BLK_CTRL_NS_AONMIX_LP_HANDSHAKE_CAN1_STOP(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_LP_HANDSHAKE_CAN1_STOP_SHIFT)) & BLK_CTRL_NS_AONMIX_LP_HANDSHAKE_CAN1_STOP_MASK) +/*! @} */ + +/*! @name MQS_SETTINGS - MQS settings. */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_MQS_EN_MASK (0x2U) +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_MQS_EN_SHIFT (1U) +/*! MQS_EN - MQS Enable */ +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_MQS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_MQS_SETTINGS_MQS_EN_SHIFT)) & BLK_CTRL_NS_AONMIX_MQS_SETTINGS_MQS_EN_MASK) + +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_SOFT_RESET_MASK (0x4U) +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_SOFT_RESET_SHIFT (2U) +/*! SOFT_RESET - Software Reset */ +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_SOFT_RESET(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_MQS_SETTINGS_SOFT_RESET_SHIFT)) & BLK_CTRL_NS_AONMIX_MQS_SETTINGS_SOFT_RESET_MASK) + +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_OVERSAMPLE_MASK (0x8U) +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_OVERSAMPLE_SHIFT (3U) +/*! OVERSAMPLE - Oversample enable */ +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_OVERSAMPLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_MQS_SETTINGS_OVERSAMPLE_SHIFT)) & BLK_CTRL_NS_AONMIX_MQS_SETTINGS_OVERSAMPLE_MASK) + +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_CLK_DIVIDE_MASK (0xFF00U) +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_CLK_DIVIDE_SHIFT (8U) +/*! CLK_DIVIDE - Clock divide factor configuration */ +#define BLK_CTRL_NS_AONMIX_MQS_SETTINGS_CLK_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_MQS_SETTINGS_CLK_DIVIDE_SHIFT)) & BLK_CTRL_NS_AONMIX_MQS_SETTINGS_CLK_DIVIDE_MASK) +/*! @} */ + +/*! @name FUSE_ACC_DIS - Read-only version of the OCOTP fuse-access-disable bit */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_FUSE_ACC_DIS_OSCCA_FUSE_READ_DIS_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_FUSE_ACC_DIS_OSCCA_FUSE_READ_DIS_SHIFT (0U) +/*! OSCCA_FUSE_READ_DIS - OSCCA fuse read disable + * 0b0..The chip is allowed to access the OCOTP registers + * 0b1..The chip is not allowed to access the OCOTP registers + */ +#define BLK_CTRL_NS_AONMIX_FUSE_ACC_DIS_OSCCA_FUSE_READ_DIS(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_FUSE_ACC_DIS_OSCCA_FUSE_READ_DIS_SHIFT)) & BLK_CTRL_NS_AONMIX_FUSE_ACC_DIS_OSCCA_FUSE_READ_DIS_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA0 - Read-only version of OCOTP fusedata_mtr_cfg_0 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA0_OCOTP_FUSE_DATA0_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA0_OCOTP_FUSE_DATA0_SHIFT (0U) +/*! OCOTP_FUSE_DATA0 - OCOTP_FUSE_DATA0 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA0_OCOTP_FUSE_DATA0(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA0_OCOTP_FUSE_DATA0_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA0_OCOTP_FUSE_DATA0_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA1 - Read-only version of OCOTP fusedata_mtr_cfg_1 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA1_OCOTP_FUSE_DATA1_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA1_OCOTP_FUSE_DATA1_SHIFT (0U) +/*! OCOTP_FUSE_DATA1 - OCOTP_FUSE_DATA1 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA1_OCOTP_FUSE_DATA1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA1_OCOTP_FUSE_DATA1_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA1_OCOTP_FUSE_DATA1_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA2 - Read-only version of OCOTP fusedata_mtr_cfg_2 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA2_OCOTP_FUSE_DATA2_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA2_OCOTP_FUSE_DATA2_SHIFT (0U) +/*! OCOTP_FUSE_DATA2 - OCOTP_FUSE_DATA2 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA2_OCOTP_FUSE_DATA2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA2_OCOTP_FUSE_DATA2_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA2_OCOTP_FUSE_DATA2_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA3 - Read-only version of OCOTP fusedata_mtr_cfg_3 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA3_OCOTP_FUSE_DATA3_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA3_OCOTP_FUSE_DATA3_SHIFT (0U) +/*! OCOTP_FUSE_DATA3 - OCOTP_FUSE_DATA3 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA3_OCOTP_FUSE_DATA3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA3_OCOTP_FUSE_DATA3_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA3_OCOTP_FUSE_DATA3_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA4 - Read-only version of OCOTP fusedata_mtr_cfg_4 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA4_OCOTP_FUSE_DATA4_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA4_OCOTP_FUSE_DATA4_SHIFT (0U) +/*! OCOTP_FUSE_DATA4 - OCOTP_FUSE_DATA4 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA4_OCOTP_FUSE_DATA4(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA4_OCOTP_FUSE_DATA4_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA4_OCOTP_FUSE_DATA4_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA5 - Read-only version of OCOTP fusedata_mtr_cfg_5 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA5_OCOTP_FUSE_DATA5_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA5_OCOTP_FUSE_DATA5_SHIFT (0U) +/*! OCOTP_FUSE_DATA5 - OCOTP_FUSE_DATA5 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA5_OCOTP_FUSE_DATA5(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA5_OCOTP_FUSE_DATA5_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA5_OCOTP_FUSE_DATA5_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA6 - Read-only version of OCOTP fusedata_mtr_cfg_6 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA6_OCOTP_FUSE_DATA6_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA6_OCOTP_FUSE_DATA6_SHIFT (0U) +/*! OCOTP_FUSE_DATA6 - OCOTP_FUSE_DATA6 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA6_OCOTP_FUSE_DATA6(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA6_OCOTP_FUSE_DATA6_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA6_OCOTP_FUSE_DATA6_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA7 - Read-only version of OCOTP fusedata_mtr_cfg_7 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA7_OCOTP_FUSE_DATA7_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA7_OCOTP_FUSE_DATA7_SHIFT (0U) +/*! OCOTP_FUSE_DATA7 - OCOTP_FUSE_DATA7 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA7_OCOTP_FUSE_DATA7(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA7_OCOTP_FUSE_DATA7_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA7_OCOTP_FUSE_DATA7_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA8 - Read-only version of OCOTP fusedata_mem_trim_cfg0 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA8_OCOTP_FUSE_DATA8_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA8_OCOTP_FUSE_DATA8_SHIFT (0U) +/*! OCOTP_FUSE_DATA8 - OCOTP_FUSE_DATA8 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA8_OCOTP_FUSE_DATA8(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA8_OCOTP_FUSE_DATA8_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA8_OCOTP_FUSE_DATA8_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA9 - Read-only version of OCOTP fusedata_mem_trim_cfg1 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA9_OCOTP_FUSE_DATA9_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA9_OCOTP_FUSE_DATA9_SHIFT (0U) +/*! OCOTP_FUSE_DATA9 - OCOTP_FUSE_DATA9 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA9_OCOTP_FUSE_DATA9(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA9_OCOTP_FUSE_DATA9_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA9_OCOTP_FUSE_DATA9_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA10 - Read-only version of OCOTP fusedata_mem_trim_cfg2 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA10_OCOTP_FUSE_DATA10_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA10_OCOTP_FUSE_DATA10_SHIFT (0U) +/*! OCOTP_FUSE_DATA10 - OCOTP_FUSE_DATA10 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA10_OCOTP_FUSE_DATA10(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA10_OCOTP_FUSE_DATA10_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA10_OCOTP_FUSE_DATA10_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA11 - Read-only version of OCOTP fusedata_mem_trim_cfg3 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA11_OCOTP_FUSE_DATA11_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA11_OCOTP_FUSE_DATA11_SHIFT (0U) +/*! OCOTP_FUSE_DATA11 - OCOTP_FUSE_DATA12 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA11_OCOTP_FUSE_DATA11(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA11_OCOTP_FUSE_DATA11_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA11_OCOTP_FUSE_DATA11_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA12 - Read-only version of OCOTP fusedata_mem_trim_cfg4 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA12_OCOTP_FUSE_DATA12_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA12_OCOTP_FUSE_DATA12_SHIFT (0U) +/*! OCOTP_FUSE_DATA12 - OCOTP_FUSE_DATA13 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA12_OCOTP_FUSE_DATA12(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA12_OCOTP_FUSE_DATA12_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA12_OCOTP_FUSE_DATA12_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA13 - Read-only version of OCOTP fusedata_mem_trim_cfg5 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA13_OCOTP_FUSE_DATA13_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA13_OCOTP_FUSE_DATA13_SHIFT (0U) +/*! OCOTP_FUSE_DATA13 - OCOTP_FUSE_DATA13 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA13_OCOTP_FUSE_DATA13(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA13_OCOTP_FUSE_DATA13_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA13_OCOTP_FUSE_DATA13_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA14 - Read-only version of OCOTP fusedata_mem_trim_cfg6 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA14_OCOTP_FUSE_DATA14_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA14_OCOTP_FUSE_DATA14_SHIFT (0U) +/*! OCOTP_FUSE_DATA14 - OCOTP_FUSE_DATA14 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA14_OCOTP_FUSE_DATA14(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA14_OCOTP_FUSE_DATA14_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA14_OCOTP_FUSE_DATA14_MASK) +/*! @} */ + +/*! @name OCOTP_FUSE_DATA15 - Read-only version of OCOTP fusedata_mem_trim_cfg7 */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA15_OCOTP_FUSE_DATA15_MASK (0xFFFFFFFFU) +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA15_OCOTP_FUSE_DATA15_SHIFT (0U) +/*! OCOTP_FUSE_DATA15 - OCOTP_FUSE_DATA15 */ +#define BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA15_OCOTP_FUSE_DATA15(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA15_OCOTP_FUSE_DATA15_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_FUSE_DATA15_OCOTP_FUSE_DATA15_MASK) +/*! @} */ + +/*! @name I3C1_WAKEUP - I3C1 WAKEUPX CLR */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_I3C1_WAKEUP_IRQ_CLR_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_I3C1_WAKEUP_IRQ_CLR_SHIFT (0U) +/*! IRQ_CLR - I3C1 Interrupt request clear */ +#define BLK_CTRL_NS_AONMIX_I3C1_WAKEUP_IRQ_CLR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_I3C1_WAKEUP_IRQ_CLR_SHIFT)) & BLK_CTRL_NS_AONMIX_I3C1_WAKEUP_IRQ_CLR_MASK) +/*! @} */ + +/*! @name OCOTP_STATUS - OCOTP status */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_OCOTP_STATUS_BUSY_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_OCOTP_STATUS_BUSY_SHIFT (0U) +/*! BUSY - OCOTP controller busy bit + * 0b0..Idle + * 0b1..OCOTP is Busy + */ +#define BLK_CTRL_NS_AONMIX_OCOTP_STATUS_BUSY(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_OCOTP_STATUS_BUSY_SHIFT)) & BLK_CTRL_NS_AONMIX_OCOTP_STATUS_BUSY_MASK) +/*! @} */ + +/*! @name PDM_CLK_SEL - PDM clock selection register */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_PDM_CLK_SEL_SEL_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_PDM_CLK_SEL_SEL_SHIFT (0U) +/*! SEL - Select source for PDM clock + * 0b0..PDM root clock + * 0b1..SAI1_MCLK + */ +#define BLK_CTRL_NS_AONMIX_PDM_CLK_SEL_SEL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_PDM_CLK_SEL_SEL_SHIFT)) & BLK_CTRL_NS_AONMIX_PDM_CLK_SEL_SEL_MASK) +/*! @} */ + +/*! @name I3C1_SDA_IRQ - I3C1 SDA IRQ CONTROL */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_I3C1_SDA_IRQ_ENABLE_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_I3C1_SDA_IRQ_ENABLE_SHIFT (0U) +/*! ENABLE - IRQ enable bit + * 0b0..I3C1 SDA IRQ disable + * 0b1..I3C1 SDA IRQ enable + */ +#define BLK_CTRL_NS_AONMIX_I3C1_SDA_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_I3C1_SDA_IRQ_ENABLE_SHIFT)) & BLK_CTRL_NS_AONMIX_I3C1_SDA_IRQ_ENABLE_MASK) +/*! @} */ + +/*! @name FASTBOOT_ENABLE - Fastboot enable */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_FASTBOOT_ENABLE_MASK (0x3U) +#define BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_FASTBOOT_ENABLE_SHIFT (0U) +/*! FASTBOOT_ENABLE - FASTBOOT_ENABLE bits */ +#define BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_FASTBOOT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_FASTBOOT_ENABLE_SHIFT)) & BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_FASTBOOT_ENABLE_MASK) + +#define BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_BP_FASTBOOT_ENABLE_MASK (0xCU) +#define BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_BP_FASTBOOT_ENABLE_SHIFT (2U) +/*! BP_FASTBOOT_ENABLE - BP_FASTBOOT_ENABLE */ +#define BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_BP_FASTBOOT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_BP_FASTBOOT_ENABLE_SHIFT)) & BLK_CTRL_NS_AONMIX_FASTBOOT_ENABLE_BP_FASTBOOT_ENABLE_MASK) +/*! @} */ + +/*! @name EDGELOCK_FW_PRESENT - Read only Edgelock fuse */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_EDGELOCK_FW_PRESENT_EDGELOCK_FW_PRESENT_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_EDGELOCK_FW_PRESENT_EDGELOCK_FW_PRESENT_SHIFT (0U) +/*! EDGELOCK_FW_PRESENT - Read only bit for Edgelock fuse */ +#define BLK_CTRL_NS_AONMIX_EDGELOCK_FW_PRESENT_EDGELOCK_FW_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_EDGELOCK_FW_PRESENT_EDGELOCK_FW_PRESENT_SHIFT)) & BLK_CTRL_NS_AONMIX_EDGELOCK_FW_PRESENT_EDGELOCK_FW_PRESENT_MASK) +/*! @} */ + +/*! @name SSI_MASTER_AON2WKUP - low power control for SSI_MASTER_AON2WKUP */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_idle_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_idle_SHIFT (0U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_idle_SHIFT)) & BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_idle_MASK) + +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_pause_MASK (0x4U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_pause_SHIFT (2U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_pause_SHIFT)) & BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_pause_MASK) + +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_black_hole_mode_b_MASK (0x8U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_black_hole_mode_b_SHIFT (3U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_black_hole_mode_b(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_black_hole_mode_b_SHIFT)) & BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_black_hole_mode_b_MASK) + +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_power_control_MASK (0x10U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_power_control_SHIFT (4U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_power_control_SHIFT)) & BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_power_control_MASK) + +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_iso_control_MASK (0x20U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_iso_control_SHIFT (5U) +#define BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_iso_control_SHIFT)) & BLK_CTRL_NS_AONMIX_SSI_MASTER_AON2WKUP_iso_control_MASK) +/*! @} */ + +/*! @name SSI_SLV_WKUP2AON - low power control for SSI_SLV_WKUP2AON */ +/*! @{ */ + +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_idle_MASK (0x1U) +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_idle_SHIFT (0U) +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_idle_SHIFT)) & BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_idle_MASK) + +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_power_control_MASK (0x10U) +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_power_control_SHIFT (4U) +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_power_control_SHIFT)) & BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_power_control_MASK) + +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_iso_control_MASK (0x20U) +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_iso_control_SHIFT (5U) +#define BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_iso_control_SHIFT)) & BLK_CTRL_NS_AONMIX_SSI_SLV_WKUP2AON_iso_control_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group BLK_CTRL_NS_AONMIX_Register_Masks */ + + +/* BLK_CTRL_NS_AONMIX - Peripheral instance base addresses */ +/** Peripheral BLK_CTRL_NS_AONMIX1 base address */ +#define BLK_CTRL_NS_AONMIX1_BASE (0x44210000u) +/** Peripheral BLK_CTRL_NS_AONMIX1 base pointer */ +#define BLK_CTRL_NS_AONMIX1 ((BLK_CTRL_NS_AONMIX_Type *)BLK_CTRL_NS_AONMIX1_BASE) +/** Array initializer of BLK_CTRL_NS_AONMIX peripheral base addresses */ +#define BLK_CTRL_NS_AONMIX_BASE_ADDRS { BLK_CTRL_NS_AONMIX1_BASE } +/** Array initializer of BLK_CTRL_NS_AONMIX peripheral base pointers */ +#define BLK_CTRL_NS_AONMIX_BASE_PTRS { BLK_CTRL_NS_AONMIX1 } + +/*! + * @} + */ /* end of group BLK_CTRL_NS_AONMIX_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_S_AONMIX Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_S_AONMIX_Peripheral_Access_Layer BLK_CTRL_S_AONMIX Peripheral Access Layer + * @{ + */ + +/** BLK_CTRL_S_AONMIX - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[64]; + __IO uint32_t CA55_IRQ_MASK0; /**< CA55_IRQ_MASK0, offset: 0x40 */ + __IO uint32_t CA55_IRQ_MASK1; /**< CA55_IRQ_MASK1, offset: 0x44 */ + __IO uint32_t CA55_IRQ_MASK2; /**< CA55_IRQ_MASK2, offset: 0x48 */ + __IO uint32_t CA55_IRQ_MASK3; /**< CA55_IRQ_MASK3, offset: 0x4C */ + __IO uint32_t CA55_IRQ_MASK4; /**< CA55_IRQ_MASK4, offset: 0x50 */ + __IO uint32_t CA55_IRQ_MASK5; /**< CA55_IRQ_MASK5, offset: 0x54 */ + __IO uint32_t CA55_IRQ_MASK6; /**< CA55_IRQ_MASK6, offset: 0x58 */ + uint8_t RESERVED_1[164]; + __IO uint32_t DAP_ACCESS_STKYBIT; /**< Dap Access Sticky Bit, offset: 0x100 */ + uint8_t RESERVED_2[12]; + __IO uint32_t LP_HANDSHAKE; /**< Low power handshake enable, offset: 0x110 */ + __IO uint32_t LP_HANDSHAKE2; /**< Low power handshake enable, offset: 0x114 */ + __IO uint32_t CA55_CPUWAIT; /**< CPUWAIT settings for CA55 CPU, offset: 0x118 */ + __IO uint32_t CA55_RVBARADDR0_L; /**< CA55_RVBARADDR0_L, offset: 0x11C */ + __IO uint32_t CA55_RVBARADDR0_H; /**< CA55_RVBARADDR0_H, offset: 0x120 */ + uint8_t RESERVED_3[8]; + __IO uint32_t ELE_IRQ_MASK; /**< Mask bits of Edgelock interrupt, offset: 0x12C */ + __IO uint32_t ELE_RESET_REQ_MASK; /**< Mask bits of ELE reset, offset: 0x130 */ + __IO uint32_t ELE_HALT_ST; /**< ELE halt status, offset: 0x134 */ + __IO uint32_t CA55_MODE; /**< Control the boot mode of two ca55 cores, offset: 0x138 */ + uint8_t RESERVED_4[8]; + __IO uint32_t WDOG_ANY_MASK; /**< WDOG any mask, offset: 0x144 */ + __IO uint32_t ELEV1_IPI_NOCLK_REF1; /**< ELEV1_IPI_NOCLK_REF1 clear, offset: 0x148 */ + __IO uint32_t L2_OCRAM_STICKY; /**< L2 ocram enable bit, offset: 0x14C */ +} BLK_CTRL_S_AONMIX_Type; + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_S_AONMIX Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_S_AONMIX_Register_Masks BLK_CTRL_S_AONMIX Register Masks + * @{ + */ + +/*! @name CA55_IRQ_MASK0 - CA55_IRQ_MASK0 */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK0_M_MASK (0xFFFFFFFFU) +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK0_M_SHIFT (0U) +/*! M - CA55 IRQ MASK + * 0b00000000000000000000000000000000..IRQ masked + * 0b00000000000000000000000000000001..IRQ not masked + */ +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK0_M(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_IRQ_MASK0_M_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_IRQ_MASK0_M_MASK) +/*! @} */ + +/*! @name CA55_IRQ_MASK1 - CA55_IRQ_MASK1 */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK1_M_MASK (0xFFFFFFFFU) +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK1_M_SHIFT (0U) +/*! M - CA55 IRQ MASK + * 0b00000000000000000000000000000000..IRQ masked + * 0b00000000000000000000000000000001..IRQ not masked + */ +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK1_M(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_IRQ_MASK1_M_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_IRQ_MASK1_M_MASK) +/*! @} */ + +/*! @name CA55_IRQ_MASK2 - CA55_IRQ_MASK2 */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK2_M_MASK (0xFFFFFFFFU) +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK2_M_SHIFT (0U) +/*! M - CA55 IRQ MASK + * 0b00000000000000000000000000000000..IRQ masked + * 0b00000000000000000000000000000001..IRQ not masked + */ +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK2_M(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_IRQ_MASK2_M_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_IRQ_MASK2_M_MASK) +/*! @} */ + +/*! @name CA55_IRQ_MASK3 - CA55_IRQ_MASK3 */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK3_M_MASK (0xFFFFFFFFU) +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK3_M_SHIFT (0U) +/*! M - CA55 IRQ MASK + * 0b00000000000000000000000000000000..IRQ masked + * 0b00000000000000000000000000000001..IRQ not masked + */ +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK3_M(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_IRQ_MASK3_M_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_IRQ_MASK3_M_MASK) +/*! @} */ + +/*! @name CA55_IRQ_MASK4 - CA55_IRQ_MASK4 */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK4_M_MASK (0xFFFFFFFFU) +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK4_M_SHIFT (0U) +/*! M - CA55 IRQ MASK + * 0b00000000000000000000000000000000..IRQ masked + * 0b00000000000000000000000000000001..IRQ not masked + */ +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK4_M(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_IRQ_MASK4_M_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_IRQ_MASK4_M_MASK) +/*! @} */ + +/*! @name CA55_IRQ_MASK5 - CA55_IRQ_MASK5 */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK5_M_MASK (0xFFFFFFFFU) +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK5_M_SHIFT (0U) +/*! M - CA55 IRQ MASK + * 0b00000000000000000000000000000000..IRQ masked + * 0b00000000000000000000000000000001..IRQ not masked + */ +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK5_M(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_IRQ_MASK5_M_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_IRQ_MASK5_M_MASK) +/*! @} */ + +/*! @name CA55_IRQ_MASK6 - CA55_IRQ_MASK6 */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK6_M_MASK (0xFFFFFFFFU) +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK6_M_SHIFT (0U) +/*! M - CA55 IRQ MASK + * 0b00000000000000000000000000000000..IRQ masked + * 0b00000000000000000000000000000001..IRQ not masked + */ +#define BLK_CTRL_S_AONMIX_CA55_IRQ_MASK6_M(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_IRQ_MASK6_M_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_IRQ_MASK6_M_MASK) +/*! @} */ + +/*! @name DAP_ACCESS_STKYBIT - Dap Access Sticky Bit */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_DAP_ACCESS_STKYBIT_A55_MASK (0x2U) +#define BLK_CTRL_S_AONMIX_DAP_ACCESS_STKYBIT_A55_SHIFT (1U) +/*! A55 - A55 DAP_ACCESS_STKYBIT + * 0b0..A55 core can be accessed by DAP + * 0b1..A55 core cannot be accessed by DAPCore0 works normally + */ +#define BLK_CTRL_S_AONMIX_DAP_ACCESS_STKYBIT_A55(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_DAP_ACCESS_STKYBIT_A55_SHIFT)) & BLK_CTRL_S_AONMIX_DAP_ACCESS_STKYBIT_A55_MASK) +/*! @} */ + +/*! @name LP_HANDSHAKE - Low power handshake enable */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_COLD_RST_HS_EN_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_COLD_RST_HS_EN_SHIFT (0U) +/*! CA55_CPU0_COLD_RST_HS_EN - CA55_CPU0 cold reset handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_COLD_RST_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_COLD_RST_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_COLD_RST_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_LP_HS_EN_MASK (0x2U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_LP_HS_EN_SHIFT (1U) +/*! CA55_CPU0_LP_HS_EN - CA55_CPU0 low power handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_LP_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_LP_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU0_LP_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_COLD_RST_HS_EN_MASK (0x4U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_COLD_RST_HS_EN_SHIFT (2U) +/*! CA55_CPU1_COLD_RST_HS_EN - CA55_CPU1 cold reset handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_COLD_RST_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_COLD_RST_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_COLD_RST_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_LP_HS_EN_MASK (0x8U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_LP_HS_EN_SHIFT (3U) +/*! CA55_CPU1_LP_HS_EN - CA55_CPU1 low power handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_LP_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_LP_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_CPU1_LP_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_COLD_RST_HS_EN_MASK (0x10U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_COLD_RST_HS_EN_SHIFT (4U) +/*! CA55_PLT_COLD_RST_HS_EN - CA55 platform cold reset handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_COLD_RST_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_COLD_RST_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_COLD_RST_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_LP_HS_EN_MASK (0x20U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_LP_HS_EN_SHIFT (5U) +/*! CA55_PLT_LP_HS_EN - CA55 platform cold reset handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_LP_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_LP_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_CA55_PLT_LP_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AONMIX_COLD_RST_HS_EN_MASK (0x80U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AONMIX_COLD_RST_HS_EN_SHIFT (7U) +/*! AONMIX_COLD_RST_HS_EN - AONMIX cold reset handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AONMIX_COLD_RST_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AONMIX_COLD_RST_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AONMIX_COLD_RST_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_COLD_RST_HS_EN_MASK (0x100U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_COLD_RST_HS_EN_SHIFT (8U) +/*! WAKEUPMIX_COLD_RST_HS_EN - WAKEUPMIX cold reset handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_COLD_RST_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_COLD_RST_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_COLD_RST_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_LP_HS_EN_MASK (0x200U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_LP_HS_EN_SHIFT (9U) +/*! WAKEUPMIX_LP_HS_EN - WAKEUPMIX low power handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_LP_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_LP_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_LP_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_COLD_RST_HS_EN_MASK (0x400U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_COLD_RST_HS_EN_SHIFT (10U) +/*! NICMIX_COLD_RST_HS_EN - NICMIX cold reset handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_COLD_RST_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_COLD_RST_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_COLD_RST_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_LP_HS_EN_MASK (0x800U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_LP_HS_EN_SHIFT (11U) +/*! NICMIX_LP_HS_EN - NICMIX low power handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_LP_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_LP_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NICMIX_LP_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_COLD_RST_HS_EN_MASK (0x1000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_COLD_RST_HS_EN_SHIFT (12U) +/*! MEDIAMIX_COLD_RST_HS_EN - MEDIAMIX cold reset handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_COLD_RST_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_COLD_RST_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_COLD_RST_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_LP_HS_EN_MASK (0x2000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_LP_HS_EN_SHIFT (13U) +/*! MEDIAMIX_LP_HS_EN - MEDIAMIX low power handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_LP_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_LP_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_MEDIAMIX_LP_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_HSIOMIX_COLD_RST_HS_EN_MASK (0x4000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_HSIOMIX_COLD_RST_HS_EN_SHIFT (14U) +/*! HSIOMIX_COLD_RST_HS_EN - HSIOMIX cold reset handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_HSIOMIX_COLD_RST_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_HSIOMIX_COLD_RST_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_HSIOMIX_COLD_RST_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AON_TRDC_CLK_OFF_HS_EN_MASK (0x8000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AON_TRDC_CLK_OFF_HS_EN_SHIFT (15U) +/*! AON_TRDC_CLK_OFF_HS_EN - AON TRDC clock off handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AON_TRDC_CLK_OFF_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AON_TRDC_CLK_OFF_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_AON_TRDC_CLK_OFF_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUP_TRDC_CLK_OFF_HS_EN_MASK (0x10000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUP_TRDC_CLK_OFF_HS_EN_SHIFT (16U) +/*! WAKEUP_TRDC_CLK_OFF_HS_EN - WAKEUP TRDC clock off handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUP_TRDC_CLK_OFF_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUP_TRDC_CLK_OFF_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUP_TRDC_CLK_OFF_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_OFF_HS_EN_MASK (0x20000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_OFF_HS_EN_SHIFT (17U) +/*! FLEXSPI_CLK_OFF_HS_EN - FLEXSPI clock off handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_OFF_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_OFF_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_OFF_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_OFF_HS_EN_MASK (0x40000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_OFF_HS_EN_SHIFT (18U) +/*! NIC_APB_CLK_OFF_HS_EN - NIC_APB clock off handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_OFF_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_OFF_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_OFF_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_OFF_HS_EN_MASK (0x80000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_OFF_HS_EN_SHIFT (19U) +/*! NIC_MEDIA_CLK_OFF_HS_EN - NIC_MEDIA clock off handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_OFF_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_OFF_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_OFF_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_OFF_HS_EN_MASK (0x100000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_OFF_HS_EN_SHIFT (20U) +/*! USB_CLK_OFF_HS_EN - USB_CLK clock off handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_OFF_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_OFF_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_OFF_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_OFF_HS_EN_MASK (0x400000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_OFF_HS_EN_SHIFT (22U) +/*! A55_CLK_OFF_HS_EN - A55_CLK clock off handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_OFF_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_OFF_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_OFF_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_OFF_HS_EN_MASK (0x800000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_OFF_HS_EN_SHIFT (23U) +/*! ELE_CLK_OFF_HS_EN - Edgelock Enclave clock off handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_OFF_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_OFF_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_OFF_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_ON_HS_EN_MASK (0x1000000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_ON_HS_EN_SHIFT (24U) +/*! ELE_CLK_ON_HS_EN - Edgelock Enclave clock on handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_ON_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_ON_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_ELE_CLK_ON_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_ON_HS_EN_MASK (0x2000000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_ON_HS_EN_SHIFT (25U) +/*! A55_CLK_ON_HS_EN - A55 clock on handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_ON_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_ON_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_A55_CLK_ON_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_ON_HS_EN_MASK (0x8000000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_ON_HS_EN_SHIFT (27U) +/*! USB_CLK_ON_HS_EN - USB Controller clock on handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_ON_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_ON_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_USB_CLK_ON_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_ON_HS_EN_MASK (0x10000000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_ON_HS_EN_SHIFT (28U) +/*! NIC_MEDIA_CLK_ON_HS_EN - NIC_MEDIA clock on handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_ON_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_ON_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_MEDIA_CLK_ON_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_ON_HS_EN_MASK (0x20000000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_ON_HS_EN_SHIFT (29U) +/*! NIC_APB_CLK_ON_HS_EN - NIC_APB clock on handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_ON_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_ON_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_NIC_APB_CLK_ON_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_ON_HS_EN_MASK (0x40000000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_ON_HS_EN_SHIFT (30U) +/*! FLEXSPI_CLK_ON_HS_EN - FLEXSPI clock on handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_ON_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_ON_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_FLEXSPI_CLK_ON_HS_EN_MASK) + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_TRDC_CLK_ON_HS_EN_MASK (0x80000000U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_TRDC_CLK_ON_HS_EN_SHIFT (31U) +/*! WAKEUPMIX_TRDC_CLK_ON_HS_EN - WAKEUPMIX_TRDC clock on handshake enable */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_TRDC_CLK_ON_HS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_TRDC_CLK_ON_HS_EN_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE_WAKEUPMIX_TRDC_CLK_ON_HS_EN_MASK) +/*! @} */ + +/*! @name LP_HANDSHAKE2 - Low power handshake enable */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE2_ENABLE_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE2_ENABLE_SHIFT (0U) +/*! ENABLE - AONMIX TRDC clock on handshake enable + * 0b0..Disable + * 0b1..Enable + */ +#define BLK_CTRL_S_AONMIX_LP_HANDSHAKE2_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_LP_HANDSHAKE2_ENABLE_SHIFT)) & BLK_CTRL_S_AONMIX_LP_HANDSHAKE2_ENABLE_MASK) +/*! @} */ + +/*! @name CA55_CPUWAIT - CPUWAIT settings for CA55 CPU */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU0_WAIT_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU0_WAIT_SHIFT (0U) +/*! CPU0_WAIT - CPU0_WAIT + * 0b0..Core0 works normally + * 0b1..Core0 stops working + */ +#define BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU0_WAIT_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU0_WAIT_MASK) + +#define BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU1_WAIT_MASK (0x2U) +#define BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU1_WAIT_SHIFT (1U) +/*! CPU1_WAIT - CPU1_WAIT + * 0b0..Core1 works normally + * 0b1..Core1 stops working + */ +#define BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU1_WAIT_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_CPUWAIT_CPU1_WAIT_MASK) +/*! @} */ + +/*! @name CA55_RVBARADDR0_L - CA55_RVBARADDR0_L */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_L_ADDR0_L_MASK (0xFFFFFFFFU) +#define BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_L_ADDR0_L_SHIFT (0U) +#define BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_L_ADDR0_L(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_L_ADDR0_L_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_L_ADDR0_L_MASK) +/*! @} */ + +/*! @name CA55_RVBARADDR0_H - CA55_RVBARADDR0_H */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_H_ADDR0_H_MASK (0x3FU) +#define BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_H_ADDR0_H_SHIFT (0U) +#define BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_H_ADDR0_H(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_H_ADDR0_H_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_RVBARADDR0_H_ADDR0_H_MASK) +/*! @} */ + +/*! @name ELE_IRQ_MASK - Mask bits of Edgelock interrupt */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF2_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF2_SHIFT (0U) +/*! NOCLK_REF2 - No Clock Reference 2 + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF2_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF2_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF1_MASK (0x2U) +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF1_SHIFT (1U) +/*! NOCLK_REF1 - No Clock Reference 1 + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF1_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_REF1_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_32K_RESET_REQ_MASK (0x4U) +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_32K_RESET_REQ_SHIFT (2U) +/*! LMDA_32K_RESET_REQ - Request Edgelock reset from 32 KHz clock domain, active low, interrupt request */ +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_32K_RESET_REQ(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_32K_RESET_REQ_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_32K_RESET_REQ_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_RESET_REQ_MASK (0x8U) +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_RESET_REQ_SHIFT (3U) +/*! LMDA_RESET_REQ - Request Edgelock reset, active low, interrupt request + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_RESET_REQ(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_RESET_REQ_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_RESET_REQ_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_32K_MASK (0x10U) +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_32K_SHIFT (4U) +/*! NOCLK_32K - Edgelock FDET clock not detected interrupt mask */ +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_32K(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_32K_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_NOCLK_32K_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_SYS_FAIL_MASK (0x20U) +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_SYS_FAIL_SHIFT (5U) +/*! LMDA_SYS_FAIL - System failure, reset chip or Edgelock + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_SYS_FAIL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_SYS_FAIL_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LMDA_SYS_FAIL_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LC_BRICKED_MASK (0x40U) +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LC_BRICKED_SHIFT (6U) +/*! LC_BRICKED - LMDA lifecycle is bricked state */ +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LC_BRICKED(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LC_BRICKED_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_LC_BRICKED_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_WDG_RESET_MASK (0x100U) +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_WDG_RESET_SHIFT (8U) +/*! WDG_RESET - Watchdog reset request */ +#define BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_WDG_RESET(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_WDG_RESET_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_IRQ_MASK_WDG_RESET_MASK) +/*! @} */ + +/*! @name ELE_RESET_REQ_MASK - Mask bits of ELE reset */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF2_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF2_SHIFT (0U) +/*! NOCLK_REF2 - No Clock Reference 2 + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF2_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF2_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF1_MASK (0x2U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF1_SHIFT (1U) +/*! NOCLK_REF1 - No Clock Reference 1 */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF1_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_REF1_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_32K_RESET_REQ_MASK (0x4U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_32K_RESET_REQ_SHIFT (2U) +/*! LMDA_32K_RESET_REQ - Request Edgelock reset from 32 KHz clock domain, active low, interrupt request + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_32K_RESET_REQ(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_32K_RESET_REQ_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_32K_RESET_REQ_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_RESET_REQ_MASK (0x8U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_RESET_REQ_SHIFT (3U) +/*! LMDA_RESET_REQ - Request Edgelock reset, active low, interrupt request + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_RESET_REQ(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_RESET_REQ_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_RESET_REQ_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_32K_MASK (0x10U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_32K_SHIFT (4U) +/*! NOCLK_32K - Edgelock FDET clock not detected interrupt mask */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_32K(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_32K_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_NOCLK_32K_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_SYS_FAIL_MASK (0x20U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_SYS_FAIL_SHIFT (5U) +/*! LMDA_SYS_FAIL - System failure, reset chip or Edgelock + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_SYS_FAIL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_SYS_FAIL_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LMDA_SYS_FAIL_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LC_BRICKED_MASK (0x40U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LC_BRICKED_SHIFT (6U) +/*! LC_BRICKED - LMDA lifecycle is bricked state */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LC_BRICKED(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LC_BRICKED_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_LC_BRICKED_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_PUF_RESET_MASK (0x80U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_PUF_RESET_SHIFT (7U) +/*! PUF_RESET - PUF reset request + * 0b0..Mask interrupt + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_PUF_RESET(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_PUF_RESET_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_PUF_RESET_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_WDG_RESET_MASK (0x100U) +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_WDG_RESET_SHIFT (8U) +/*! WDG_RESET - Watchdog reset request */ +#define BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_WDG_RESET(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_WDG_RESET_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_RESET_REQ_MASK_WDG_RESET_MASK) +/*! @} */ + +/*! @name ELE_HALT_ST - ELE halt status */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_ACK_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_ACK_SHIFT (0U) +/*! ELE_HALT_ACK - EdgeLock halt and clock status + * 0b0..EdgeLock is not fully halted and its clocks must be enabled + * 0b0..Mask interrupt + * 0b1..EdgeLock is fully halted indicating clocks may be removed + * 0b1..Unmask interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_ACK(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_ACK_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_ACK_MASK) + +#define BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_EXIT_IRQ_CLR_MASK (0x100U) +#define BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_EXIT_IRQ_CLR_SHIFT (8U) +/*! ELE_HALT_EXIT_IRQ_CLR - EdgeLock halt exit interrupt clear + * 0b0..Remove the clear signal. This bit is not self-clearing and need SW to clear. + * 0b1..Clear EdgeLock halt exit interrupt + */ +#define BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_EXIT_IRQ_CLR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_EXIT_IRQ_CLR_SHIFT)) & BLK_CTRL_S_AONMIX_ELE_HALT_ST_ELE_HALT_EXIT_IRQ_CLR_MASK) +/*! @} */ + +/*! @name CA55_MODE - Control the boot mode of two ca55 cores */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_CA55_MODE_AA64NAA32_MASK (0x3U) +#define BLK_CTRL_S_AONMIX_CA55_MODE_AA64NAA32_SHIFT (0U) +/*! AA64NAA32 - Core0 initial mode control + * 0b00..State after reset is aarch32 + * 0b01..State after reset is aarch64 + */ +#define BLK_CTRL_S_AONMIX_CA55_MODE_AA64NAA32(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_CA55_MODE_AA64NAA32_SHIFT)) & BLK_CTRL_S_AONMIX_CA55_MODE_AA64NAA32_MASK) +/*! @} */ + +/*! @name WDOG_ANY_MASK - WDOG any mask */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG1_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG1_SHIFT (0U) +/*! WDOG1 - WDOG1 to WDOG_ANY mask + * 0b0..DISABLE + * 0b1..ENABLE + */ +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG1_SHIFT)) & BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG1_MASK) + +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG2_MASK (0x2U) +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG2_SHIFT (1U) +/*! WDOG2 - WDOG2 to WDOG_ANY mask + * 0b0..DISABLE + * 0b1..ENABLE + */ +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG2_SHIFT)) & BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG2_MASK) + +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG3_MASK (0x4U) +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG3_SHIFT (2U) +/*! WDOG3 - WDOG3 to WDOG_ANY mask + * 0b0..DISABLE + * 0b1..ENABLE + */ +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG3_SHIFT)) & BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG3_MASK) + +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG4_MASK (0x8U) +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG4_SHIFT (3U) +/*! WDOG4 - WDOG4 to WDOG_ANY mask + * 0b0..DISABLE + * 0b1..ENABLE + */ +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG4(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG4_SHIFT)) & BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG4_MASK) + +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG5_MASK (0x10U) +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG5_SHIFT (4U) +/*! WDOG5 - WDOG5 to WDOG_ANY mask + * 0b0..DISABLE + * 0b1..ENABLE + */ +#define BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG5(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG5_SHIFT)) & BLK_CTRL_S_AONMIX_WDOG_ANY_MASK_WDOG5_MASK) +/*! @} */ + +/*! @name ELEV1_IPI_NOCLK_REF1 - ELEV1_IPI_NOCLK_REF1 clear */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_ELEV1_IPI_NOCLK_REF1_SLOW_CLEAR_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_ELEV1_IPI_NOCLK_REF1_SLOW_CLEAR_SHIFT (0U) +/*! SLOW_CLEAR - Interrupt clear + * 0b0..Interrupt not cleared + * 0b1..Interrupt cleared + */ +#define BLK_CTRL_S_AONMIX_ELEV1_IPI_NOCLK_REF1_SLOW_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_ELEV1_IPI_NOCLK_REF1_SLOW_CLEAR_SHIFT)) & BLK_CTRL_S_AONMIX_ELEV1_IPI_NOCLK_REF1_SLOW_CLEAR_MASK) +/*! @} */ + +/*! @name L2_OCRAM_STICKY - L2 ocram enable bit */ +/*! @{ */ + +#define BLK_CTRL_S_AONMIX_L2_OCRAM_STICKY_OCRAM_EN_MASK (0x1U) +#define BLK_CTRL_S_AONMIX_L2_OCRAM_STICKY_OCRAM_EN_SHIFT (0U) +/*! OCRAM_EN - L2 cache as ocram enable bit + * 0b0..L2 cache used as OCRAM once written to 0, cannot be written to 1 again unless reset + * 0b1..L2 cache used as OCRAM + */ +#define BLK_CTRL_S_AONMIX_L2_OCRAM_STICKY_OCRAM_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_S_AONMIX_L2_OCRAM_STICKY_OCRAM_EN_SHIFT)) & BLK_CTRL_S_AONMIX_L2_OCRAM_STICKY_OCRAM_EN_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group BLK_CTRL_S_AONMIX_Register_Masks */ + + +/* BLK_CTRL_S_AONMIX - Peripheral instance base addresses */ +/** Peripheral BLK_CTRL_S_AONMIX2 base address */ +#define BLK_CTRL_S_AONMIX2_BASE (0x444F0000u) +/** Peripheral BLK_CTRL_S_AONMIX2 base pointer */ +#define BLK_CTRL_S_AONMIX2 ((BLK_CTRL_S_AONMIX_Type *)BLK_CTRL_S_AONMIX2_BASE) +/** Array initializer of BLK_CTRL_S_AONMIX peripheral base addresses */ +#define BLK_CTRL_S_AONMIX_BASE_ADDRS { BLK_CTRL_S_AONMIX2_BASE } +/** Array initializer of BLK_CTRL_S_AONMIX peripheral base pointers */ +#define BLK_CTRL_S_AONMIX_BASE_PTRS { BLK_CTRL_S_AONMIX2 } + +/*! + * @} + */ /* end of group BLK_CTRL_S_AONMIX_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_WAKEUPMIX Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_WAKEUPMIX_Peripheral_Access_Layer BLK_CTRL_WAKEUPMIX Peripheral Access Layer + * @{ + */ + +/** BLK_CTRL_WAKEUPMIX - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[12]; + __IO uint32_t LP_HANDSHAKE; /**< CAN2 and ENET2 low power handshake bits, offset: 0xC */ + uint8_t RESERVED_1[16]; + __IO uint32_t MQS_SETTING; /**< MQS Settings for MQS2, offset: 0x20 */ + __IO uint32_t SAI_CLK_SEL; /**< SAI2 and SAI3 MCLK1~3 CLK root mux settings, offset: 0x24 */ + __IO uint32_t GPR; /**< ENET QOS control signals, offset: 0x28 */ + __IO uint32_t ENET_CLK_SEL; /**< ENET CLK direction selection, offset: 0x2C */ + uint8_t RESERVED_2[4]; + __I uint32_t VOLT_DETECT; /**< Voltage detectors output, offset: 0x34 */ + __IO uint32_t I3C2_WAKEUP; /**< I3C2 WAKEUPX CLR, offset: 0x38 */ + __IO uint32_t IPG_DEBUG_CA55C0; /**< IPG DEBUG mask bit for CA55 core0, offset: 0x3C */ + uint8_t RESERVED_3[4]; + __IO uint32_t AXI_ATTR_CFG; /**< AXI CACHE OVERRITE BIT, offset: 0x44 */ + __IO uint32_t I3C2_SDA_IRQ; /**< I3C SDA IRQ Control, offset: 0x48 */ + uint8_t RESERVED_4[4]; + __IO uint32_t SSI_MST_WKUP2AON; /**< Low power control for SSI_MST_WKUP2AON, offset: 0x50 */ + __IO uint32_t SSI_MST_WKUP2NIC; /**< Low power control for SSI_MST_WKUP2NIC, offset: 0x54 */ + __IO uint32_t SSI_SLV_AON2WKUP; /**< Low power control for SSI_SLV_AON2WKUP, offset: 0x58 */ + __IO uint32_t SSI_SLV_NIC2WKUP; /**< Low power control for SSI_SLV_NIC2WKUP, offset: 0x5C */ +} BLK_CTRL_WAKEUPMIX_Type; + +/* ---------------------------------------------------------------------------- + -- BLK_CTRL_WAKEUPMIX Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup BLK_CTRL_WAKEUPMIX_Register_Masks BLK_CTRL_WAKEUPMIX Register Masks + * @{ + */ + +/*! @name LP_HANDSHAKE - CAN2 and ENET2 low power handshake bits */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_ACK_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_ACK_SHIFT (0U) +/*! ENET2_STOP_ACK - ENET1_STOP_ACK */ +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_ACK_SHIFT)) & BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_ACK_MASK) + +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_MASK (0x2U) +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_SHIFT (1U) +/*! ENET2_STOP - ENET1_STOP */ +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_SHIFT)) & BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_ENET2_STOP_MASK) + +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_CAN2_STOP_MASK (0x4U) +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_CAN2_STOP_SHIFT (2U) +/*! CAN2_STOP - CAN2_STOP */ +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_CAN2_STOP(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_CAN2_STOP_SHIFT)) & BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_CAN2_STOP_MASK) + +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_DUMMY_MASK (0x3F8U) +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_DUMMY_SHIFT (3U) +/*! DUMMY - DUMMY + * 0b0000000..Module does not enter debug halted mode with CM33 + * 0b0000001..Module enters debug halted mode when CM33 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_DUMMY(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_DUMMY_SHIFT)) & BLK_CTRL_WAKEUPMIX_LP_HANDSHAKE_DUMMY_MASK) +/*! @} */ + +/*! @name MQS_SETTING - MQS Settings for MQS2 */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_SAI_SEL_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_SAI_SEL_SHIFT (0U) +/*! SAI_SEL - SAI select + * 0b0..SAI2 + * 0b1..SAI3 + */ +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_SAI_SEL(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_MQS_SETTING_SAI_SEL_SHIFT)) & BLK_CTRL_WAKEUPMIX_MQS_SETTING_SAI_SEL_MASK) + +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_MQS_EN_MASK (0x2U) +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_MQS_EN_SHIFT (1U) +/*! MQS_EN - MQS Enable + * 0b0..MQS2 is disabled + * 0b1..MQS2 is enabled + */ +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_MQS_EN(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_MQS_SETTING_MQS_EN_SHIFT)) & BLK_CTRL_WAKEUPMIX_MQS_SETTING_MQS_EN_MASK) + +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_SOFT_RESET_MASK (0x4U) +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_SOFT_RESET_SHIFT (2U) +/*! SOFT_RESET - Software Reset + * 0b0..Reset is enabled + * 0b1..Reset is disabled + */ +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_SOFT_RESET(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_MQS_SETTING_SOFT_RESET_SHIFT)) & BLK_CTRL_WAKEUPMIX_MQS_SETTING_SOFT_RESET_MASK) + +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_OVERSAMPLE_MASK (0x8U) +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_OVERSAMPLE_SHIFT (3U) +/*! OVERSAMPLE - Oversample enable + * 0b0..32 + * 0b1..64 + */ +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_OVERSAMPLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_MQS_SETTING_OVERSAMPLE_SHIFT)) & BLK_CTRL_WAKEUPMIX_MQS_SETTING_OVERSAMPLE_MASK) + +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_CLK_DIVIDE_MASK (0xFF00U) +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_CLK_DIVIDE_SHIFT (8U) +/*! CLK_DIVIDE - Clock divide factor configuration + * 0b00000000..hmclk frequency + * 0b00000001..hmclk frequency x 1/2 + * 0b00000010..hmclk frequency x 1/3 + * 0b00000011..hmclk frequency x 1/4 + * 0b00000100-0b11111111..mclk frequency = hmclk frequency x 1/(n+1) + */ +#define BLK_CTRL_WAKEUPMIX_MQS_SETTING_CLK_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_MQS_SETTING_CLK_DIVIDE_SHIFT)) & BLK_CTRL_WAKEUPMIX_MQS_SETTING_CLK_DIVIDE_MASK) +/*! @} */ + +/*! @name SAI_CLK_SEL - SAI2 and SAI3 MCLK1~3 CLK root mux settings */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK1_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK1_SHIFT (0U) +/*! SAI2_MCLK1 - SAI2 MCLK1 clock source selection + * 0b0..SAI2 CLK_ROOT from CCM + * 0b1..SAI2 MCLK + */ +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK1_SHIFT)) & BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK1_MASK) + +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK2_MASK (0xEU) +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK2_SHIFT (1U) +/*! SAI2_MCLK2 - SAI2 MCLK2 clock source selection + * 0b000..SAI1 CLK ROOT from CCM + * 0b001..SAI2 CLK ROOT from CCM + * 0b010..SAI3 CLK ROOT from CCM + * 0b011..SAI1_MCLK from IOMUX + * 0b100..SAI2_MCLK from IOMUX + * 0b101..SAI3_MCLK from IOMUX + * 0b110..SPDIF CLK ROOT from CCM + * 0b111..SPDIF RX clock + */ +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK2_SHIFT)) & BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK2_MASK) + +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK3_MASK (0x70U) +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK3_SHIFT (4U) +/*! SAI2_MCLK3 - SAI2 MCLK3 clock source selection + * 0b000..SAI1 CLK ROOT from CCM + * 0b001..SAI2 CLK ROOT from CCM + * 0b010..SAI3 CLK ROOT from CCM + * 0b011..SAI1_MCLK from IOMUX + * 0b100..SAI2_MCLK from IOMUX + * 0b101..SAI3_MCLK from IOMUX + * 0b110..SPDIF CLK ROOT from CCM + * 0b111..SPDIF RX clock + */ +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK3_SHIFT)) & BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI2_MCLK3_MASK) + +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK1_MASK (0x10000U) +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK1_SHIFT (16U) +/*! SAI3_MCLK1 - SAI3 MCLK1 clock source selection + * 0b0..SAI3 CLK_ROOT from CCM + * 0b1..SAI3 MCLK + */ +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK1_SHIFT)) & BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK1_MASK) + +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK2_MASK (0xE0000U) +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK2_SHIFT (17U) +/*! SAI3_MCLK2 - SAI2 MCLK2 clock source selection + * 0b000..SAI1 CLK ROOT from CCM + * 0b001..SAI2 CLK ROOT from CCM + * 0b010..SAI3 CLK ROOT from CCM + * 0b011..SAI1_MCLK from IOMUX + * 0b100..SAI2_MCLK from IOMUX + * 0b101..SAI3_MCLK from IOMUX + * 0b110..SPDIF CLK ROOT from CCM + * 0b111..SPDIF RX clock + */ +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK2_SHIFT)) & BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK2_MASK) + +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK3_MASK (0x700000U) +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK3_SHIFT (20U) +/*! SAI3_MCLK3 - SAI3 MCLK3 clock source selection + * 0b000..SAI1 CLK ROOT from CCM + * 0b001..SAI2 CLK ROOT from CCM + * 0b010..SAI3 CLK ROOT from CCM + * 0b011..SAI1_MCLK from IOMUX + * 0b100..SAI2_MCLK from IOMUX + * 0b101..SAI3_MCLK from IOMUX + * 0b110..SPDIF CLK ROOT from CCM + * 0b111..SPDIF RX clock + */ +#define BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK3_SHIFT)) & BLK_CTRL_WAKEUPMIX_SAI_CLK_SEL_SAI3_MCLK3_MASK) +/*! @} */ + +/*! @name GPR - ENET QOS control signals */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_GPR_ENABLE_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_GPR_ENABLE_SHIFT (0U) +/*! ENABLE - ENET QOS enable + * 0b0..ENET QoS is disabled + * 0b1..ENET QoS is enabled + */ +#define BLK_CTRL_WAKEUPMIX_GPR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_GPR_ENABLE_SHIFT)) & BLK_CTRL_WAKEUPMIX_GPR_ENABLE_MASK) + +#define BLK_CTRL_WAKEUPMIX_GPR_MODE_MASK (0xEU) +#define BLK_CTRL_WAKEUPMIX_GPR_MODE_SHIFT (1U) +/*! MODE - ENET QOS mode selection + * 0b000..MII mode is selected + * 0b001..RGMII mode is selected + * 0b100..RMII mode is selected + */ +#define BLK_CTRL_WAKEUPMIX_GPR_MODE(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_GPR_MODE_SHIFT)) & BLK_CTRL_WAKEUPMIX_GPR_MODE_MASK) + +#define BLK_CTRL_WAKEUPMIX_GPR_DIS_CRC_CHK_MASK (0x10U) +#define BLK_CTRL_WAKEUPMIX_GPR_DIS_CRC_CHK_SHIFT (4U) +/*! DIS_CRC_CHK - Disable ENET QoS CRC check + * 0b0..CRC check is disabled + * 0b1..CRC check is enabled + */ +#define BLK_CTRL_WAKEUPMIX_GPR_DIS_CRC_CHK(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_GPR_DIS_CRC_CHK_SHIFT)) & BLK_CTRL_WAKEUPMIX_GPR_DIS_CRC_CHK_MASK) +/*! @} */ + +/*! @name ENET_CLK_SEL - ENET CLK direction selection */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet1_clk_tx_clk_sel_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet1_clk_tx_clk_sel_SHIFT (0U) +/*! enet1_clk_tx_clk_sel - Direction of TX_CLK of ENET QOS + * 0b0..ENET QOS TX CLK is Input + * 0b1..ENET QOS TX CLK is Output + */ +#define BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet1_clk_tx_clk_sel(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet1_clk_tx_clk_sel_SHIFT)) & BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet1_clk_tx_clk_sel_MASK) + +#define BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet2_regular_tx_clk_sel_MASK (0x2U) +#define BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet2_regular_tx_clk_sel_SHIFT (1U) +/*! enet2_regular_tx_clk_sel - Direction of TX_CLK of ENET + * 0b0..ENET TX CLK is Input + * 0b1..ENET TX CLK is Output + */ +#define BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet2_regular_tx_clk_sel(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet2_regular_tx_clk_sel_SHIFT)) & BLK_CTRL_WAKEUPMIX_ENET_CLK_SEL_enet2_regular_tx_clk_sel_MASK) +/*! @} */ + +/*! @name VOLT_DETECT - Voltage detectors output */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_AON_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_AON_SHIFT (0U) +/*! SUPPLY_DETECTOR_AON - Voltage detectors output of AON */ +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_AON(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_AON_SHIFT)) & BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_AON_MASK) + +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_GPIO_MASK (0x2U) +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_GPIO_SHIFT (1U) +/*! SUPPLY_DETECTOR_GPIO - Voltage detectors output of GPIO */ +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_GPIO(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_GPIO_SHIFT)) & BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_GPIO_MASK) + +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_SD2_MASK (0x4U) +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_SD2_SHIFT (2U) +/*! SUPPLY_DETECTOR_SD2 - Voltage detectors output of SD2 */ +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_SD2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_SD2_SHIFT)) & BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_SD2_MASK) + +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_WAKEUP_MASK (0x8U) +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_WAKEUP_SHIFT (3U) +/*! SUPPLY_DETECTOR_WAKEUP - Voltage detectors output of WAKEUP */ +#define BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_WAKEUP_SHIFT)) & BLK_CTRL_WAKEUPMIX_VOLT_DETECT_SUPPLY_DETECTOR_WAKEUP_MASK) +/*! @} */ + +/*! @name I3C2_WAKEUP - I3C2 WAKEUPX CLR */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_I3C2_WAKEUP_IRQ_CLR_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_I3C2_WAKEUP_IRQ_CLR_SHIFT (0U) +#define BLK_CTRL_WAKEUPMIX_I3C2_WAKEUP_IRQ_CLR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_I3C2_WAKEUP_IRQ_CLR_SHIFT)) & BLK_CTRL_WAKEUPMIX_I3C2_WAKEUP_IRQ_CLR_MASK) +/*! @} */ + +/*! @name IPG_DEBUG_CA55C0 - IPG DEBUG mask bit for CA55 core0 */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_CAN2_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_CAN2_SHIFT (0U) +/*! CAN2 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_CAN2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_CAN2_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_CAN2_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_EDMA2_MASK (0x2U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_EDMA2_SHIFT (1U) +/*! EDMA2 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_EDMA2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_EDMA2_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_EDMA2_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C3_MASK (0x10U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C3_SHIFT (4U) +/*! LPI2C3 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C3_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C3_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C4_MASK (0x20U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C4_SHIFT (5U) +/*! LPI2C4 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C4(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C4_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C4_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C5_MASK (0x40U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C5_SHIFT (6U) +/*! LPI2C5 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C5(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C5_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C5_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C6_MASK (0x80U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C6_SHIFT (7U) +/*! LPI2C6 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C6(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C6_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C6_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C7_MASK (0x100U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C7_SHIFT (8U) +/*! LPI2C7 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C7(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C7_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C7_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C8_MASK (0x200U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C8_SHIFT (9U) +/*! LPI2C8 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C8(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C8_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPI2C8_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPIT2_MASK (0x400U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPIT2_SHIFT (10U) +/*! LPIT2 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPIT2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPIT2_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPIT2_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI3_MASK (0x800U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI3_SHIFT (11U) +/*! LPSPI3 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI3_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI3_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI4_MASK (0x1000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI4_SHIFT (12U) +/*! LPSPI4 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI4(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI4_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI4_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI5_MASK (0x2000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI5_SHIFT (13U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI5(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI5_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI5_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI6_MASK (0x4000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI6_SHIFT (14U) +/*! LPSPI6 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI6(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI6_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI6_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI7_MASK (0x8000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI7_SHIFT (15U) +/*! LPSPI7 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI7(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI7_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI7_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI8_MASK (0x10000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI8_SHIFT (16U) +/*! LPSPI8 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI8(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI8_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPSPI8_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPTMR2_MASK (0x20000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPTMR2_SHIFT (17U) +/*! LPTMR2 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPTMR2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPTMR2_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_LPTMR2_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM3_MASK (0x40000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM3_SHIFT (18U) +/*! TPM3 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM3_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM3_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM4_MASK (0x80000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM4_SHIFT (19U) +/*! TPM4 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM4(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM4_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM4_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM5_MASK (0x100000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM5_SHIFT (20U) +/*! TPM5 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM5(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM5_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM5_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM6_MASK (0x200000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM6_SHIFT (21U) +/*! TPM6 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM6(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM6_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_TPM6_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG3_MASK (0x400000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG3_SHIFT (22U) +/*! WDOG3 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG3_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG3_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG4_MASK (0x800000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG4_SHIFT (23U) +/*! WDOG4 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG4(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG4_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG4_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG5_MASK (0x1000000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG5_SHIFT (24U) +/*! WDOG5 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG5(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG5_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_WDOG5_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_I3C2_MASK (0x2000000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_I3C2_SHIFT (25U) +/*! I3C2 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_I3C2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_I3C2_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_I3C2_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI2_MASK (0x4000000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI2_SHIFT (26U) +/*! SAI2 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI2_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI2_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI3_MASK (0x8000000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI3_SHIFT (27U) +/*! SAI3 + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI3_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_SAI3_MASK) + +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_ENET2_REGULAR_MASK (0x10000000U) +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_ENET2_REGULAR_SHIFT (28U) +/*! ENET2_REGULAR + * 0b0..Module does not enter debug halted mode with A55 + * 0b1..Module enters debug halted mode when A55 is debug halted + */ +#define BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_ENET2_REGULAR(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_ENET2_REGULAR_SHIFT)) & BLK_CTRL_WAKEUPMIX_IPG_DEBUG_CA55C0_ENET2_REGULAR_MASK) +/*! @} */ + +/*! @name AXI_ATTR_CFG - AXI CACHE OVERRITE BIT */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC1_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC1_SHIFT (0U) +/*! ARCACHE_USDHC1 - Overwrite arcache of USDHC1 */ +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC1_SHIFT)) & BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC1_MASK) + +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC1_MASK (0x2U) +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC1_SHIFT (1U) +/*! AWCACHE_USDHC1 - Overwrite awcache of USDHC1 */ +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC1(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC1_SHIFT)) & BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC1_MASK) + +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC2_MASK (0x4U) +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC2_SHIFT (2U) +/*! ARCACHE_USDHC2 - Overwrite arcache of USDHC2 */ +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC2_SHIFT)) & BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC2_MASK) + +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC2_MASK (0x8U) +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC2_SHIFT (3U) +/*! AWCACHE_USDHC2 - Overwrite awcache of USDHC2 */ +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC2(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC2_SHIFT)) & BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC2_MASK) + +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC3_MASK (0x10U) +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC3_SHIFT (4U) +/*! ARCACHE_USDHC3 - Overwrite arcache of USDHC3 */ +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC3_SHIFT)) & BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_ARCACHE_USDHC3_MASK) + +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC3_MASK (0x20U) +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC3_SHIFT (5U) +/*! AWCACHE_USDHC3 - Overwrite awcache of USDHC3 */ +#define BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC3(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC3_SHIFT)) & BLK_CTRL_WAKEUPMIX_AXI_ATTR_CFG_AWCACHE_USDHC3_MASK) +/*! @} */ + +/*! @name I3C2_SDA_IRQ - I3C SDA IRQ Control */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_I3C2_SDA_IRQ_enable_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_I3C2_SDA_IRQ_enable_SHIFT (0U) +/*! enable - IRQ enable bit + * 0b0..I3C2 SDA IRQ disable + * 0b1..I3C2 SDA IRQ enable + */ +#define BLK_CTRL_WAKEUPMIX_I3C2_SDA_IRQ_enable(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_I3C2_SDA_IRQ_enable_SHIFT)) & BLK_CTRL_WAKEUPMIX_I3C2_SDA_IRQ_enable_MASK) +/*! @} */ + +/*! @name SSI_MST_WKUP2AON - Low power control for SSI_MST_WKUP2AON */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_idle_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_idle_SHIFT (0U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_idle_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_idle_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_pause_MASK (0x4U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_pause_SHIFT (2U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_pause_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_pause_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_black_hole_mode_b_MASK (0x8U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_black_hole_mode_b_SHIFT (3U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_black_hole_mode_b(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_black_hole_mode_b_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_black_hole_mode_b_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_power_control_MASK (0x10U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_power_control_SHIFT (4U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_power_control_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_power_control_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_iso_control_MASK (0x20U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_iso_control_SHIFT (5U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_iso_control_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2AON_iso_control_MASK) +/*! @} */ + +/*! @name SSI_MST_WKUP2NIC - Low power control for SSI_MST_WKUP2NIC */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_idle_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_idle_SHIFT (0U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_idle_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_idle_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_pause_MASK (0x4U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_pause_SHIFT (2U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_pause(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_pause_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_pause_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_black_hole_mode_b_MASK (0x8U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_black_hole_mode_b_SHIFT (3U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_black_hole_mode_b(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_black_hole_mode_b_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_black_hole_mode_b_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_power_control_MASK (0x10U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_power_control_SHIFT (4U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_power_control_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_power_control_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_iso_control_MASK (0x20U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_iso_control_SHIFT (5U) +#define BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_iso_control_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_MST_WKUP2NIC_iso_control_MASK) +/*! @} */ + +/*! @name SSI_SLV_AON2WKUP - Low power control for SSI_SLV_AON2WKUP */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_idle_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_idle_SHIFT (0U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_idle_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_idle_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_power_control_MASK (0x10U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_power_control_SHIFT (4U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_power_control_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_power_control_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_iso_control_MASK (0x20U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_iso_control_SHIFT (5U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_iso_control_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_SLV_AON2WKUP_iso_control_MASK) +/*! @} */ + +/*! @name SSI_SLV_NIC2WKUP - Low power control for SSI_SLV_NIC2WKUP */ +/*! @{ */ + +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_idle_MASK (0x1U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_idle_SHIFT (0U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_idle(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_idle_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_idle_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_power_control_MASK (0x10U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_power_control_SHIFT (4U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_power_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_power_control_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_power_control_MASK) + +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_iso_control_MASK (0x20U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_iso_control_SHIFT (5U) +#define BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_iso_control(x) (((uint32_t)(((uint32_t)(x)) << BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_iso_control_SHIFT)) & BLK_CTRL_WAKEUPMIX_SSI_SLV_NIC2WKUP_iso_control_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group BLK_CTRL_WAKEUPMIX_Register_Masks */ + + +/* BLK_CTRL_WAKEUPMIX - Peripheral instance base addresses */ +/** Peripheral BLK_CTRL_WAKEUPMIX1 base address */ +#define BLK_CTRL_WAKEUPMIX1_BASE (0x42420000u) +/** Peripheral BLK_CTRL_WAKEUPMIX1 base pointer */ +#define BLK_CTRL_WAKEUPMIX1 ((BLK_CTRL_WAKEUPMIX_Type *)BLK_CTRL_WAKEUPMIX1_BASE) +/** Array initializer of BLK_CTRL_WAKEUPMIX peripheral base addresses */ +#define BLK_CTRL_WAKEUPMIX_BASE_ADDRS { BLK_CTRL_WAKEUPMIX1_BASE } +/** Array initializer of BLK_CTRL_WAKEUPMIX peripheral base pointers */ +#define BLK_CTRL_WAKEUPMIX_BASE_PTRS { BLK_CTRL_WAKEUPMIX1 } + +/*! + * @} + */ /* end of group BLK_CTRL_WAKEUPMIX_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- CAN Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup CAN_Peripheral_Access_Layer CAN Peripheral Access Layer + * @{ + */ + +/** CAN - Register Layout Typedef */ +typedef struct { + __IO uint32_t MCR; /**< Module Configuration, offset: 0x0 */ + __IO uint32_t CTRL1; /**< Control 1, offset: 0x4 */ + __IO uint32_t TIMER; /**< Free-Running Timer, offset: 0x8 */ + uint8_t RESERVED_0[4]; + __IO uint32_t RXMGMASK; /**< RX Message Buffers Global Mask, offset: 0x10 */ + __IO uint32_t RX14MASK; /**< Receive 14 Mask, offset: 0x14 */ + __IO uint32_t RX15MASK; /**< Receive 15 Mask, offset: 0x18 */ + __IO uint32_t ECR; /**< Error Counter, offset: 0x1C */ + __IO uint32_t ESR1; /**< Error and Status 1, offset: 0x20 */ + __IO uint32_t IMASK2; /**< Interrupt Masks 2, offset: 0x24 */ + __IO uint32_t IMASK1; /**< Interrupt Masks 1, offset: 0x28 */ + __IO uint32_t IFLAG2; /**< Interrupt Flags 2, offset: 0x2C */ + __IO uint32_t IFLAG1; /**< Interrupt Flags 1, offset: 0x30 */ + __IO uint32_t CTRL2; /**< Control 2, offset: 0x34 */ + __I uint32_t ESR2; /**< Error and Status 2, offset: 0x38 */ + uint8_t RESERVED_1[8]; + __I uint32_t CRCR; /**< Cyclic Redundancy Check, offset: 0x44 */ + __IO uint32_t RXFGMASK; /**< Legacy RX FIFO Global Mask, offset: 0x48 */ + __I uint32_t RXFIR; /**< Legacy RX FIFO Information, offset: 0x4C */ + __IO uint32_t CBT; /**< CAN Bit Timing, offset: 0x50 */ + uint8_t RESERVED_2[24]; + __IO uint32_t IMASK3; /**< Interrupt Masks 3, offset: 0x6C */ + uint8_t RESERVED_3[4]; + __IO uint32_t IFLAG3; /**< Interrupt Flags 3, offset: 0x74 */ + __I uint32_t ET; /**< External Timer, offset: 0x78, available only on: CAN_FD1/CAN1 (missing on CAN_FD2/CAN2) */ + __IO uint32_t FLTCONF_IE; /**< Fault Confinement Interrupt Enable, offset: 0x7C, available only on: CAN_FD1/CAN1 (missing on CAN_FD2/CAN2) */ + uint8_t RESERVED_4[2048]; + __IO uint32_t RXIMR[96]; /**< Receive Individual Mask, array offset: 0x880, array step: 0x4 */ + uint8_t RESERVED_5[224]; + __IO uint32_t MECR; /**< Memory Error Control, offset: 0xAE0 */ + __IO uint32_t ERRIAR; /**< Error Injection Address, offset: 0xAE4 */ + __IO uint32_t ERRIDPR; /**< Error Injection Data Pattern, offset: 0xAE8 */ + __IO uint32_t ERRIPPR; /**< Error Injection Parity Pattern, offset: 0xAEC */ + __I uint32_t RERRAR; /**< Error Report Address, offset: 0xAF0 */ + __I uint32_t RERRDR; /**< Error Report Data, offset: 0xAF4 */ + __I uint32_t RERRSYNR; /**< Error Report Syndrome, offset: 0xAF8 */ + __IO uint32_t ERRSR; /**< Error Status, offset: 0xAFC */ + uint8_t RESERVED_6[240]; + __IO uint32_t EPRS; /**< Enhanced CAN Bit Timing Prescalers, offset: 0xBF0 */ + __IO uint32_t ENCBT; /**< Enhanced Nominal CAN Bit Timing, offset: 0xBF4 */ + __IO uint32_t EDCBT; /**< Enhanced Data Phase CAN Bit Timing, offset: 0xBF8 */ + __IO uint32_t ETDC; /**< Enhanced Transceiver Delay Compensation, offset: 0xBFC */ + __IO uint32_t FDCTRL; /**< CAN FD Control, offset: 0xC00 */ + __IO uint32_t FDCBT; /**< CAN FD Bit Timing, offset: 0xC04 */ + __I uint32_t FDCRC; /**< CAN FD CRC, offset: 0xC08 */ + __IO uint32_t ERFCR; /**< Enhanced RX FIFO Control, offset: 0xC0C */ + __IO uint32_t ERFIER; /**< Enhanced RX FIFO Interrupt Enable, offset: 0xC10 */ + __IO uint32_t ERFSR; /**< Enhanced RX FIFO Status, offset: 0xC14 */ + uint8_t RESERVED_7[24]; + __IO uint32_t HR_TIME_STAMP[96]; /**< High-Resolution Timestamp, array offset: 0xC30, array step: 0x4 */ + uint8_t RESERVED_8[8784]; + __IO uint32_t ERFFEL[128]; /**< Enhanced RX FIFO Filter Element, array offset: 0x3000, array step: 0x4 */ +} CAN_Type; + +/* ---------------------------------------------------------------------------- + -- CAN Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup CAN_Register_Masks CAN Register Masks + * @{ + */ + +/*! @name MCR - Module Configuration */ +/*! @{ */ + +#define CAN_MCR_MAXMB_MASK (0x7FU) +#define CAN_MCR_MAXMB_SHIFT (0U) +/*! MAXMB - Number of the Last Message Buffer */ +#define CAN_MCR_MAXMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MAXMB_SHIFT)) & CAN_MCR_MAXMB_MASK) + +#define CAN_MCR_TPOE_MASK (0x80U) +#define CAN_MCR_TPOE_SHIFT (7U) +/*! TPOE - TX Pin Override Enable + * 0b0..TX pin forcing is disabled + * 0b1..TX pin forcing is enabled + */ +#define CAN_MCR_TPOE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_TPOE_SHIFT)) & CAN_MCR_TPOE_MASK) + +#define CAN_MCR_IDAM_MASK (0x300U) +#define CAN_MCR_IDAM_SHIFT (8U) +/*! IDAM - ID Acceptance Mode + * 0b00..Format A: One full ID (standard and extended) per ID filter table element. + * 0b01..Format B: Two full standard IDs or two partial 14-bit (standard and extended) IDs per ID filter table element. + * 0b10..Format C: Four partial 8-bit standard IDs per ID filter table element. + * 0b11..Format D: All frames rejected. + */ +#define CAN_MCR_IDAM(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IDAM_SHIFT)) & CAN_MCR_IDAM_MASK) + +#define CAN_MCR_TPOV_MASK (0x400U) +#define CAN_MCR_TPOV_SHIFT (10U) +/*! TPOV - TX Pin Override Value + * 0b0..TX pin is forced to be dominant + * 0b1..TX pin is forced to be recessive + */ +#define CAN_MCR_TPOV(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_TPOV_SHIFT)) & CAN_MCR_TPOV_MASK) + +#define CAN_MCR_FDEN_MASK (0x800U) +#define CAN_MCR_FDEN_SHIFT (11U) +/*! FDEN - CAN FD Operation Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FDEN_SHIFT)) & CAN_MCR_FDEN_MASK) + +#define CAN_MCR_AEN_MASK (0x1000U) +#define CAN_MCR_AEN_SHIFT (12U) +/*! AEN - Abort Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define CAN_MCR_AEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_AEN_SHIFT)) & CAN_MCR_AEN_MASK) + +#define CAN_MCR_LPRIOEN_MASK (0x2000U) +#define CAN_MCR_LPRIOEN_SHIFT (13U) +/*! LPRIOEN - Local Priority Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_LPRIOEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPRIOEN_SHIFT)) & CAN_MCR_LPRIOEN_MASK) + +#define CAN_MCR_DMA_MASK (0x8000U) +#define CAN_MCR_DMA_SHIFT (15U) +/*! DMA - DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_DMA(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DMA_SHIFT)) & CAN_MCR_DMA_MASK) + +#define CAN_MCR_IRMQ_MASK (0x10000U) +#define CAN_MCR_IRMQ_SHIFT (16U) +/*! IRMQ - Individual RX Masking and Queue Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_IRMQ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IRMQ_SHIFT)) & CAN_MCR_IRMQ_MASK) + +#define CAN_MCR_SRXDIS_MASK (0x20000U) +#define CAN_MCR_SRXDIS_SHIFT (17U) +/*! SRXDIS - Self-Reception Disable + * 0b0..Enable + * 0b1..Disable + */ +#define CAN_MCR_SRXDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SRXDIS_SHIFT)) & CAN_MCR_SRXDIS_MASK) + +#define CAN_MCR_DOZE_MASK (0x40000U) +#define CAN_MCR_DOZE_SHIFT (18U) +/*! DOZE - Doze Mode Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_DOZE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DOZE_SHIFT)) & CAN_MCR_DOZE_MASK) + +#define CAN_MCR_WAKSRC_MASK (0x80000U) +#define CAN_MCR_WAKSRC_SHIFT (19U) +/*! WAKSRC - Wake-Up Source + * 0b0..No filter applied + * 0b1..Filter applied + */ +#define CAN_MCR_WAKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKSRC_SHIFT)) & CAN_MCR_WAKSRC_MASK) + +#define CAN_MCR_LPMACK_MASK (0x100000U) +#define CAN_MCR_LPMACK_SHIFT (20U) +/*! LPMACK - Low-Power Mode Acknowledge + * 0b0..Not in a low-power mode + * 0b1..In a low-power mode + */ +#define CAN_MCR_LPMACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPMACK_SHIFT)) & CAN_MCR_LPMACK_MASK) + +#define CAN_MCR_WRNEN_MASK (0x200000U) +#define CAN_MCR_WRNEN_SHIFT (21U) +/*! WRNEN - Warning Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_WRNEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WRNEN_SHIFT)) & CAN_MCR_WRNEN_MASK) + +#define CAN_MCR_SLFWAK_MASK (0x400000U) +#define CAN_MCR_SLFWAK_SHIFT (22U) +/*! SLFWAK - Self Wake-up + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_SLFWAK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SLFWAK_SHIFT)) & CAN_MCR_SLFWAK_MASK) + +#define CAN_MCR_SUPV_MASK (0x800000U) +#define CAN_MCR_SUPV_SHIFT (23U) +/*! SUPV - Supervisor Mode + * 0b0..User mode + * 0b1..Supervisor mode + */ +#define CAN_MCR_SUPV(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SUPV_SHIFT)) & CAN_MCR_SUPV_MASK) + +#define CAN_MCR_FRZACK_MASK (0x1000000U) +#define CAN_MCR_FRZACK_SHIFT (24U) +/*! FRZACK - Freeze Mode Acknowledge + * 0b0..Not in Freeze mode, prescaler running. + * 0b1..In Freeze mode, prescaler stopped. + */ +#define CAN_MCR_FRZACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZACK_SHIFT)) & CAN_MCR_FRZACK_MASK) + +#define CAN_MCR_SOFTRST_MASK (0x2000000U) +#define CAN_MCR_SOFTRST_SHIFT (25U) +/*! SOFTRST - Soft Reset + * 0b0..No reset + * 0b1..Soft reset affects reset registers + */ +#define CAN_MCR_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SOFTRST_SHIFT)) & CAN_MCR_SOFTRST_MASK) + +#define CAN_MCR_WAKMSK_MASK (0x4000000U) +#define CAN_MCR_WAKMSK_SHIFT (26U) +/*! WAKMSK - Wake-up Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define CAN_MCR_WAKMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKMSK_SHIFT)) & CAN_MCR_WAKMSK_MASK) + +#define CAN_MCR_NOTRDY_MASK (0x8000000U) +#define CAN_MCR_NOTRDY_SHIFT (27U) +/*! NOTRDY - FlexCAN Not Ready + * 0b0..FlexCAN is in Normal mode, Listen-Only mode, or Loopback mode. + * 0b1..FlexCAN is in Disable mode, Doze mode, Stop mode, or Freeze mode. + */ +#define CAN_MCR_NOTRDY(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_NOTRDY_SHIFT)) & CAN_MCR_NOTRDY_MASK) + +#define CAN_MCR_HALT_MASK (0x10000000U) +#define CAN_MCR_HALT_SHIFT (28U) +/*! HALT - Halt FlexCAN + * 0b0..No request + * 0b1..Enter Freeze mode, if MCR[FRZ] = 1. + */ +#define CAN_MCR_HALT(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_HALT_SHIFT)) & CAN_MCR_HALT_MASK) + +#define CAN_MCR_RFEN_MASK (0x20000000U) +#define CAN_MCR_RFEN_SHIFT (29U) +/*! RFEN - Legacy RX FIFO Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_RFEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_RFEN_SHIFT)) & CAN_MCR_RFEN_MASK) + +#define CAN_MCR_FRZ_MASK (0x40000000U) +#define CAN_MCR_FRZ_SHIFT (30U) +/*! FRZ - Freeze Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZ_SHIFT)) & CAN_MCR_FRZ_MASK) + +#define CAN_MCR_MDIS_MASK (0x80000000U) +#define CAN_MCR_MDIS_SHIFT (31U) +/*! MDIS - Module Disable + * 0b0..Enable + * 0b1..Disable + */ +#define CAN_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MDIS_SHIFT)) & CAN_MCR_MDIS_MASK) +/*! @} */ + +/*! @name CTRL1 - Control 1 */ +/*! @{ */ + +#define CAN_CTRL1_PROPSEG_MASK (0x7U) +#define CAN_CTRL1_PROPSEG_SHIFT (0U) +/*! PROPSEG - Propagation Segment */ +#define CAN_CTRL1_PROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PROPSEG_SHIFT)) & CAN_CTRL1_PROPSEG_MASK) + +#define CAN_CTRL1_LOM_MASK (0x8U) +#define CAN_CTRL1_LOM_SHIFT (3U) +/*! LOM - Listen-Only Mode + * 0b0..Listen-Only mode is deactivated. + * 0b1..FlexCAN module operates in Listen-Only mode. + */ +#define CAN_CTRL1_LOM(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LOM_SHIFT)) & CAN_CTRL1_LOM_MASK) + +#define CAN_CTRL1_LBUF_MASK (0x10U) +#define CAN_CTRL1_LBUF_SHIFT (4U) +/*! LBUF - Lowest Buffer Transmitted First + * 0b0..Buffer with highest priority is transmitted first. + * 0b1..Lowest number buffer is transmitted first. + */ +#define CAN_CTRL1_LBUF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LBUF_SHIFT)) & CAN_CTRL1_LBUF_MASK) + +#define CAN_CTRL1_TSYN_MASK (0x20U) +#define CAN_CTRL1_TSYN_SHIFT (5U) +/*! TSYN - Timer Sync + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CTRL1_TSYN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TSYN_SHIFT)) & CAN_CTRL1_TSYN_MASK) + +#define CAN_CTRL1_BOFFREC_MASK (0x40U) +#define CAN_CTRL1_BOFFREC_SHIFT (6U) +/*! BOFFREC - Bus Off Recovery + * 0b0..Enabled + * 0b1..Disabled + */ +#define CAN_CTRL1_BOFFREC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFREC_SHIFT)) & CAN_CTRL1_BOFFREC_MASK) + +#define CAN_CTRL1_SMP_MASK (0x80U) +#define CAN_CTRL1_SMP_SHIFT (7U) +/*! SMP - CAN Bit Sampling + * 0b0..One sample is used to determine the bit value. + * 0b1..Three samples are used to determine the value of the received bit: the regular one (sample point) and two + * preceding samples. A majority rule is used. + */ +#define CAN_CTRL1_SMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_SMP_SHIFT)) & CAN_CTRL1_SMP_MASK) + +#define CAN_CTRL1_ROM_MASK (0x100U) +#define CAN_CTRL1_ROM_SHIFT (8U) +/*! ROM - Restricted Operation Mode + * 0b0..Restricted operation is disabled + * 0b1..Restricted operation is enabled + */ +#define CAN_CTRL1_ROM(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_ROM_SHIFT)) & CAN_CTRL1_ROM_MASK) + +#define CAN_CTRL1_RWRNMSK_MASK (0x400U) +#define CAN_CTRL1_RWRNMSK_SHIFT (10U) +/*! RWRNMSK - RX Warning Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define CAN_CTRL1_RWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RWRNMSK_SHIFT)) & CAN_CTRL1_RWRNMSK_MASK) + +#define CAN_CTRL1_TWRNMSK_MASK (0x800U) +#define CAN_CTRL1_TWRNMSK_SHIFT (11U) +/*! TWRNMSK - TX Warning Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define CAN_CTRL1_TWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TWRNMSK_SHIFT)) & CAN_CTRL1_TWRNMSK_MASK) + +#define CAN_CTRL1_LPB_MASK (0x1000U) +#define CAN_CTRL1_LPB_SHIFT (12U) +/*! LPB - Loopback Mode + * 0b0..Disabled + * 0b1..Enabled + */ +#define CAN_CTRL1_LPB(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LPB_SHIFT)) & CAN_CTRL1_LPB_MASK) + +#define CAN_CTRL1_CLKSRC_MASK (0x2000U) +#define CAN_CTRL1_CLKSRC_SHIFT (13U) +/*! CLKSRC - CAN Engine Clock Source + * 0b0..Peripheral clock + * 0b1..Bus clock + */ +#define CAN_CTRL1_CLKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_CLKSRC_SHIFT)) & CAN_CTRL1_CLKSRC_MASK) + +#define CAN_CTRL1_ERRMSK_MASK (0x4000U) +#define CAN_CTRL1_ERRMSK_SHIFT (14U) +/*! ERRMSK - Error Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define CAN_CTRL1_ERRMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_ERRMSK_SHIFT)) & CAN_CTRL1_ERRMSK_MASK) + +#define CAN_CTRL1_BOFFMSK_MASK (0x8000U) +#define CAN_CTRL1_BOFFMSK_SHIFT (15U) +/*! BOFFMSK - Bus Off Interrupt Mask + * 0b0..Interrupt disabled + * 0b1..Interrupt enabled + */ +#define CAN_CTRL1_BOFFMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFMSK_SHIFT)) & CAN_CTRL1_BOFFMSK_MASK) + +#define CAN_CTRL1_PSEG2_MASK (0x70000U) +#define CAN_CTRL1_PSEG2_SHIFT (16U) +/*! PSEG2 - Phase Segment 2 */ +#define CAN_CTRL1_PSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG2_SHIFT)) & CAN_CTRL1_PSEG2_MASK) + +#define CAN_CTRL1_PSEG1_MASK (0x380000U) +#define CAN_CTRL1_PSEG1_SHIFT (19U) +/*! PSEG1 - Phase Segment 1 */ +#define CAN_CTRL1_PSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG1_SHIFT)) & CAN_CTRL1_PSEG1_MASK) + +#define CAN_CTRL1_RJW_MASK (0xC00000U) +#define CAN_CTRL1_RJW_SHIFT (22U) +/*! RJW - Resync Jump Width */ +#define CAN_CTRL1_RJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RJW_SHIFT)) & CAN_CTRL1_RJW_MASK) + +#define CAN_CTRL1_PRESDIV_MASK (0xFF000000U) +#define CAN_CTRL1_PRESDIV_SHIFT (24U) +/*! PRESDIV - Prescaler Division Factor */ +#define CAN_CTRL1_PRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PRESDIV_SHIFT)) & CAN_CTRL1_PRESDIV_MASK) +/*! @} */ + +/*! @name TIMER - Free-Running Timer */ +/*! @{ */ + +#define CAN_TIMER_TIMER_MASK (0xFFFFU) +#define CAN_TIMER_TIMER_SHIFT (0U) +/*! TIMER - Timer Value */ +#define CAN_TIMER_TIMER(x) (((uint32_t)(((uint32_t)(x)) << CAN_TIMER_TIMER_SHIFT)) & CAN_TIMER_TIMER_MASK) +/*! @} */ + +/*! @name RXMGMASK - RX Message Buffers Global Mask */ +/*! @{ */ + +#define CAN_RXMGMASK_MG_MASK (0xFFFFFFFFU) +#define CAN_RXMGMASK_MG_SHIFT (0U) +/*! MG - Global Mask for RX Message Buffers */ +#define CAN_RXMGMASK_MG(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXMGMASK_MG_SHIFT)) & CAN_RXMGMASK_MG_MASK) +/*! @} */ + +/*! @name RX14MASK - Receive 14 Mask */ +/*! @{ */ + +#define CAN_RX14MASK_RX14M_MASK (0xFFFFFFFFU) +#define CAN_RX14MASK_RX14M_SHIFT (0U) +/*! RX14M - RX Buffer 14 Mask Bits */ +#define CAN_RX14MASK_RX14M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX14MASK_RX14M_SHIFT)) & CAN_RX14MASK_RX14M_MASK) +/*! @} */ + +/*! @name RX15MASK - Receive 15 Mask */ +/*! @{ */ + +#define CAN_RX15MASK_RX15M_MASK (0xFFFFFFFFU) +#define CAN_RX15MASK_RX15M_SHIFT (0U) +/*! RX15M - RX Buffer 15 Mask Bits */ +#define CAN_RX15MASK_RX15M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX15MASK_RX15M_SHIFT)) & CAN_RX15MASK_RX15M_MASK) +/*! @} */ + +/*! @name ECR - Error Counter */ +/*! @{ */ + +#define CAN_ECR_TXERRCNT_MASK (0xFFU) +#define CAN_ECR_TXERRCNT_SHIFT (0U) +/*! TXERRCNT - Transmit Error Counter */ +#define CAN_ECR_TXERRCNT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_SHIFT)) & CAN_ECR_TXERRCNT_MASK) + +#define CAN_ECR_RXERRCNT_MASK (0xFF00U) +#define CAN_ECR_RXERRCNT_SHIFT (8U) +/*! RXERRCNT - Receive Error Counter */ +#define CAN_ECR_RXERRCNT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_SHIFT)) & CAN_ECR_RXERRCNT_MASK) + +#define CAN_ECR_TXERRCNT_FAST_MASK (0xFF0000U) +#define CAN_ECR_TXERRCNT_FAST_SHIFT (16U) +/*! TXERRCNT_FAST - Transmit Error Counter for Fast Bits */ +#define CAN_ECR_TXERRCNT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_FAST_SHIFT)) & CAN_ECR_TXERRCNT_FAST_MASK) + +#define CAN_ECR_RXERRCNT_FAST_MASK (0xFF000000U) +#define CAN_ECR_RXERRCNT_FAST_SHIFT (24U) +/*! RXERRCNT_FAST - Receive Error Counter for Fast Bits */ +#define CAN_ECR_RXERRCNT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_FAST_SHIFT)) & CAN_ECR_RXERRCNT_FAST_MASK) +/*! @} */ + +/*! @name ESR1 - Error and Status 1 */ +/*! @{ */ + +#define CAN_ESR1_WAKINT_MASK (0x1U) +#define CAN_ESR1_WAKINT_SHIFT (0U) +/*! WAKINT - Wake-up Interrupt Flag + * 0b0..No such occurrence. + * 0b1..Indicates that a recessive-to-dominant transition was received on the CAN bus. + */ +#define CAN_ESR1_WAKINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_WAKINT_SHIFT)) & CAN_ESR1_WAKINT_MASK) + +#define CAN_ESR1_ERRINT_MASK (0x2U) +#define CAN_ESR1_ERRINT_SHIFT (1U) +/*! ERRINT - Error Interrupt Flag + * 0b0..No such occurrence. + * 0b1..Indicates setting of any error flag in the Error and Status register. + */ +#define CAN_ESR1_ERRINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_SHIFT)) & CAN_ESR1_ERRINT_MASK) + +#define CAN_ESR1_BOFFINT_MASK (0x4U) +#define CAN_ESR1_BOFFINT_SHIFT (2U) +/*! BOFFINT - Bus Off Interrupt Flag + * 0b0..No such occurrence. + * 0b1..FlexCAN module entered Bus Off state. + */ +#define CAN_ESR1_BOFFINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFINT_SHIFT)) & CAN_ESR1_BOFFINT_MASK) + +#define CAN_ESR1_RX_MASK (0x8U) +#define CAN_ESR1_RX_SHIFT (3U) +/*! RX - FlexCAN in Reception Flag + * 0b0..Not receiving + * 0b1..Receiving + */ +#define CAN_ESR1_RX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RX_SHIFT)) & CAN_ESR1_RX_MASK) + +#define CAN_ESR1_FLTCONF_MASK (0x30U) +#define CAN_ESR1_FLTCONF_SHIFT (4U) +/*! FLTCONF - Fault Confinement State + * 0b00..Error Active + * 0b01..Error Passive + * 0b1x..Bus Off + */ +#define CAN_ESR1_FLTCONF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FLTCONF_SHIFT)) & CAN_ESR1_FLTCONF_MASK) + +#define CAN_ESR1_TX_MASK (0x40U) +#define CAN_ESR1_TX_SHIFT (6U) +/*! TX - FlexCAN In Transmission + * 0b0..Not transmitting + * 0b1..Transmitting + */ +#define CAN_ESR1_TX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TX_SHIFT)) & CAN_ESR1_TX_MASK) + +#define CAN_ESR1_IDLE_MASK (0x80U) +#define CAN_ESR1_IDLE_SHIFT (7U) +/*! IDLE - Idle + * 0b0..Not IDLE + * 0b1..IDLE + */ +#define CAN_ESR1_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_IDLE_SHIFT)) & CAN_ESR1_IDLE_MASK) + +#define CAN_ESR1_RXWRN_MASK (0x100U) +#define CAN_ESR1_RXWRN_SHIFT (8U) +/*! RXWRN - RX Error Warning Flag + * 0b0..No such occurrence. + * 0b1..RXERRCNT is greater than or equal to 96. + */ +#define CAN_ESR1_RXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RXWRN_SHIFT)) & CAN_ESR1_RXWRN_MASK) + +#define CAN_ESR1_TXWRN_MASK (0x200U) +#define CAN_ESR1_TXWRN_SHIFT (9U) +/*! TXWRN - TX Error Warning Flag + * 0b0..No such occurrence. + * 0b1..TXERRCNT is 96 or greater. + */ +#define CAN_ESR1_TXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TXWRN_SHIFT)) & CAN_ESR1_TXWRN_MASK) + +#define CAN_ESR1_STFERR_MASK (0x400U) +#define CAN_ESR1_STFERR_SHIFT (10U) +/*! STFERR - Stuffing Error Flag + * 0b0..No error + * 0b1..Error occurred since last read of this register. + */ +#define CAN_ESR1_STFERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_SHIFT)) & CAN_ESR1_STFERR_MASK) + +#define CAN_ESR1_FRMERR_MASK (0x800U) +#define CAN_ESR1_FRMERR_SHIFT (11U) +/*! FRMERR - Form Error Flag + * 0b0..No error + * 0b1..Error occurred since last read of this register. + */ +#define CAN_ESR1_FRMERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_SHIFT)) & CAN_ESR1_FRMERR_MASK) + +#define CAN_ESR1_CRCERR_MASK (0x1000U) +#define CAN_ESR1_CRCERR_SHIFT (12U) +/*! CRCERR - Cyclic Redundancy Check Error Flag + * 0b0..No error + * 0b1..Error occurred since last read of this register. + */ +#define CAN_ESR1_CRCERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_SHIFT)) & CAN_ESR1_CRCERR_MASK) + +#define CAN_ESR1_ACKERR_MASK (0x2000U) +#define CAN_ESR1_ACKERR_SHIFT (13U) +/*! ACKERR - Acknowledge Error Flag + * 0b0..No error + * 0b1..Error occurred since last read of this register. + */ +#define CAN_ESR1_ACKERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ACKERR_SHIFT)) & CAN_ESR1_ACKERR_MASK) + +#define CAN_ESR1_BIT0ERR_MASK (0x4000U) +#define CAN_ESR1_BIT0ERR_SHIFT (14U) +/*! BIT0ERR - Bit0 Error Flag + * 0b0..No such occurrence. + * 0b1..At least one bit sent as dominant is received as recessive. + */ +#define CAN_ESR1_BIT0ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_SHIFT)) & CAN_ESR1_BIT0ERR_MASK) + +#define CAN_ESR1_BIT1ERR_MASK (0x8000U) +#define CAN_ESR1_BIT1ERR_SHIFT (15U) +/*! BIT1ERR - Bit1 Error Flag + * 0b0..No such occurrence. + * 0b1..At least one bit sent as recessive is received as dominant. + */ +#define CAN_ESR1_BIT1ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_SHIFT)) & CAN_ESR1_BIT1ERR_MASK) + +#define CAN_ESR1_RWRNINT_MASK (0x10000U) +#define CAN_ESR1_RWRNINT_SHIFT (16U) +/*! RWRNINT - RX Warning Interrupt Flag + * 0b0..No such occurrence + * 0b1..RX error counter changed from less than 96 to greater than or equal to 96. + */ +#define CAN_ESR1_RWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RWRNINT_SHIFT)) & CAN_ESR1_RWRNINT_MASK) + +#define CAN_ESR1_TWRNINT_MASK (0x20000U) +#define CAN_ESR1_TWRNINT_SHIFT (17U) +/*! TWRNINT - TX Warning Interrupt Flag + * 0b0..No such occurrence + * 0b1..TX error counter changed from less than 96 to greater than or equal to 96. + */ +#define CAN_ESR1_TWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TWRNINT_SHIFT)) & CAN_ESR1_TWRNINT_MASK) + +#define CAN_ESR1_SYNCH_MASK (0x40000U) +#define CAN_ESR1_SYNCH_SHIFT (18U) +/*! SYNCH - CAN Synchronization Status Flag + * 0b0..Not synchronized + * 0b1..Synchronized + */ +#define CAN_ESR1_SYNCH(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_SYNCH_SHIFT)) & CAN_ESR1_SYNCH_MASK) + +#define CAN_ESR1_BOFFDONEINT_MASK (0x80000U) +#define CAN_ESR1_BOFFDONEINT_SHIFT (19U) +/*! BOFFDONEINT - Bus Off Done Interrupt Flag + * 0b0..No such occurrence + * 0b1..FlexCAN module has completed Bus Off process. + */ +#define CAN_ESR1_BOFFDONEINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFDONEINT_SHIFT)) & CAN_ESR1_BOFFDONEINT_MASK) + +#define CAN_ESR1_ERRINT_FAST_MASK (0x100000U) +#define CAN_ESR1_ERRINT_FAST_SHIFT (20U) +/*! ERRINT_FAST - Fast Error Interrupt Flag + * 0b0..No such occurrence. + * 0b1..Error flag set in the data phase of CAN FD frames that have BRS = 1. + */ +#define CAN_ESR1_ERRINT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_FAST_SHIFT)) & CAN_ESR1_ERRINT_FAST_MASK) + +#define CAN_ESR1_ERROVR_MASK (0x200000U) +#define CAN_ESR1_ERROVR_SHIFT (21U) +/*! ERROVR - Error Overrun Flag + * 0b0..No overrun + * 0b1..Overrun + */ +#define CAN_ESR1_ERROVR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERROVR_SHIFT)) & CAN_ESR1_ERROVR_MASK) + +#define CAN_ESR1_ATP_MASK (0x400000U) +#define CAN_ESR1_ATP_SHIFT (22U) +/*! ATP - Active to Passive State + * 0b0..Does not transition + * 0b1..Transitions + */ +#define CAN_ESR1_ATP(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ATP_SHIFT)) & CAN_ESR1_ATP_MASK) + +#define CAN_ESR1_PTA_MASK (0x800000U) +#define CAN_ESR1_PTA_SHIFT (23U) +/*! PTA - Passive to Active State + * 0b0..Does not transition + * 0b1..Transitions + */ +#define CAN_ESR1_PTA(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_PTA_SHIFT)) & CAN_ESR1_PTA_MASK) + +#define CAN_ESR1_STFERR_FAST_MASK (0x4000000U) +#define CAN_ESR1_STFERR_FAST_SHIFT (26U) +/*! STFERR_FAST - Fast Stuffing Error Flag + * 0b0..No such occurrence. + * 0b1..A stuffing error occurred since last read of this register. + */ +#define CAN_ESR1_STFERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_FAST_SHIFT)) & CAN_ESR1_STFERR_FAST_MASK) + +#define CAN_ESR1_FRMERR_FAST_MASK (0x8000000U) +#define CAN_ESR1_FRMERR_FAST_SHIFT (27U) +/*! FRMERR_FAST - Fast Form Error Flag + * 0b0..No such occurrence. + * 0b1..A form error occurred since last read of this register. + */ +#define CAN_ESR1_FRMERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_FAST_SHIFT)) & CAN_ESR1_FRMERR_FAST_MASK) + +#define CAN_ESR1_CRCERR_FAST_MASK (0x10000000U) +#define CAN_ESR1_CRCERR_FAST_SHIFT (28U) +/*! CRCERR_FAST - Fast Cyclic Redundancy Check Error Flag + * 0b0..No such occurrence. + * 0b1..A CRC error occurred since last read of this register. + */ +#define CAN_ESR1_CRCERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_FAST_SHIFT)) & CAN_ESR1_CRCERR_FAST_MASK) + +#define CAN_ESR1_BIT0ERR_FAST_MASK (0x40000000U) +#define CAN_ESR1_BIT0ERR_FAST_SHIFT (30U) +/*! BIT0ERR_FAST - Fast Bit0 Error Flag + * 0b0..No such occurrence. + * 0b1..At least one bit transmitted as dominant is received as recessive. + */ +#define CAN_ESR1_BIT0ERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_FAST_SHIFT)) & CAN_ESR1_BIT0ERR_FAST_MASK) + +#define CAN_ESR1_BIT1ERR_FAST_MASK (0x80000000U) +#define CAN_ESR1_BIT1ERR_FAST_SHIFT (31U) +/*! BIT1ERR_FAST - Fast Bit1 Error Flag + * 0b0..No such occurrence. + * 0b1..At least one bit transmitted as recessive is received as dominant. + */ +#define CAN_ESR1_BIT1ERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_FAST_SHIFT)) & CAN_ESR1_BIT1ERR_FAST_MASK) +/*! @} */ + +/*! @name IMASK2 - Interrupt Masks 2 */ +/*! @{ */ + +#define CAN_IMASK2_BUF63TO32M_MASK (0xFFFFFFFFU) +#define CAN_IMASK2_BUF63TO32M_SHIFT (0U) +/*! BUF63TO32M - Buffer MBi Mask */ +#define CAN_IMASK2_BUF63TO32M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK2_BUF63TO32M_SHIFT)) & CAN_IMASK2_BUF63TO32M_MASK) +/*! @} */ + +/*! @name IMASK1 - Interrupt Masks 1 */ +/*! @{ */ + +#define CAN_IMASK1_BUF31TO0M_MASK (0xFFFFFFFFU) +#define CAN_IMASK1_BUF31TO0M_SHIFT (0U) +/*! BUF31TO0M - Buffer MBi Mask */ +#define CAN_IMASK1_BUF31TO0M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUF31TO0M_SHIFT)) & CAN_IMASK1_BUF31TO0M_MASK) +/*! @} */ + +/*! @name IFLAG2 - Interrupt Flags 2 */ +/*! @{ */ + +#define CAN_IFLAG2_BUF63TO32I_MASK (0xFFFFFFFFU) +#define CAN_IFLAG2_BUF63TO32I_SHIFT (0U) +/*! BUF63TO32I - Buffer MBi Interrupt */ +#define CAN_IFLAG2_BUF63TO32I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG2_BUF63TO32I_SHIFT)) & CAN_IFLAG2_BUF63TO32I_MASK) +/*! @} */ + +/*! @name IFLAG1 - Interrupt Flags 1 */ +/*! @{ */ + +#define CAN_IFLAG1_BUF0I_MASK (0x1U) +#define CAN_IFLAG1_BUF0I_SHIFT (0U) +/*! BUF0I - Buffer MB0 Interrupt or Clear Legacy FIFO bit + * 0b0..MB0 has no occurrence of successfully completed transmission or reception. + * 0b1..MB0 has successfully completed transmission or reception. + */ +#define CAN_IFLAG1_BUF0I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF0I_SHIFT)) & CAN_IFLAG1_BUF0I_MASK) + +#define CAN_IFLAG1_BUF4TO1I_MASK (0x1EU) +#define CAN_IFLAG1_BUF4TO1I_SHIFT (1U) +/*! BUF4TO1I - Buffer MBi Interrupt or Reserved */ +#define CAN_IFLAG1_BUF4TO1I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF4TO1I_SHIFT)) & CAN_IFLAG1_BUF4TO1I_MASK) + +#define CAN_IFLAG1_BUF5I_MASK (0x20U) +#define CAN_IFLAG1_BUF5I_SHIFT (5U) +/*! BUF5I - Buffer MB5 Interrupt or Frames available in Legacy RX FIFO + * 0b0..No occurrence of completed transmission or reception, or no frames available + * 0b1..MB5 completed transmission or reception, or frames available + */ +#define CAN_IFLAG1_BUF5I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF5I_SHIFT)) & CAN_IFLAG1_BUF5I_MASK) + +#define CAN_IFLAG1_BUF6I_MASK (0x40U) +#define CAN_IFLAG1_BUF6I_SHIFT (6U) +/*! BUF6I - Buffer MB6 Interrupt or Legacy RX FIFO Warning + * 0b0..No occurrence of MB6 completing transmission or reception, or FIFO not almost full. + * 0b1..MB6 completed transmission or reception, or FIFO almost full. + */ +#define CAN_IFLAG1_BUF6I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF6I_SHIFT)) & CAN_IFLAG1_BUF6I_MASK) + +#define CAN_IFLAG1_BUF7I_MASK (0x80U) +#define CAN_IFLAG1_BUF7I_SHIFT (7U) +/*! BUF7I - Buffer MB7 Interrupt or Legacy RX FIFO Overflow + * 0b0..No occurrence of MB7 completing transmission or reception, or no FIFO overflow. + * 0b1..MB7 completed transmission or reception, or FIFO overflow. + */ +#define CAN_IFLAG1_BUF7I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF7I_SHIFT)) & CAN_IFLAG1_BUF7I_MASK) + +#define CAN_IFLAG1_BUF31TO8I_MASK (0xFFFFFF00U) +#define CAN_IFLAG1_BUF31TO8I_SHIFT (8U) +/*! BUF31TO8I - Buffer MBi Interrupt */ +#define CAN_IFLAG1_BUF31TO8I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF31TO8I_SHIFT)) & CAN_IFLAG1_BUF31TO8I_MASK) +/*! @} */ + +/*! @name CTRL2 - Control 2 */ +/*! @{ */ + +#define CAN_CTRL2_RETRY_MASK (0x1CU) +#define CAN_CTRL2_RETRY_SHIFT (2U) +/*! RETRY - Number of Retransmission Requests + * 0b000..No retransmission + * 0b001..Count of re-transmission attempts + * 0b010..Count of re-transmission attempts + * 0b011..Count of re-transmission attempts + * 0b100..Count of re-transmission attempts + * 0b101..Count of re-transmission attempts + * 0b110..Count of re-transmission attempts + * 0b111..Unlimited number of retransmission + */ +#define CAN_CTRL2_RETRY(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RETRY_SHIFT)) & CAN_CTRL2_RETRY_MASK) + +#define CAN_CTRL2_TSTAMPCAP_MASK (0xC0U) +#define CAN_CTRL2_TSTAMPCAP_SHIFT (6U) +/*! TSTAMPCAP - Timestamp Capture Point + * 0b00..Disabled + * 0b01..End of the CAN frame + * 0b10..Start of the CAN frame + * 0b11..Start of frame for classical CAN frames; res bit for CAN FD frames + */ +#define CAN_CTRL2_TSTAMPCAP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TSTAMPCAP_SHIFT)) & CAN_CTRL2_TSTAMPCAP_MASK) + +#define CAN_CTRL2_MBTSBASE_MASK (0x300U) +#define CAN_CTRL2_MBTSBASE_SHIFT (8U) +/*! MBTSBASE - Message Buffer Timestamp Base + * 0b00..TIMER + * 0b01..Lower 16 bits of high-resolution timer + * 0b10..Upper 16 bits of high-resolution timer + * 0b11..Reserved + */ +#define CAN_CTRL2_MBTSBASE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MBTSBASE_SHIFT)) & CAN_CTRL2_MBTSBASE_MASK) + +#define CAN_CTRL2_FLT_RXN_MASK (0x400U) +#define CAN_CTRL2_FLT_RXN_SHIFT (10U) +/*! FLT_RXN - Fault reaction + * 0b0..Fault reaction is disabled + * 0b1..Fault reaction is enabled + */ +#define CAN_CTRL2_FLT_RXN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_FLT_RXN_SHIFT)) & CAN_CTRL2_FLT_RXN_MASK) + +#define CAN_CTRL2_EDFLTDIS_MASK (0x800U) +#define CAN_CTRL2_EDFLTDIS_SHIFT (11U) +/*! EDFLTDIS - Edge Filter Disable + * 0b0..Enabled + * 0b1..Disabled + */ +#define CAN_CTRL2_EDFLTDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EDFLTDIS_SHIFT)) & CAN_CTRL2_EDFLTDIS_MASK) + +#define CAN_CTRL2_ISOCANFDEN_MASK (0x1000U) +#define CAN_CTRL2_ISOCANFDEN_SHIFT (12U) +/*! ISOCANFDEN - ISO CAN FD Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CTRL2_ISOCANFDEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ISOCANFDEN_SHIFT)) & CAN_CTRL2_ISOCANFDEN_MASK) + +#define CAN_CTRL2_BTE_MASK (0x2000U) +#define CAN_CTRL2_BTE_SHIFT (13U) +/*! BTE - Bit Timing Expansion Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CTRL2_BTE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_BTE_SHIFT)) & CAN_CTRL2_BTE_MASK) + +#define CAN_CTRL2_PREXCEN_MASK (0x4000U) +#define CAN_CTRL2_PREXCEN_SHIFT (14U) +/*! PREXCEN - Protocol Exception Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define CAN_CTRL2_PREXCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_PREXCEN_SHIFT)) & CAN_CTRL2_PREXCEN_MASK) + +#define CAN_CTRL2_TIMER_SRC_MASK (0x8000U) +#define CAN_CTRL2_TIMER_SRC_SHIFT (15U) +/*! TIMER_SRC - Timer Source + * 0b0..CAN bit clock + * 0b1..External time tick + */ +#define CAN_CTRL2_TIMER_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TIMER_SRC_SHIFT)) & CAN_CTRL2_TIMER_SRC_MASK) + +#define CAN_CTRL2_EACEN_MASK (0x10000U) +#define CAN_CTRL2_EACEN_SHIFT (16U) +/*! EACEN - Entire Frame Arbitration Field Comparison Enable for RX Message Buffers + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CTRL2_EACEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EACEN_SHIFT)) & CAN_CTRL2_EACEN_MASK) + +#define CAN_CTRL2_RRS_MASK (0x20000U) +#define CAN_CTRL2_RRS_SHIFT (17U) +/*! RRS - Remote Request Storing + * 0b0..Generated + * 0b1..Stored + */ +#define CAN_CTRL2_RRS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RRS_SHIFT)) & CAN_CTRL2_RRS_MASK) + +#define CAN_CTRL2_MRP_MASK (0x40000U) +#define CAN_CTRL2_MRP_SHIFT (18U) +/*! MRP - Message Buffers Reception Priority + * 0b0..Matching starts from Legacy RX FIFO or Enhanced RX FIFO and continues on message buffers. + * 0b1..Matching starts from message buffers and continues on Legacy RX FIFO or Enhanced RX FIFO. + */ +#define CAN_CTRL2_MRP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MRP_SHIFT)) & CAN_CTRL2_MRP_MASK) + +#define CAN_CTRL2_TASD_MASK (0xF80000U) +#define CAN_CTRL2_TASD_SHIFT (19U) +/*! TASD - Transmission Arbitration Start Delay */ +#define CAN_CTRL2_TASD(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TASD_SHIFT)) & CAN_CTRL2_TASD_MASK) + +#define CAN_CTRL2_RFFN_MASK (0xF000000U) +#define CAN_CTRL2_RFFN_SHIFT (24U) +/*! RFFN - Number of Legacy Receive FIFO Filters */ +#define CAN_CTRL2_RFFN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RFFN_SHIFT)) & CAN_CTRL2_RFFN_MASK) + +#define CAN_CTRL2_WRMFRZ_MASK (0x10000000U) +#define CAN_CTRL2_WRMFRZ_SHIFT (28U) +/*! WRMFRZ - Write Access to Memory in Freeze Mode + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CTRL2_WRMFRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_WRMFRZ_SHIFT)) & CAN_CTRL2_WRMFRZ_MASK) + +#define CAN_CTRL2_ECRWRE_MASK (0x20000000U) +#define CAN_CTRL2_ECRWRE_SHIFT (29U) +/*! ECRWRE - Error Correction Configuration Register Write Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CTRL2_ECRWRE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ECRWRE_SHIFT)) & CAN_CTRL2_ECRWRE_MASK) + +#define CAN_CTRL2_BOFFDONEMSK_MASK (0x40000000U) +#define CAN_CTRL2_BOFFDONEMSK_SHIFT (30U) +/*! BOFFDONEMSK - Bus Off Done Interrupt Mask + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CTRL2_BOFFDONEMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_BOFFDONEMSK_SHIFT)) & CAN_CTRL2_BOFFDONEMSK_MASK) + +#define CAN_CTRL2_ERRMSK_FAST_MASK (0x80000000U) +#define CAN_CTRL2_ERRMSK_FAST_SHIFT (31U) +/*! ERRMSK_FAST - Error Interrupt Mask for Errors Detected in the Data Phase of Fast CAN FD Frames + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CTRL2_ERRMSK_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ERRMSK_FAST_SHIFT)) & CAN_CTRL2_ERRMSK_FAST_MASK) +/*! @} */ + +/*! @name ESR2 - Error and Status 2 */ +/*! @{ */ + +#define CAN_ESR2_RX_PIN_ST_MASK (0x1000U) +#define CAN_ESR2_RX_PIN_ST_SHIFT (12U) +/*! RX_PIN_ST - RX Pin Status + * 0b0..RX pin is in the dominant state + * 0b1..RX pin is in a recessive state + */ +#define CAN_ESR2_RX_PIN_ST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_RX_PIN_ST_SHIFT)) & CAN_ESR2_RX_PIN_ST_MASK) + +#define CAN_ESR2_IMB_MASK (0x2000U) +#define CAN_ESR2_IMB_SHIFT (13U) +/*! IMB - Inactive Message Buffer + * 0b0..Message buffer indicated by ESR2[LPTM] is not inactive. + * 0b1..At least one message buffer is inactive. + */ +#define CAN_ESR2_IMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_IMB_SHIFT)) & CAN_ESR2_IMB_MASK) + +#define CAN_ESR2_VPS_MASK (0x4000U) +#define CAN_ESR2_VPS_SHIFT (14U) +/*! VPS - Valid Priority Status + * 0b0..Invalid + * 0b1..Valid + */ +#define CAN_ESR2_VPS(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_VPS_SHIFT)) & CAN_ESR2_VPS_MASK) + +#define CAN_ESR2_LPTM_MASK (0x7F0000U) +#define CAN_ESR2_LPTM_SHIFT (16U) +/*! LPTM - Lowest Priority TX Message Buffer */ +#define CAN_ESR2_LPTM(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_LPTM_SHIFT)) & CAN_ESR2_LPTM_MASK) +/*! @} */ + +/*! @name CRCR - Cyclic Redundancy Check */ +/*! @{ */ + +#define CAN_CRCR_TXCRC_MASK (0x7FFFU) +#define CAN_CRCR_TXCRC_SHIFT (0U) +/*! TXCRC - Transmitted CRC value */ +#define CAN_CRCR_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_TXCRC_SHIFT)) & CAN_CRCR_TXCRC_MASK) + +#define CAN_CRCR_MBCRC_MASK (0x7F0000U) +#define CAN_CRCR_MBCRC_SHIFT (16U) +/*! MBCRC - CRC Message Buffer */ +#define CAN_CRCR_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_MBCRC_SHIFT)) & CAN_CRCR_MBCRC_MASK) +/*! @} */ + +/*! @name RXFGMASK - Legacy RX FIFO Global Mask */ +/*! @{ */ + +#define CAN_RXFGMASK_FGM_MASK (0xFFFFFFFFU) +#define CAN_RXFGMASK_FGM_SHIFT (0U) +/*! FGM - Legacy RX FIFO Global Mask Bits */ +#define CAN_RXFGMASK_FGM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFGMASK_FGM_SHIFT)) & CAN_RXFGMASK_FGM_MASK) +/*! @} */ + +/*! @name RXFIR - Legacy RX FIFO Information */ +/*! @{ */ + +#define CAN_RXFIR_IDHIT_MASK (0x1FFU) +#define CAN_RXFIR_IDHIT_SHIFT (0U) +/*! IDHIT - Identifier Acceptance Filter Hit Indicator */ +#define CAN_RXFIR_IDHIT(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFIR_IDHIT_SHIFT)) & CAN_RXFIR_IDHIT_MASK) +/*! @} */ + +/*! @name CBT - CAN Bit Timing */ +/*! @{ */ + +#define CAN_CBT_EPSEG2_MASK (0x1FU) +#define CAN_CBT_EPSEG2_SHIFT (0U) +/*! EPSEG2 - Extended Phase Segment 2 */ +#define CAN_CBT_EPSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG2_SHIFT)) & CAN_CBT_EPSEG2_MASK) + +#define CAN_CBT_EPSEG1_MASK (0x3E0U) +#define CAN_CBT_EPSEG1_SHIFT (5U) +/*! EPSEG1 - Extended Phase Segment 1 */ +#define CAN_CBT_EPSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG1_SHIFT)) & CAN_CBT_EPSEG1_MASK) + +#define CAN_CBT_EPROPSEG_MASK (0xFC00U) +#define CAN_CBT_EPROPSEG_SHIFT (10U) +/*! EPROPSEG - Extended Propagation Segment */ +#define CAN_CBT_EPROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPROPSEG_SHIFT)) & CAN_CBT_EPROPSEG_MASK) + +#define CAN_CBT_ERJW_MASK (0x1F0000U) +#define CAN_CBT_ERJW_SHIFT (16U) +/*! ERJW - Extended Resync Jump Width */ +#define CAN_CBT_ERJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_ERJW_SHIFT)) & CAN_CBT_ERJW_MASK) + +#define CAN_CBT_EPRESDIV_MASK (0x7FE00000U) +#define CAN_CBT_EPRESDIV_SHIFT (21U) +/*! EPRESDIV - Extended Prescaler Division Factor */ +#define CAN_CBT_EPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPRESDIV_SHIFT)) & CAN_CBT_EPRESDIV_MASK) + +#define CAN_CBT_BTF_MASK (0x80000000U) +#define CAN_CBT_BTF_SHIFT (31U) +/*! BTF - Bit Timing Format Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_CBT_BTF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_BTF_SHIFT)) & CAN_CBT_BTF_MASK) +/*! @} */ + +/*! @name IMASK3 - Interrupt Masks 3 */ +/*! @{ */ + +#define CAN_IMASK3_BUF95TO64M_MASK (0xFFFFFFFFU) +#define CAN_IMASK3_BUF95TO64M_SHIFT (0U) +/*! BUF95TO64M - Buffer MBi Mask */ +#define CAN_IMASK3_BUF95TO64M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK3_BUF95TO64M_SHIFT)) & CAN_IMASK3_BUF95TO64M_MASK) +/*! @} */ + +/*! @name IFLAG3 - Interrupt Flags 3 */ +/*! @{ */ + +#define CAN_IFLAG3_BUF95TO64_MASK (0xFFFFFFFFU) +#define CAN_IFLAG3_BUF95TO64_SHIFT (0U) +/*! BUF95TO64 - Buffer MBi Interrupt */ +#define CAN_IFLAG3_BUF95TO64(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG3_BUF95TO64_SHIFT)) & CAN_IFLAG3_BUF95TO64_MASK) +/*! @} */ + +/*! @name ET - External Timer */ +/*! @{ */ + +#define CAN_ET_TIMER_MASK (0xFFFFFFFFU) +#define CAN_ET_TIMER_SHIFT (0U) +/*! TIMER - Timer */ +#define CAN_ET_TIMER(x) (((uint32_t)(((uint32_t)(x)) << CAN_ET_TIMER_SHIFT)) & CAN_ET_TIMER_MASK) +/*! @} */ + +/*! @name FLTCONF_IE - Fault Confinement Interrupt Enable */ +/*! @{ */ + +#define CAN_FLTCONF_IE_ATP_IE_MASK (0x1U) +#define CAN_FLTCONF_IE_ATP_IE_SHIFT (0U) +/*! ATP_IE - Active to Passive Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_FLTCONF_IE_ATP_IE(x) (((uint32_t)(((uint32_t)(x)) << CAN_FLTCONF_IE_ATP_IE_SHIFT)) & CAN_FLTCONF_IE_ATP_IE_MASK) + +#define CAN_FLTCONF_IE_PTA_IE_MASK (0x2U) +#define CAN_FLTCONF_IE_PTA_IE_SHIFT (1U) +/*! PTA_IE - Passive to Active Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_FLTCONF_IE_PTA_IE(x) (((uint32_t)(((uint32_t)(x)) << CAN_FLTCONF_IE_PTA_IE_SHIFT)) & CAN_FLTCONF_IE_PTA_IE_MASK) +/*! @} */ + +/*! @name RXIMR - Receive Individual Mask */ +/*! @{ */ + +#define CAN_RXIMR_MI_MASK (0xFFFFFFFFU) +#define CAN_RXIMR_MI_SHIFT (0U) +/*! MI - Individual Mask Bits */ +#define CAN_RXIMR_MI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXIMR_MI_SHIFT)) & CAN_RXIMR_MI_MASK) +/*! @} */ + +/* The count of CAN_RXIMR */ +#define CAN_RXIMR_COUNT (96U) + +/*! @name MECR - Memory Error Control */ +/*! @{ */ + +#define CAN_MECR_NCEFAFRZ_MASK (0x80U) +#define CAN_MECR_NCEFAFRZ_SHIFT (7U) +/*! NCEFAFRZ - Noncorrectable Errors in FlexCAN Access Put Chip in Freeze Mode + * 0b0..Normal operation + * 0b1..Freeze mode + */ +#define CAN_MECR_NCEFAFRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_NCEFAFRZ_SHIFT)) & CAN_MECR_NCEFAFRZ_MASK) + +#define CAN_MECR_ECCDIS_MASK (0x100U) +#define CAN_MECR_ECCDIS_SHIFT (8U) +/*! ECCDIS - Error Correction Disable + * 0b0..Enable + * 0b1..Disable + */ +#define CAN_MECR_ECCDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_ECCDIS_SHIFT)) & CAN_MECR_ECCDIS_MASK) + +#define CAN_MECR_RERRDIS_MASK (0x200U) +#define CAN_MECR_RERRDIS_SHIFT (9U) +/*! RERRDIS - Error Report Disable + * 0b0..Enable + * 0b1..Disable + */ +#define CAN_MECR_RERRDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_RERRDIS_SHIFT)) & CAN_MECR_RERRDIS_MASK) + +#define CAN_MECR_EXTERRIE_MASK (0x2000U) +#define CAN_MECR_EXTERRIE_SHIFT (13U) +/*! EXTERRIE - Extended Error Injection Enable + * 0b0..Disable. Apply error injection only to the 32-bit word. + * 0b1..Enable. Apply error injection to the 64-bit word. + */ +#define CAN_MECR_EXTERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_EXTERRIE_SHIFT)) & CAN_MECR_EXTERRIE_MASK) + +#define CAN_MECR_FAERRIE_MASK (0x4000U) +#define CAN_MECR_FAERRIE_SHIFT (14U) +/*! FAERRIE - FlexCAN Access Error Injection Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MECR_FAERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_FAERRIE_SHIFT)) & CAN_MECR_FAERRIE_MASK) + +#define CAN_MECR_HAERRIE_MASK (0x8000U) +#define CAN_MECR_HAERRIE_SHIFT (15U) +/*! HAERRIE - Host Access Error Injection Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MECR_HAERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_HAERRIE_SHIFT)) & CAN_MECR_HAERRIE_MASK) + +#define CAN_MECR_CEI_MSK_MASK (0x10000U) +#define CAN_MECR_CEI_MSK_SHIFT (16U) +/*! CEI_MSK - Correctable Errors Interrupt Mask + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MECR_CEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_CEI_MSK_SHIFT)) & CAN_MECR_CEI_MSK_MASK) + +#define CAN_MECR_FANCEI_MSK_MASK (0x40000U) +#define CAN_MECR_FANCEI_MSK_SHIFT (18U) +/*! FANCEI_MSK - FlexCAN Access with Noncorrectable Errors Interrupt Mask + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MECR_FANCEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_FANCEI_MSK_SHIFT)) & CAN_MECR_FANCEI_MSK_MASK) + +#define CAN_MECR_HANCEI_MSK_MASK (0x80000U) +#define CAN_MECR_HANCEI_MSK_SHIFT (19U) +/*! HANCEI_MSK - Host Access with Noncorrectable Errors Interrupt Mask + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_MECR_HANCEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_HANCEI_MSK_SHIFT)) & CAN_MECR_HANCEI_MSK_MASK) + +#define CAN_MECR_ECRWRDIS_MASK (0x80000000U) +#define CAN_MECR_ECRWRDIS_SHIFT (31U) +/*! ECRWRDIS - Error Configuration Register Write Disable + * 0b0..Enable + * 0b1..Disable + */ +#define CAN_MECR_ECRWRDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_ECRWRDIS_SHIFT)) & CAN_MECR_ECRWRDIS_MASK) +/*! @} */ + +/*! @name ERRIAR - Error Injection Address */ +/*! @{ */ + +#define CAN_ERRIAR_INJADDR_L_MASK (0x3U) +#define CAN_ERRIAR_INJADDR_L_SHIFT (0U) +/*! INJADDR_L - Error Injection Address Low */ +#define CAN_ERRIAR_INJADDR_L(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIAR_INJADDR_L_SHIFT)) & CAN_ERRIAR_INJADDR_L_MASK) + +#define CAN_ERRIAR_INJADDR_H_MASK (0x3FFCU) +#define CAN_ERRIAR_INJADDR_H_SHIFT (2U) +/*! INJADDR_H - Error Injection Address High */ +#define CAN_ERRIAR_INJADDR_H(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIAR_INJADDR_H_SHIFT)) & CAN_ERRIAR_INJADDR_H_MASK) +/*! @} */ + +/*! @name ERRIDPR - Error Injection Data Pattern */ +/*! @{ */ + +#define CAN_ERRIDPR_DFLIP_MASK (0xFFFFFFFFU) +#define CAN_ERRIDPR_DFLIP_SHIFT (0U) +/*! DFLIP - Data Flip Pattern */ +#define CAN_ERRIDPR_DFLIP(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIDPR_DFLIP_SHIFT)) & CAN_ERRIDPR_DFLIP_MASK) +/*! @} */ + +/*! @name ERRIPPR - Error Injection Parity Pattern */ +/*! @{ */ + +#define CAN_ERRIPPR_PFLIP0_MASK (0x1FU) +#define CAN_ERRIPPR_PFLIP0_SHIFT (0U) +/*! PFLIP0 - Parity Flip Pattern for Byte 0 (Least Significant) */ +#define CAN_ERRIPPR_PFLIP0(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP0_SHIFT)) & CAN_ERRIPPR_PFLIP0_MASK) + +#define CAN_ERRIPPR_PFLIP1_MASK (0x1F00U) +#define CAN_ERRIPPR_PFLIP1_SHIFT (8U) +/*! PFLIP1 - Parity Flip Pattern for Byte 1 */ +#define CAN_ERRIPPR_PFLIP1(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP1_SHIFT)) & CAN_ERRIPPR_PFLIP1_MASK) + +#define CAN_ERRIPPR_PFLIP2_MASK (0x1F0000U) +#define CAN_ERRIPPR_PFLIP2_SHIFT (16U) +/*! PFLIP2 - Parity Flip Pattern for Byte 2 */ +#define CAN_ERRIPPR_PFLIP2(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP2_SHIFT)) & CAN_ERRIPPR_PFLIP2_MASK) + +#define CAN_ERRIPPR_PFLIP3_MASK (0x1F000000U) +#define CAN_ERRIPPR_PFLIP3_SHIFT (24U) +/*! PFLIP3 - Parity Flip Pattern for Byte 3 (Most Significant) */ +#define CAN_ERRIPPR_PFLIP3(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP3_SHIFT)) & CAN_ERRIPPR_PFLIP3_MASK) +/*! @} */ + +/*! @name RERRAR - Error Report Address */ +/*! @{ */ + +#define CAN_RERRAR_ERRADDR_MASK (0x3FFFU) +#define CAN_RERRAR_ERRADDR_SHIFT (0U) +/*! ERRADDR - Address Where Error Detected */ +#define CAN_RERRAR_ERRADDR(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_ERRADDR_SHIFT)) & CAN_RERRAR_ERRADDR_MASK) + +#define CAN_RERRAR_SAID_MASK (0x70000U) +#define CAN_RERRAR_SAID_SHIFT (16U) +/*! SAID - SAID */ +#define CAN_RERRAR_SAID(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_SAID_SHIFT)) & CAN_RERRAR_SAID_MASK) + +#define CAN_RERRAR_NCE_MASK (0x1000000U) +#define CAN_RERRAR_NCE_SHIFT (24U) +/*! NCE - Noncorrectable Error + * 0b0..Reporting a correctable error + * 0b1..Reporting a noncorrectable error + */ +#define CAN_RERRAR_NCE(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_NCE_SHIFT)) & CAN_RERRAR_NCE_MASK) +/*! @} */ + +/*! @name RERRDR - Error Report Data */ +/*! @{ */ + +#define CAN_RERRDR_RDATA_MASK (0xFFFFFFFFU) +#define CAN_RERRDR_RDATA_SHIFT (0U) +/*! RDATA - Raw Data Word Read from Memory with Error */ +#define CAN_RERRDR_RDATA(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRDR_RDATA_SHIFT)) & CAN_RERRDR_RDATA_MASK) +/*! @} */ + +/*! @name RERRSYNR - Error Report Syndrome */ +/*! @{ */ + +#define CAN_RERRSYNR_SYND0_MASK (0x1FU) +#define CAN_RERRSYNR_SYND0_SHIFT (0U) +/*! SYND0 - Error Syndrome for Byte 0 (Least Significant) */ +#define CAN_RERRSYNR_SYND0(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND0_SHIFT)) & CAN_RERRSYNR_SYND0_MASK) + +#define CAN_RERRSYNR_BE0_MASK (0x80U) +#define CAN_RERRSYNR_BE0_SHIFT (7U) +/*! BE0 - Byte Enabled for Byte 0 (Least Significant) + * 0b0..Byte was not read. + * 0b1..Byte was read. + */ +#define CAN_RERRSYNR_BE0(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE0_SHIFT)) & CAN_RERRSYNR_BE0_MASK) + +#define CAN_RERRSYNR_SYND1_MASK (0x1F00U) +#define CAN_RERRSYNR_SYND1_SHIFT (8U) +/*! SYND1 - Error Syndrome for Byte 1 */ +#define CAN_RERRSYNR_SYND1(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND1_SHIFT)) & CAN_RERRSYNR_SYND1_MASK) + +#define CAN_RERRSYNR_BE1_MASK (0x8000U) +#define CAN_RERRSYNR_BE1_SHIFT (15U) +/*! BE1 - Byte Enabled for Byte 1 + * 0b0..Byte was not read. + * 0b1..Byte was read. + */ +#define CAN_RERRSYNR_BE1(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE1_SHIFT)) & CAN_RERRSYNR_BE1_MASK) + +#define CAN_RERRSYNR_SYND2_MASK (0x1F0000U) +#define CAN_RERRSYNR_SYND2_SHIFT (16U) +/*! SYND2 - Error Syndrome for Byte 2 */ +#define CAN_RERRSYNR_SYND2(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND2_SHIFT)) & CAN_RERRSYNR_SYND2_MASK) + +#define CAN_RERRSYNR_BE2_MASK (0x800000U) +#define CAN_RERRSYNR_BE2_SHIFT (23U) +/*! BE2 - Byte Enabled for Byte 2 + * 0b0..Byte was not read. + * 0b1..Byte was read. + */ +#define CAN_RERRSYNR_BE2(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE2_SHIFT)) & CAN_RERRSYNR_BE2_MASK) + +#define CAN_RERRSYNR_SYND3_MASK (0x1F000000U) +#define CAN_RERRSYNR_SYND3_SHIFT (24U) +/*! SYND3 - Error Syndrome for Byte 3 (Most Significant) */ +#define CAN_RERRSYNR_SYND3(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND3_SHIFT)) & CAN_RERRSYNR_SYND3_MASK) + +#define CAN_RERRSYNR_BE3_MASK (0x80000000U) +#define CAN_RERRSYNR_BE3_SHIFT (31U) +/*! BE3 - Byte Enabled for Byte 3 (Most Significant) + * 0b0..Byte was not read. + * 0b1..Byte was read. + */ +#define CAN_RERRSYNR_BE3(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE3_SHIFT)) & CAN_RERRSYNR_BE3_MASK) +/*! @} */ + +/*! @name ERRSR - Error Status */ +/*! @{ */ + +#define CAN_ERRSR_CEIOF_MASK (0x1U) +#define CAN_ERRSR_CEIOF_SHIFT (0U) +/*! CEIOF - Correctable Error Interrupt Overrun Flag + * 0b0..No errors detected + * 0b1..Error detected + */ +#define CAN_ERRSR_CEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_CEIOF_SHIFT)) & CAN_ERRSR_CEIOF_MASK) + +#define CAN_ERRSR_FANCEIOF_MASK (0x4U) +#define CAN_ERRSR_FANCEIOF_SHIFT (2U) +/*! FANCEIOF - FlexCAN Access with Noncorrectable Error Interrupt Overrun Flag + * 0b0..No errors detected + * 0b1..Error detected + */ +#define CAN_ERRSR_FANCEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_FANCEIOF_SHIFT)) & CAN_ERRSR_FANCEIOF_MASK) + +#define CAN_ERRSR_HANCEIOF_MASK (0x8U) +#define CAN_ERRSR_HANCEIOF_SHIFT (3U) +/*! HANCEIOF - Host Access With Noncorrectable Error Interrupt Overrun Flag + * 0b0..No errors detected + * 0b1..Error detected + */ +#define CAN_ERRSR_HANCEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_HANCEIOF_SHIFT)) & CAN_ERRSR_HANCEIOF_MASK) + +#define CAN_ERRSR_CEIF_MASK (0x10000U) +#define CAN_ERRSR_CEIF_SHIFT (16U) +/*! CEIF - Correctable Error Interrupt Flag + * 0b0..No errors detected + * 0b1..Error detected + */ +#define CAN_ERRSR_CEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_CEIF_SHIFT)) & CAN_ERRSR_CEIF_MASK) + +#define CAN_ERRSR_FANCEIF_MASK (0x40000U) +#define CAN_ERRSR_FANCEIF_SHIFT (18U) +/*! FANCEIF - FlexCAN Access with Noncorrectable Error Interrupt Flag + * 0b0..No errors detected + * 0b1..Error detected + */ +#define CAN_ERRSR_FANCEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_FANCEIF_SHIFT)) & CAN_ERRSR_FANCEIF_MASK) + +#define CAN_ERRSR_HANCEIF_MASK (0x80000U) +#define CAN_ERRSR_HANCEIF_SHIFT (19U) +/*! HANCEIF - Host Access with Noncorrectable Error Interrupt Flag + * 0b0..No errors detected + * 0b1..Error detected + */ +#define CAN_ERRSR_HANCEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_HANCEIF_SHIFT)) & CAN_ERRSR_HANCEIF_MASK) +/*! @} */ + +/*! @name EPRS - Enhanced CAN Bit Timing Prescalers */ +/*! @{ */ + +#define CAN_EPRS_ENPRESDIV_MASK (0x3FFU) +#define CAN_EPRS_ENPRESDIV_SHIFT (0U) +/*! ENPRESDIV - Extended Nominal Prescaler Division Factor */ +#define CAN_EPRS_ENPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_EPRS_ENPRESDIV_SHIFT)) & CAN_EPRS_ENPRESDIV_MASK) + +#define CAN_EPRS_EDPRESDIV_MASK (0x3FF0000U) +#define CAN_EPRS_EDPRESDIV_SHIFT (16U) +/*! EDPRESDIV - Extended Data Phase Prescaler Division Factor */ +#define CAN_EPRS_EDPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_EPRS_EDPRESDIV_SHIFT)) & CAN_EPRS_EDPRESDIV_MASK) +/*! @} */ + +/*! @name ENCBT - Enhanced Nominal CAN Bit Timing */ +/*! @{ */ + +#define CAN_ENCBT_NTSEG1_MASK (0xFFU) +#define CAN_ENCBT_NTSEG1_SHIFT (0U) +/*! NTSEG1 - Nominal Time Segment 1 */ +#define CAN_ENCBT_NTSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_ENCBT_NTSEG1_SHIFT)) & CAN_ENCBT_NTSEG1_MASK) + +#define CAN_ENCBT_NTSEG2_MASK (0x7F000U) +#define CAN_ENCBT_NTSEG2_SHIFT (12U) +/*! NTSEG2 - Nominal Time Segment 2 */ +#define CAN_ENCBT_NTSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_ENCBT_NTSEG2_SHIFT)) & CAN_ENCBT_NTSEG2_MASK) + +#define CAN_ENCBT_NRJW_MASK (0x1FC00000U) +#define CAN_ENCBT_NRJW_SHIFT (22U) +/*! NRJW - Nominal Resynchronization Jump Width */ +#define CAN_ENCBT_NRJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_ENCBT_NRJW_SHIFT)) & CAN_ENCBT_NRJW_MASK) +/*! @} */ + +/*! @name EDCBT - Enhanced Data Phase CAN Bit Timing */ +/*! @{ */ + +#define CAN_EDCBT_DTSEG1_MASK (0x1FU) +#define CAN_EDCBT_DTSEG1_SHIFT (0U) +/*! DTSEG1 - Data Phase Segment 1 */ +#define CAN_EDCBT_DTSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_EDCBT_DTSEG1_SHIFT)) & CAN_EDCBT_DTSEG1_MASK) + +#define CAN_EDCBT_DTSEG2_MASK (0xF000U) +#define CAN_EDCBT_DTSEG2_SHIFT (12U) +/*! DTSEG2 - Data Phase Time Segment 2 */ +#define CAN_EDCBT_DTSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_EDCBT_DTSEG2_SHIFT)) & CAN_EDCBT_DTSEG2_MASK) + +#define CAN_EDCBT_DRJW_MASK (0x3C00000U) +#define CAN_EDCBT_DRJW_SHIFT (22U) +/*! DRJW - Data Phase Resynchronization Jump Width */ +#define CAN_EDCBT_DRJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_EDCBT_DRJW_SHIFT)) & CAN_EDCBT_DRJW_MASK) +/*! @} */ + +/*! @name ETDC - Enhanced Transceiver Delay Compensation */ +/*! @{ */ + +#define CAN_ETDC_ETDCVAL_MASK (0xFFU) +#define CAN_ETDC_ETDCVAL_SHIFT (0U) +/*! ETDCVAL - Enhanced Transceiver Delay Compensation Value */ +#define CAN_ETDC_ETDCVAL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETDC_ETDCVAL_SHIFT)) & CAN_ETDC_ETDCVAL_MASK) + +#define CAN_ETDC_ETDCFAIL_MASK (0x8000U) +#define CAN_ETDC_ETDCFAIL_SHIFT (15U) +/*! ETDCFAIL - Transceiver Delay Compensation Fail + * 0b0..In range + * 0b1..Out of range + */ +#define CAN_ETDC_ETDCFAIL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETDC_ETDCFAIL_SHIFT)) & CAN_ETDC_ETDCFAIL_MASK) + +#define CAN_ETDC_ETDCOFF_MASK (0x7F0000U) +#define CAN_ETDC_ETDCOFF_SHIFT (16U) +/*! ETDCOFF - Enhanced Transceiver Delay Compensation Offset */ +#define CAN_ETDC_ETDCOFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETDC_ETDCOFF_SHIFT)) & CAN_ETDC_ETDCOFF_MASK) + +#define CAN_ETDC_TDMDIS_MASK (0x40000000U) +#define CAN_ETDC_TDMDIS_SHIFT (30U) +/*! TDMDIS - Transceiver Delay Measurement Disable + * 0b0..Enable + * 0b1..Disable + */ +#define CAN_ETDC_TDMDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETDC_TDMDIS_SHIFT)) & CAN_ETDC_TDMDIS_MASK) + +#define CAN_ETDC_ETDCEN_MASK (0x80000000U) +#define CAN_ETDC_ETDCEN_SHIFT (31U) +/*! ETDCEN - Transceiver Delay Compensation Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_ETDC_ETDCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ETDC_ETDCEN_SHIFT)) & CAN_ETDC_ETDCEN_MASK) +/*! @} */ + +/*! @name FDCTRL - CAN FD Control */ +/*! @{ */ + +#define CAN_FDCTRL_TDCVAL_MASK (0x3FU) +#define CAN_FDCTRL_TDCVAL_SHIFT (0U) +/*! TDCVAL - Transceiver Delay Compensation Value */ +#define CAN_FDCTRL_TDCVAL(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCVAL_SHIFT)) & CAN_FDCTRL_TDCVAL_MASK) + +#define CAN_FDCTRL_TDCOFF_MASK (0x1F00U) +#define CAN_FDCTRL_TDCOFF_SHIFT (8U) +/*! TDCOFF - Transceiver Delay Compensation Offset */ +#define CAN_FDCTRL_TDCOFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCOFF_SHIFT)) & CAN_FDCTRL_TDCOFF_MASK) + +#define CAN_FDCTRL_TDCFAIL_MASK (0x4000U) +#define CAN_FDCTRL_TDCFAIL_SHIFT (14U) +/*! TDCFAIL - Transceiver Delay Compensation Fail + * 0b0..In range + * 0b1..Out of range + */ +#define CAN_FDCTRL_TDCFAIL(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCFAIL_SHIFT)) & CAN_FDCTRL_TDCFAIL_MASK) + +#define CAN_FDCTRL_TDCEN_MASK (0x8000U) +#define CAN_FDCTRL_TDCEN_SHIFT (15U) +/*! TDCEN - Transceiver Delay Compensation Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_FDCTRL_TDCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCEN_SHIFT)) & CAN_FDCTRL_TDCEN_MASK) + +#define CAN_FDCTRL_MBDSR0_MASK (0x30000U) +#define CAN_FDCTRL_MBDSR0_SHIFT (16U) +/*! MBDSR0 - Message Buffer Data Size for Region 0 + * 0b00..8 bytes + * 0b01..16 bytes + * 0b10..32 bytes + * 0b11..64 bytes + */ +#define CAN_FDCTRL_MBDSR0(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR0_SHIFT)) & CAN_FDCTRL_MBDSR0_MASK) + +#define CAN_FDCTRL_MBDSR1_MASK (0x180000U) +#define CAN_FDCTRL_MBDSR1_SHIFT (19U) +/*! MBDSR1 - Message Buffer Data Size for Region 1 + * 0b00..8 bytes + * 0b01..16 bytes + * 0b10..32 bytes + * 0b11..64 bytes + */ +#define CAN_FDCTRL_MBDSR1(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR1_SHIFT)) & CAN_FDCTRL_MBDSR1_MASK) + +#define CAN_FDCTRL_MBDSR2_MASK (0xC00000U) +#define CAN_FDCTRL_MBDSR2_SHIFT (22U) +/*! MBDSR2 - Message Buffer Data Size for Region 2 + * 0b00..8 bytes + * 0b01..16 bytes + * 0b10..32 bytes + * 0b11..64 bytes + */ +#define CAN_FDCTRL_MBDSR2(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR2_SHIFT)) & CAN_FDCTRL_MBDSR2_MASK) + +#define CAN_FDCTRL_FDRATE_MASK (0x80000000U) +#define CAN_FDCTRL_FDRATE_SHIFT (31U) +/*! FDRATE - Bit Rate Switch Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_FDCTRL_FDRATE(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_FDRATE_SHIFT)) & CAN_FDCTRL_FDRATE_MASK) +/*! @} */ + +/*! @name FDCBT - CAN FD Bit Timing */ +/*! @{ */ + +#define CAN_FDCBT_FPSEG2_MASK (0x7U) +#define CAN_FDCBT_FPSEG2_SHIFT (0U) +/*! FPSEG2 - Fast Phase Segment 2 */ +#define CAN_FDCBT_FPSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG2_SHIFT)) & CAN_FDCBT_FPSEG2_MASK) + +#define CAN_FDCBT_FPSEG1_MASK (0xE0U) +#define CAN_FDCBT_FPSEG1_SHIFT (5U) +/*! FPSEG1 - Fast Phase Segment 1 */ +#define CAN_FDCBT_FPSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG1_SHIFT)) & CAN_FDCBT_FPSEG1_MASK) + +#define CAN_FDCBT_FPROPSEG_MASK (0x7C00U) +#define CAN_FDCBT_FPROPSEG_SHIFT (10U) +/*! FPROPSEG - Fast Propagation Segment */ +#define CAN_FDCBT_FPROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPROPSEG_SHIFT)) & CAN_FDCBT_FPROPSEG_MASK) + +#define CAN_FDCBT_FRJW_MASK (0x70000U) +#define CAN_FDCBT_FRJW_SHIFT (16U) +/*! FRJW - Fast Resync Jump Width */ +#define CAN_FDCBT_FRJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FRJW_SHIFT)) & CAN_FDCBT_FRJW_MASK) + +#define CAN_FDCBT_FPRESDIV_MASK (0x3FF00000U) +#define CAN_FDCBT_FPRESDIV_SHIFT (20U) +/*! FPRESDIV - Fast Prescaler Division Factor */ +#define CAN_FDCBT_FPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPRESDIV_SHIFT)) & CAN_FDCBT_FPRESDIV_MASK) +/*! @} */ + +/*! @name FDCRC - CAN FD CRC */ +/*! @{ */ + +#define CAN_FDCRC_FD_TXCRC_MASK (0x1FFFFFU) +#define CAN_FDCRC_FD_TXCRC_SHIFT (0U) +/*! FD_TXCRC - Extended Transmitted CRC value */ +#define CAN_FDCRC_FD_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_TXCRC_SHIFT)) & CAN_FDCRC_FD_TXCRC_MASK) + +#define CAN_FDCRC_FD_MBCRC_MASK (0x7F000000U) +#define CAN_FDCRC_FD_MBCRC_SHIFT (24U) +/*! FD_MBCRC - CRC Message Buffer Number for FD_TXCRC */ +#define CAN_FDCRC_FD_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_MBCRC_SHIFT)) & CAN_FDCRC_FD_MBCRC_MASK) +/*! @} */ + +/*! @name ERFCR - Enhanced RX FIFO Control */ +/*! @{ */ + +#define CAN_ERFCR_ERFWM_MASK (0x1FU) +#define CAN_ERFCR_ERFWM_SHIFT (0U) +/*! ERFWM - Enhanced RX FIFO Watermark */ +#define CAN_ERFCR_ERFWM(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_ERFWM_SHIFT)) & CAN_ERFCR_ERFWM_MASK) + +#define CAN_ERFCR_NFE_MASK (0x3F00U) +#define CAN_ERFCR_NFE_SHIFT (8U) +/*! NFE - Number of Enhanced RX FIFO Filter Elements */ +#define CAN_ERFCR_NFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_NFE_SHIFT)) & CAN_ERFCR_NFE_MASK) + +#define CAN_ERFCR_NEXIF_MASK (0x7F0000U) +#define CAN_ERFCR_NEXIF_SHIFT (16U) +/*! NEXIF - Number of Extended ID Filter Elements */ +#define CAN_ERFCR_NEXIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_NEXIF_SHIFT)) & CAN_ERFCR_NEXIF_MASK) + +#define CAN_ERFCR_DMALW_MASK (0x7C000000U) +#define CAN_ERFCR_DMALW_SHIFT (26U) +/*! DMALW - DMA Last Word */ +#define CAN_ERFCR_DMALW(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_DMALW_SHIFT)) & CAN_ERFCR_DMALW_MASK) + +#define CAN_ERFCR_ERFEN_MASK (0x80000000U) +#define CAN_ERFCR_ERFEN_SHIFT (31U) +/*! ERFEN - Enhanced RX FIFO enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_ERFCR_ERFEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFCR_ERFEN_SHIFT)) & CAN_ERFCR_ERFEN_MASK) +/*! @} */ + +/*! @name ERFIER - Enhanced RX FIFO Interrupt Enable */ +/*! @{ */ + +#define CAN_ERFIER_ERFDAIE_MASK (0x10000000U) +#define CAN_ERFIER_ERFDAIE_SHIFT (28U) +/*! ERFDAIE - Enhanced RX FIFO Data Available Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_ERFIER_ERFDAIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFIER_ERFDAIE_SHIFT)) & CAN_ERFIER_ERFDAIE_MASK) + +#define CAN_ERFIER_ERFWMIIE_MASK (0x20000000U) +#define CAN_ERFIER_ERFWMIIE_SHIFT (29U) +/*! ERFWMIIE - Enhanced RX FIFO Watermark Indication Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_ERFIER_ERFWMIIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFIER_ERFWMIIE_SHIFT)) & CAN_ERFIER_ERFWMIIE_MASK) + +#define CAN_ERFIER_ERFOVFIE_MASK (0x40000000U) +#define CAN_ERFIER_ERFOVFIE_SHIFT (30U) +/*! ERFOVFIE - Enhanced RX FIFO Overflow Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_ERFIER_ERFOVFIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFIER_ERFOVFIE_SHIFT)) & CAN_ERFIER_ERFOVFIE_MASK) + +#define CAN_ERFIER_ERFUFWIE_MASK (0x80000000U) +#define CAN_ERFIER_ERFUFWIE_SHIFT (31U) +/*! ERFUFWIE - Enhanced RX FIFO Underflow Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define CAN_ERFIER_ERFUFWIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFIER_ERFUFWIE_SHIFT)) & CAN_ERFIER_ERFUFWIE_MASK) +/*! @} */ + +/*! @name ERFSR - Enhanced RX FIFO Status */ +/*! @{ */ + +#define CAN_ERFSR_ERFEL_MASK (0x3FU) +#define CAN_ERFSR_ERFEL_SHIFT (0U) +/*! ERFEL - Enhanced RX FIFO Elements */ +#define CAN_ERFSR_ERFEL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFEL_SHIFT)) & CAN_ERFSR_ERFEL_MASK) + +#define CAN_ERFSR_ERFF_MASK (0x10000U) +#define CAN_ERFSR_ERFF_SHIFT (16U) +/*! ERFF - Enhanced RX FIFO Full Flag + * 0b0..Not full + * 0b1..Full + */ +#define CAN_ERFSR_ERFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFF_SHIFT)) & CAN_ERFSR_ERFF_MASK) + +#define CAN_ERFSR_ERFE_MASK (0x20000U) +#define CAN_ERFSR_ERFE_SHIFT (17U) +/*! ERFE - Enhanced RX FIFO Empty Flag + * 0b0..Not empty + * 0b1..Empty + */ +#define CAN_ERFSR_ERFE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFE_SHIFT)) & CAN_ERFSR_ERFE_MASK) + +#define CAN_ERFSR_ERFCLR_MASK (0x8000000U) +#define CAN_ERFSR_ERFCLR_SHIFT (27U) +/*! ERFCLR - Enhanced RX FIFO Clear + * 0b0..No effect + * 0b1..Clear enhanced RX FIFO content + */ +#define CAN_ERFSR_ERFCLR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFCLR_SHIFT)) & CAN_ERFSR_ERFCLR_MASK) + +#define CAN_ERFSR_ERFDA_MASK (0x10000000U) +#define CAN_ERFSR_ERFDA_SHIFT (28U) +/*! ERFDA - Enhanced RX FIFO Data Available Flag + * 0b0..No such occurrence + * 0b1..At least one message stored in Enhanced RX FIFO + */ +#define CAN_ERFSR_ERFDA(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFDA_SHIFT)) & CAN_ERFSR_ERFDA_MASK) + +#define CAN_ERFSR_ERFWMI_MASK (0x20000000U) +#define CAN_ERFSR_ERFWMI_SHIFT (29U) +/*! ERFWMI - Enhanced RX FIFO Watermark Indication Flag + * 0b0..No such occurrence + * 0b1..Number of messages in FIFO is greater than the watermark + */ +#define CAN_ERFSR_ERFWMI(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFWMI_SHIFT)) & CAN_ERFSR_ERFWMI_MASK) + +#define CAN_ERFSR_ERFOVF_MASK (0x40000000U) +#define CAN_ERFSR_ERFOVF_SHIFT (30U) +/*! ERFOVF - Enhanced RX FIFO Overflow Flag + * 0b0..No such occurrence + * 0b1..Overflow + */ +#define CAN_ERFSR_ERFOVF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFOVF_SHIFT)) & CAN_ERFSR_ERFOVF_MASK) + +#define CAN_ERFSR_ERFUFW_MASK (0x80000000U) +#define CAN_ERFSR_ERFUFW_SHIFT (31U) +/*! ERFUFW - Enhanced RX FIFO Underflow Flag + * 0b0..No such occurrence + * 0b1..Underflow + */ +#define CAN_ERFSR_ERFUFW(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFSR_ERFUFW_SHIFT)) & CAN_ERFSR_ERFUFW_MASK) +/*! @} */ + +/*! @name HR_TIME_STAMP - High-Resolution Timestamp */ +/*! @{ */ + +#define CAN_HR_TIME_STAMP_TS_MASK (0xFFFFFFFFU) +#define CAN_HR_TIME_STAMP_TS_SHIFT (0U) +/*! TS - High-Resolution Timestamp */ +#define CAN_HR_TIME_STAMP_TS(x) (((uint32_t)(((uint32_t)(x)) << CAN_HR_TIME_STAMP_TS_SHIFT)) & CAN_HR_TIME_STAMP_TS_MASK) +/*! @} */ + +/* The count of CAN_HR_TIME_STAMP */ +#define CAN_HR_TIME_STAMP_COUNT (96U) + +/*! @name ERFFEL - Enhanced RX FIFO Filter Element */ +/*! @{ */ + +#define CAN_ERFFEL_FEL_MASK (0xFFFFFFFFU) +#define CAN_ERFFEL_FEL_SHIFT (0U) +/*! FEL - Filter Element Bits */ +#define CAN_ERFFEL_FEL(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERFFEL_FEL_SHIFT)) & CAN_ERFFEL_FEL_MASK) +/*! @} */ + +/* The count of CAN_ERFFEL */ +#define CAN_ERFFEL_COUNT (128U) + + +/*! + * @} + */ /* end of group CAN_Register_Masks */ + + +/* CAN - Peripheral instance base addresses */ +/** Peripheral CAN1 base address */ +#define CAN1_BASE (0x443A0000u) +/** Peripheral CAN1 base pointer */ +#define CAN1 ((CAN_Type *)CAN1_BASE) +/** Peripheral CAN2 base address */ +#define CAN2_BASE (0x425B0000u) +/** Peripheral CAN2 base pointer */ +#define CAN2 ((CAN_Type *)CAN2_BASE) +/** Array initializer of CAN peripheral base addresses */ +#define CAN_BASE_ADDRS { 0u, CAN1_BASE, CAN2_BASE } +/** Array initializer of CAN peripheral base pointers */ +#define CAN_BASE_PTRS { (CAN_Type *)0u, CAN1, CAN2 } +/** Interrupt vectors for the CAN peripheral type */ +#define CAN_Rx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn } +#define CAN_Tx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn } +#define CAN_Wake_Up_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn } +#define CAN_Error_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn } +#define CAN_Bus_Off_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn } + +/*! + * @} + */ /* end of group CAN_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- CCM Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup CCM_Peripheral_Access_Layer CCM Peripheral Access Layer + * @{ + */ + +/** CCM - Register Layout Typedef */ +typedef struct { + struct { /* offset: 0x0, array step: 0x80 */ + struct { /* offset: 0x0 */ + __IO uint32_t RW; /**< Clock Root Control Register, offset: 0x0 */ + __IO uint32_t SET; /**< Clock Root Control Register, offset: 0x4 */ + __IO uint32_t CLR; /**< Clock Root Control Register, offset: 0x8 */ + __IO uint32_t TOG; /**< Clock Root Control Register, offset: 0xC */ + } CLOCK_ROOT_CONTROL; + uint8_t RESERVED_0[16]; + __IO uint32_t STATUS0; /**< Clock root working status, array offset: 0x20, array step: 0x80 */ + uint8_t RESERVED_1[12]; + struct { /* offset: 0x30 */ + __IO uint32_t RW; /**< Clock root access control, offset: 0x30 */ + __IO uint32_t SET; /**< Clock root access control, offset: 0x34 */ + __IO uint32_t CLR; /**< Clock root access control, offset: 0x38 */ + __IO uint32_t TOG; /**< Clock root access control, offset: 0x3C */ + } CLOCK_ROOT_AUTHEN; + uint8_t RESERVED_2[64]; + } CLOCK_ROOT[95]; + uint8_t RESERVED_0[6272]; + struct { /* offset: 0x4800 */ + uint32_t RW; /**< General Purpose Register, offset: 0x4800 */ + uint32_t SET; /**< General Purpose Register, offset: 0x4804 */ + uint32_t CLR; /**< General Purpose Register, offset: 0x4808 */ + uint32_t TOG; /**< General Purpose Register, offset: 0x480C */ + } GPR_SHARED0; + struct { /* offset: 0x4810 */ + __IO uint32_t RW; /**< GPR access control, offset: 0x4810 */ + __IO uint32_t SET; /**< GPR access control, offset: 0x4814 */ + __IO uint32_t CLR; /**< GPR access control, offset: 0x4818 */ + __IO uint32_t TOG; /**< GPR access control, offset: 0x481C */ + } GPR_SHARED0_AUTHEN; + struct { /* offset: 0x4820 */ + __IO uint32_t RW; /**< General Purpose Register, offset: 0x4820 */ + __IO uint32_t SET; /**< General Purpose Register, offset: 0x4824 */ + __IO uint32_t CLR; /**< General Purpose Register, offset: 0x4828 */ + __IO uint32_t TOG; /**< General Purpose Register, offset: 0x482C */ + } GPR_SHARED1; + struct { /* offset: 0x4830 */ + __IO uint32_t RW; /**< GPR access control, offset: 0x4830 */ + __IO uint32_t SET; /**< GPR access control, offset: 0x4834 */ + __IO uint32_t CLR; /**< GPR access control, offset: 0x4838 */ + __IO uint32_t TOG; /**< GPR access control, offset: 0x483C */ + } GPR_SHARED1_AUTHEN; + struct { /* offset: 0x4840 */ + __IO uint32_t RW; /**< General Purpose Register, offset: 0x4840 */ + __IO uint32_t SET; /**< General Purpose Register, offset: 0x4844 */ + __IO uint32_t CLR; /**< General Purpose Register, offset: 0x4848 */ + __IO uint32_t TOG; /**< General Purpose Register, offset: 0x484C */ + } GPR_SHARED2; + struct { /* offset: 0x4850 */ + __IO uint32_t RW; /**< GPR access control, offset: 0x4850 */ + __IO uint32_t SET; /**< GPR access control, offset: 0x4854 */ + __IO uint32_t CLR; /**< GPR access control, offset: 0x4858 */ + __IO uint32_t TOG; /**< GPR access control, offset: 0x485C */ + } GPR_SHARED2_AUTHEN; + struct { /* offset: 0x4860, array step: 0x20 */ + struct { /* offset: 0x4860 */ + uint32_t RW; /**< General Purpose Register, offset: 0x4860 */ + uint32_t SET; /**< General Purpose Register, offset: 0x4864 */ + uint32_t CLR; /**< General Purpose Register, offset: 0x4868 */ + uint32_t TOG; /**< General Purpose Register, offset: 0x486C */ + } GPR_SHARED; + struct { /* offset: 0x4870 */ + __IO uint32_t RW; /**< GPR access control, offset: 0x4870 */ + __IO uint32_t SET; /**< GPR access control, offset: 0x4874 */ + __IO uint32_t CLR; /**< GPR access control, offset: 0x4878 */ + __IO uint32_t TOG; /**< GPR access control, offset: 0x487C */ + } GPR_SHARED_AUTHEN; + } GPR_SHARED[5]; + uint8_t RESERVED_1[768]; + struct { /* offset: 0x4C00, array step: 0x20 */ + struct { /* offset: 0x4C00 */ + __IO uint32_t RW; /**< General puspose register, offset: 0x4C00 */ + __IO uint32_t SET; /**< General puspose register, offset: 0x4C04 */ + __IO uint32_t CLR; /**< General puspose register, offset: 0x4C08 */ + __IO uint32_t TOG; /**< General puspose register, offset: 0x4C0C */ + } GPR_PRIVATE; + struct { /* offset: 0x4C10 */ + __IO uint32_t RW; /**< GPR access control, offset: 0x4C10 */ + __IO uint32_t SET; /**< GPR access control, offset: 0x4C14 */ + __IO uint32_t CLR; /**< GPR access control, offset: 0x4C18 */ + __IO uint32_t TOG; /**< GPR access control, offset: 0x4C1C */ + } GPR_PRIVATE_AUTHEN; + } GPR_PRIVATE[8]; + uint8_t RESERVED_2[768]; + struct { /* offset: 0x5000, array step: 0x40 */ + __IO uint32_t DIRECT; /**< Clock source direct control, array offset: 0x5000, array step: 0x40 */ + __I uint32_t LPM_STATUS0; /**< Low power mode information transfer status, array offset: 0x5004, array step: 0x40 */ + __I uint32_t LPM_STATUS1; /**< Low power mode information transfer status, array offset: 0x5008, array step: 0x40 */ + uint8_t RESERVED_0[4]; + __IO uint32_t LPM0; /**< Clock source low power mode setting, array offset: 0x5010, array step: 0x40 */ + __IO uint32_t LPM1; /**< clock source low power mode setting, array offset: 0x5014, array step: 0x40 */ + uint8_t RESERVED_1[4]; + __I uint32_t LPM_CUR; /**< LPM setting of current CPU domain, array offset: 0x501C, array step: 0x40 */ + __I uint32_t STATUS0; /**< Clock source working status, array offset: 0x5020, array step: 0x40 */ + __I uint32_t STATUS1; /**< Clock source domain status, array offset: 0x5024, array step: 0x40 */ + uint8_t RESERVED_2[8]; + __IO uint32_t AUTHEN; /**< Clock Source access control, array offset: 0x5030, array step: 0x40 */ + uint8_t RESERVED_3[12]; + } OSCPLL[20]; + uint8_t RESERVED_3[11008]; + struct { /* offset: 0x8000, array step: 0x40 */ + __IO uint32_t DIRECT; /**< LPCG direct control, array offset: 0x8000, array step: 0x40 */ + __I uint32_t LPM_STATUS0; /**< Low power mode information transfer status, array offset: 0x8004, array step: 0x40 */ + __I uint32_t LPM_STATUS1; /**< Low power mode information transfer status, array offset: 0x8008, array step: 0x40 */ + uint8_t RESERVED_0[4]; + __IO uint32_t LPM0; /**< LPCG low power mode setting, array offset: 0x8010, array step: 0x40 */ + __IO uint32_t LPM1; /**< LPCG low power mode setting, array offset: 0x8014, array step: 0x40 */ + uint8_t RESERVED_1[4]; + __IO uint32_t LPM_CUR; /**< LPM setting of current CPU domain, array offset: 0x801C, array step: 0x40 */ + __I uint32_t STATUS0; /**< LPCG working status, array offset: 0x8020, array step: 0x40 */ + __I uint32_t STATUS1; /**< LPCG domain status, array offset: 0x8024, array step: 0x40 */ + uint8_t RESERVED_2[8]; + __IO uint32_t AUTHEN; /**< LPCG access control, array offset: 0x8030, array step: 0x40 */ + uint8_t RESERVED_3[12]; + } LPCG[127]; +} CCM_Type; + +/* ---------------------------------------------------------------------------- + -- CCM Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup CCM_Register_Masks CCM Register Masks + * @{ + */ + +/*! @name CLOCK_ROOT - Clock Root Control Register */ +/*! @{ */ + +#define CCM_CLOCK_ROOT_DIV_MASK (0xFFU) +#define CCM_CLOCK_ROOT_DIV_SHIFT (0U) +/*! DIV - Clock division fraction. */ +#define CCM_CLOCK_ROOT_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_DIV_SHIFT)) & CCM_CLOCK_ROOT_DIV_MASK) + +#define CCM_CLOCK_ROOT_MUX_MASK (0x300U) +#define CCM_CLOCK_ROOT_MUX_SHIFT (8U) +/*! MUX - Clock multiplexer. + * 0b00..Select clock source 0 + * 0b01..Select clock source 1 + * 0b10..Select clock source 2 + * 0b11..Select clock source 3 + */ +#define CCM_CLOCK_ROOT_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_MUX_SHIFT)) & CCM_CLOCK_ROOT_MUX_MASK) + +#define CCM_CLOCK_ROOT_OFF_MASK (0x1000000U) +#define CCM_CLOCK_ROOT_OFF_SHIFT (24U) +/*! OFF - Shutdown clock root. + * 0b0..Clock is running. + * 0b1..Turn off clock. + */ +#define CCM_CLOCK_ROOT_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_OFF_SHIFT)) & CCM_CLOCK_ROOT_OFF_MASK) +/*! @} */ + +/*! @name CLOCK_ROOT_STATUS0 - Clock root working status */ +/*! @{ */ + +#define CCM_CLOCK_ROOT_STATUS0_DIV_MASK (0xFFU) +#define CCM_CLOCK_ROOT_STATUS0_DIV_SHIFT (0U) +/*! DIV - Current clock root DIV setting */ +#define CCM_CLOCK_ROOT_STATUS0_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_DIV_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_DIV_MASK) + +#define CCM_CLOCK_ROOT_STATUS0_MUX_MASK (0x300U) +#define CCM_CLOCK_ROOT_STATUS0_MUX_SHIFT (8U) +/*! MUX - Current clock root MUX setting */ +#define CCM_CLOCK_ROOT_STATUS0_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_MUX_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_MUX_MASK) + +#define CCM_CLOCK_ROOT_STATUS0_OFF_MASK (0x1000000U) +#define CCM_CLOCK_ROOT_STATUS0_OFF_SHIFT (24U) +/*! OFF - Current clock root OFF setting + * 0b0..Clock is running. + * 0b1..Turn off clock. + */ +#define CCM_CLOCK_ROOT_STATUS0_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_OFF_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_OFF_MASK) + +#define CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_MASK (0x10000000U) +#define CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_SHIFT (28U) +/*! SLICE_BUSY - Indication for clock generation logic is applying new setting. + * 0b0..Clock generation logic is not busy. + * 0b1..Clock generation logic is applying new setting. + */ +#define CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_MASK) + +#define CCM_CLOCK_ROOT_STATUS0_CHANGING_MASK (0x80000000U) +#define CCM_CLOCK_ROOT_STATUS0_CHANGING_SHIFT (31U) +/*! CHANGING - Internal updating in clock root + * 0b0..Clock Status is not updating currently + * 0b1..Clock generation logic is updating currently + */ +#define CCM_CLOCK_ROOT_STATUS0_CHANGING(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_CHANGING_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_CHANGING_MASK) +/*! @} */ + +/* The count of CCM_CLOCK_ROOT_STATUS0 */ +#define CCM_CLOCK_ROOT_STATUS0_COUNT (95U) + +/*! @name CLOCK_ROOT - Clock root access control */ +/*! @{ */ + +#define CCM_CLOCK_ROOT_TZ_USER_MASK (0x100U) +#define CCM_CLOCK_ROOT_TZ_USER_SHIFT (8U) +/*! TZ_USER - User access permission + * 0b0..Clock Root settings cannot be changed in user mode. + * 0b1..Clock Root settings can be changed in user mode. + */ +#define CCM_CLOCK_ROOT_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_TZ_USER_SHIFT)) & CCM_CLOCK_ROOT_TZ_USER_MASK) + +#define CCM_CLOCK_ROOT_TZ_NS_MASK (0x200U) +#define CCM_CLOCK_ROOT_TZ_NS_SHIFT (9U) +/*! TZ_NS - Non-secure access permission + * 0b0..Cannot be changed in Non-secure mode. + * 0b1..Can be changed in Non-secure mode. + */ +#define CCM_CLOCK_ROOT_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_TZ_NS_SHIFT)) & CCM_CLOCK_ROOT_TZ_NS_MASK) + +#define CCM_CLOCK_ROOT_LOCK_TZ_MASK (0x800U) +#define CCM_CLOCK_ROOT_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TrustZone settings + * 0b0..TrustZone setting is not locked. + * 0b1..TrustZone setting is locked. + */ +#define CCM_CLOCK_ROOT_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_LOCK_TZ_SHIFT)) & CCM_CLOCK_ROOT_LOCK_TZ_MASK) + +#define CCM_CLOCK_ROOT_LOCK_LIST_MASK (0x8000U) +#define CCM_CLOCK_ROOT_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - Lock white list + * 0b0..Whitelist is not locked. + * 0b1..Whitelist is locked. + */ +#define CCM_CLOCK_ROOT_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_LOCK_LIST_SHIFT)) & CCM_CLOCK_ROOT_LOCK_LIST_MASK) + +#define CCM_CLOCK_ROOT_WHITE_LIST_MASK (0xFFFF0000U) +#define CCM_CLOCK_ROOT_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Whitelist settings */ +#define CCM_CLOCK_ROOT_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_WHITE_LIST_SHIFT)) & CCM_CLOCK_ROOT_WHITE_LIST_MASK) +/*! @} */ + +/*! @name GPR_SHARED0_AUTHEN - GPR access control */ +/*! @{ */ + +#define CCM_GPR_SHARED0_AUTHEN_TZ_USER_MASK (0x100U) +#define CCM_GPR_SHARED0_AUTHEN_TZ_USER_SHIFT (8U) +/*! TZ_USER - User access permission + * 0b0..Registers of shared GPR slice cannot be changed in user mode. + * 0b1..Registers of shared GPR slice can be changed in user mode. + */ +#define CCM_GPR_SHARED0_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED0_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_SHARED0_AUTHEN_TZ_USER_MASK) + +#define CCM_GPR_SHARED0_AUTHEN_TZ_NS_MASK (0x200U) +#define CCM_GPR_SHARED0_AUTHEN_TZ_NS_SHIFT (9U) +/*! TZ_NS - Non-secure access permission + * 0b0..Cannot be changed in Non-secure mode. + * 0b1..Can be changed in Non-secure mode. + */ +#define CCM_GPR_SHARED0_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED0_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_SHARED0_AUTHEN_TZ_NS_MASK) + +#define CCM_GPR_SHARED0_AUTHEN_LOCK_TZ_MASK (0x800U) +#define CCM_GPR_SHARED0_AUTHEN_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TrustZone settings + * 0b0..TrustZone settings is not locked. + * 0b1..TrustZone settings is locked. + */ +#define CCM_GPR_SHARED0_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED0_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_SHARED0_AUTHEN_LOCK_TZ_MASK) + +#define CCM_GPR_SHARED0_AUTHEN_LOCK_LIST_MASK (0x8000U) +#define CCM_GPR_SHARED0_AUTHEN_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - Lock white list + * 0b0..Whitelist is not locked. + * 0b1..Whitelist is locked. + */ +#define CCM_GPR_SHARED0_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED0_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_SHARED0_AUTHEN_LOCK_LIST_MASK) + +#define CCM_GPR_SHARED0_AUTHEN_WHITE_LIST_MASK (0xFFFF0000U) +#define CCM_GPR_SHARED0_AUTHEN_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Whitelist settings */ +#define CCM_GPR_SHARED0_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED0_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_SHARED0_AUTHEN_WHITE_LIST_MASK) +/*! @} */ + +/*! @name GPR_SHARED1 - General Purpose Register */ +/*! @{ */ + +#define CCM_GPR_SHARED1_CA55_CLOCK_SELECT_MASK (0x1U) +#define CCM_GPR_SHARED1_CA55_CLOCK_SELECT_SHIFT (0U) +/*! CA55_CLOCK_SELECT - Clock select signal between ccm clock root and ARM PLL clock + * 0b0..Clkroot_arm_a55 is used. + * 0b1..The clock output of ARM PLL is selected. + */ +#define CCM_GPR_SHARED1_CA55_CLOCK_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED1_CA55_CLOCK_SELECT_SHIFT)) & CCM_GPR_SHARED1_CA55_CLOCK_SELECT_MASK) +/*! @} */ + +/*! @name GPR_SHARED1_AUTHEN - GPR access control */ +/*! @{ */ + +#define CCM_GPR_SHARED1_AUTHEN_TZ_USER_MASK (0x100U) +#define CCM_GPR_SHARED1_AUTHEN_TZ_USER_SHIFT (8U) +/*! TZ_USER - User access permission + * 0b0..Registers of shared GPR slice cannot be changed in user mode. + * 0b1..Registers of shared GPR slice can be changed in user mode. + */ +#define CCM_GPR_SHARED1_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED1_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_SHARED1_AUTHEN_TZ_USER_MASK) + +#define CCM_GPR_SHARED1_AUTHEN_TZ_NS_MASK (0x200U) +#define CCM_GPR_SHARED1_AUTHEN_TZ_NS_SHIFT (9U) +/*! TZ_NS - Non-secure access permission + * 0b0..Cannot be changed in Non-secure mode. + * 0b1..Can be changed in Non-secure mode. + */ +#define CCM_GPR_SHARED1_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED1_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_SHARED1_AUTHEN_TZ_NS_MASK) + +#define CCM_GPR_SHARED1_AUTHEN_LOCK_TZ_MASK (0x800U) +#define CCM_GPR_SHARED1_AUTHEN_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TrustZone settings + * 0b0..TrustZone settings is not locked. + * 0b1..TrustZone settings is locked. + */ +#define CCM_GPR_SHARED1_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED1_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_SHARED1_AUTHEN_LOCK_TZ_MASK) + +#define CCM_GPR_SHARED1_AUTHEN_LOCK_LIST_MASK (0x8000U) +#define CCM_GPR_SHARED1_AUTHEN_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - Lock white list + * 0b0..Whitelist is not locked. + * 0b1..Whitelist is locked. + */ +#define CCM_GPR_SHARED1_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED1_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_SHARED1_AUTHEN_LOCK_LIST_MASK) + +#define CCM_GPR_SHARED1_AUTHEN_WHITE_LIST_MASK (0xFFFF0000U) +#define CCM_GPR_SHARED1_AUTHEN_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Whitelist settings */ +#define CCM_GPR_SHARED1_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED1_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_SHARED1_AUTHEN_WHITE_LIST_MASK) +/*! @} */ + +/*! @name GPR_SHARED2 - General Purpose Register */ +/*! @{ */ + +#define CCM_GPR_SHARED2_DRAM_PLL_BYPASS_MASK (0x1U) +#define CCM_GPR_SHARED2_DRAM_PLL_BYPASS_SHIFT (0U) +/*! DRAM_PLL_BYPASS - Clock select signal between ccm clock root and DRAM PLL clock + * 0b0..The clock output of DRAM PLL is selected. + * 0b1..Dram_alt_clk_root is selected. + */ +#define CCM_GPR_SHARED2_DRAM_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED2_DRAM_PLL_BYPASS_SHIFT)) & CCM_GPR_SHARED2_DRAM_PLL_BYPASS_MASK) +/*! @} */ + +/*! @name GPR_SHARED2_AUTHEN - GPR access control */ +/*! @{ */ + +#define CCM_GPR_SHARED2_AUTHEN_TZ_USER_MASK (0x100U) +#define CCM_GPR_SHARED2_AUTHEN_TZ_USER_SHIFT (8U) +/*! TZ_USER - User access permission + * 0b0..Registers of shared GPR slice cannot be changed in user mode. + * 0b1..Registers of shared GPR slice can be changed in user mode. + */ +#define CCM_GPR_SHARED2_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED2_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_SHARED2_AUTHEN_TZ_USER_MASK) + +#define CCM_GPR_SHARED2_AUTHEN_TZ_NS_MASK (0x200U) +#define CCM_GPR_SHARED2_AUTHEN_TZ_NS_SHIFT (9U) +/*! TZ_NS - Non-secure access permission + * 0b0..Cannot be changed in Non-secure mode. + * 0b1..Can be changed in Non-secure mode. + */ +#define CCM_GPR_SHARED2_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED2_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_SHARED2_AUTHEN_TZ_NS_MASK) + +#define CCM_GPR_SHARED2_AUTHEN_LOCK_TZ_MASK (0x800U) +#define CCM_GPR_SHARED2_AUTHEN_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TrustZone settings + * 0b0..TrustZone settings is not locked. + * 0b1..TrustZone settings is locked. + */ +#define CCM_GPR_SHARED2_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED2_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_SHARED2_AUTHEN_LOCK_TZ_MASK) + +#define CCM_GPR_SHARED2_AUTHEN_LOCK_LIST_MASK (0x8000U) +#define CCM_GPR_SHARED2_AUTHEN_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - Lock white list + * 0b0..Whitelist is not locked. + * 0b1..Whitelist is locked. + */ +#define CCM_GPR_SHARED2_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED2_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_SHARED2_AUTHEN_LOCK_LIST_MASK) + +#define CCM_GPR_SHARED2_AUTHEN_WHITE_LIST_MASK (0xFFFF0000U) +#define CCM_GPR_SHARED2_AUTHEN_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Whitelist settings */ +#define CCM_GPR_SHARED2_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED2_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_SHARED2_AUTHEN_WHITE_LIST_MASK) +/*! @} */ + +/*! @name GPR_SHARED - GPR access control */ +/*! @{ */ + +#define CCM_GPR_SHARED_TZ_USER_MASK (0x100U) +#define CCM_GPR_SHARED_TZ_USER_SHIFT (8U) +/*! TZ_USER - User access permission + * 0b0..Registers of shared GPR slice cannot be changed in user mode. + * 0b1..Registers of shared GPR slice can be changed in user mode. + */ +#define CCM_GPR_SHARED_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_TZ_USER_SHIFT)) & CCM_GPR_SHARED_TZ_USER_MASK) + +#define CCM_GPR_SHARED_TZ_NS_MASK (0x200U) +#define CCM_GPR_SHARED_TZ_NS_SHIFT (9U) +/*! TZ_NS - Non-secure access permission + * 0b0..Cannot be changed in Non-secure mode. + * 0b1..Can be changed in Non-secure mode. + */ +#define CCM_GPR_SHARED_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_TZ_NS_SHIFT)) & CCM_GPR_SHARED_TZ_NS_MASK) + +#define CCM_GPR_SHARED_LOCK_TZ_MASK (0x800U) +#define CCM_GPR_SHARED_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TrustZone settings + * 0b0..TrustZone settings is not locked. + * 0b1..TrustZone settings is locked. + */ +#define CCM_GPR_SHARED_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_LOCK_TZ_SHIFT)) & CCM_GPR_SHARED_LOCK_TZ_MASK) + +#define CCM_GPR_SHARED_LOCK_LIST_MASK (0x8000U) +#define CCM_GPR_SHARED_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - Lock white list + * 0b0..Whitelist is not locked. + * 0b1..Whitelist is locked. + */ +#define CCM_GPR_SHARED_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_LOCK_LIST_SHIFT)) & CCM_GPR_SHARED_LOCK_LIST_MASK) + +#define CCM_GPR_SHARED_WHITE_LIST_MASK (0xFFFF0000U) +#define CCM_GPR_SHARED_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Whitelist settings */ +#define CCM_GPR_SHARED_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_WHITE_LIST_SHIFT)) & CCM_GPR_SHARED_WHITE_LIST_MASK) +/*! @} */ + +/*! @name GPR_PRIVATE - General puspose register */ +/*! @{ */ + +#define CCM_GPR_PRIVATE_GPR_MASK (0xFFFFFFFFU) +#define CCM_GPR_PRIVATE_GPR_SHIFT (0U) +/*! GPR - GP register */ +#define CCM_GPR_PRIVATE_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE_GPR_SHIFT)) & CCM_GPR_PRIVATE_GPR_MASK) +/*! @} */ + +/*! @name GPR_PRIVATE - GPR access control */ +/*! @{ */ + +#define CCM_GPR_PRIVATE_TZ_USER_MASK (0x100U) +#define CCM_GPR_PRIVATE_TZ_USER_SHIFT (8U) +/*! TZ_USER - User access permission + * 0b0..Registers of privat GPR cannot be changed in user mode. + * 0b1..Registers of private GPR can be changed in user mode. + */ +#define CCM_GPR_PRIVATE_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE_TZ_USER_MASK) + +#define CCM_GPR_PRIVATE_TZ_NS_MASK (0x200U) +#define CCM_GPR_PRIVATE_TZ_NS_SHIFT (9U) +/*! TZ_NS - Non-secure access permission + * 0b0..Cannot be changed in Non-secure mode. + * 0b1..Can be changed in Non-secure mode. + */ +#define CCM_GPR_PRIVATE_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE_TZ_NS_MASK) + +#define CCM_GPR_PRIVATE_LOCK_TZ_MASK (0x800U) +#define CCM_GPR_PRIVATE_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TrustZone settings + * 0b0..TrustZone settings is not locked. + * 0b1..TrustZone settings is locked. + */ +#define CCM_GPR_PRIVATE_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE_LOCK_TZ_MASK) + +#define CCM_GPR_PRIVATE_LOCK_LIST_MASK (0x8000U) +#define CCM_GPR_PRIVATE_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - Lock white list + * 0b0..Whitelist is not locked. + * 0b1..Whitelist is locked. + */ +#define CCM_GPR_PRIVATE_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE_LOCK_LIST_MASK) + +#define CCM_GPR_PRIVATE_WHITE_LIST_MASK (0xFFFF0000U) +#define CCM_GPR_PRIVATE_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Whitelist settings */ +#define CCM_GPR_PRIVATE_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE_WHITE_LIST_MASK) +/*! @} */ + +/*! @name OSCPLL_DIRECT - Clock source direct control */ +/*! @{ */ + +#define CCM_OSCPLL_DIRECT_ON_MASK (0x1U) +#define CCM_OSCPLL_DIRECT_ON_SHIFT (0U) +/*! ON - Turn on clock source + * 0b0..Clock source is OFF. + * 0b1..Clock source is ON. + */ +#define CCM_OSCPLL_DIRECT_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DIRECT_ON_SHIFT)) & CCM_OSCPLL_DIRECT_ON_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_DIRECT */ +#define CCM_OSCPLL_DIRECT_COUNT (20U) + +/*! @name OSCPLL_LPM_STATUS0 - Low power mode information transfer status */ +/*! @{ */ + +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN0_MASK (0x3U) +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN0_SHIFT (0U) +/*! CPU_MODE_DOMAIN0 - Current mode of CPU domain 0 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN0(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN0_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN0_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN0_MASK (0x4U) +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN0_SHIFT (2U) +/*! TRANS_REQ_DOMAIN0 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN0(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN0_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN0_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN1_MASK (0x30U) +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN1_SHIFT (4U) +/*! CPU_MODE_DOMAIN1 - Current mode of CPU domain 1 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN1(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN1_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN1_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN1_MASK (0x40U) +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN1_SHIFT (6U) +/*! TRANS_REQ_DOMAIN1 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN1(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN1_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN1_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN2_MASK (0x300U) +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN2_SHIFT (8U) +/*! CPU_MODE_DOMAIN2 - Current mode of CPU domain 2 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN2(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN2_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN2_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN2_MASK (0x400U) +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN2_SHIFT (10U) +/*! TRANS_REQ_DOMAIN2 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN2(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN2_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN2_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN3_MASK (0x3000U) +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN3_SHIFT (12U) +/*! CPU_MODE_DOMAIN3 - Current mode of CPU domain 3 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN3(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN3_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN3_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN3_MASK (0x4000U) +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN3_SHIFT (14U) +/*! TRANS_REQ_DOMAIN3 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN3(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN3_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN3_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN4_MASK (0x30000U) +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN4_SHIFT (16U) +/*! CPU_MODE_DOMAIN4 - Current mode of CPU domain 4 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN4(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN4_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN4_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN4_MASK (0x40000U) +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN4_SHIFT (18U) +/*! TRANS_REQ_DOMAIN4 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN4(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN4_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN4_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN5_MASK (0x300000U) +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN5_SHIFT (20U) +/*! CPU_MODE_DOMAIN5 - Current mode of CPU domain 5 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN5(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN5_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN5_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN5_MASK (0x400000U) +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN5_SHIFT (22U) +/*! TRANS_REQ_DOMAIN5 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN5(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN5_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN5_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN6_MASK (0x3000000U) +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN6_SHIFT (24U) +/*! CPU_MODE_DOMAIN6 - Current mode of CPU domain 6 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN6(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN6_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN6_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN6_MASK (0x4000000U) +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN6_SHIFT (26U) +/*! TRANS_REQ_DOMAIN6 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN6(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN6_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN6_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN7_MASK (0x30000000U) +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN7_SHIFT (28U) +/*! CPU_MODE_DOMAIN7 - Current mode of CPU domain 7 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN7(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN7_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_CPU_MODE_DOMAIN7_MASK) + +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN7_MASK (0x40000000U) +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN7_SHIFT (30U) +/*! TRANS_REQ_DOMAIN7 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN7(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN7_SHIFT)) & CCM_OSCPLL_LPM_STATUS0_TRANS_REQ_DOMAIN7_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_LPM_STATUS0 */ +#define CCM_OSCPLL_LPM_STATUS0_COUNT (20U) + +/*! @name OSCPLL_LPM_STATUS1 - Low power mode information transfer status */ +/*! @{ */ + +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN8_MASK (0x3U) +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN8_SHIFT (0U) +/*! CPU_MODE_DOMAIN8 - Current mode of CPU domain 8 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN8(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN8_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN8_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN8_MASK (0x4U) +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN8_SHIFT (2U) +/*! TRANS_REQ_DOMAIN8 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN8(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN8_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN8_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN9_MASK (0x30U) +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN9_SHIFT (4U) +/*! CPU_MODE_DOMAIN9 - Current mode of CPU domain 9 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN9(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN9_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN9_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN9_MASK (0x40U) +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN9_SHIFT (6U) +/*! TRANS_REQ_DOMAIN9 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN9(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN9_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN9_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN10_MASK (0x300U) +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN10_SHIFT (8U) +/*! CPU_MODE_DOMAIN10 - Current mode of CPU domain 10 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN10(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN10_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN10_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN10_MASK (0x400U) +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN10_SHIFT (10U) +/*! TRANS_REQ_DOMAIN10 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN10(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN10_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN10_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN11_MASK (0x3000U) +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN11_SHIFT (12U) +/*! CPU_MODE_DOMAIN11 - Current mode of CPU domain 11 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN11(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN11_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN11_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN11_MASK (0x4000U) +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN11_SHIFT (14U) +/*! TRANS_REQ_DOMAIN11 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN11(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN11_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN11_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN12_MASK (0x30000U) +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN12_SHIFT (16U) +/*! CPU_MODE_DOMAIN12 - Current mode of CPU domain 12 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN12(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN12_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN12_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN12_MASK (0x40000U) +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN12_SHIFT (18U) +/*! TRANS_REQ_DOMAIN12 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN12(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN12_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN12_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN13_MASK (0x300000U) +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN13_SHIFT (20U) +/*! CPU_MODE_DOMAIN13 - Current mode of CPU domain 13 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN13(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN13_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN13_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN13_MASK (0x400000U) +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN13_SHIFT (22U) +/*! TRANS_REQ_DOMAIN13 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN13(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN13_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN13_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN14_MASK (0x3000000U) +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN14_SHIFT (24U) +/*! CPU_MODE_DOMAIN14 - Current mode of CPU domain 14 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN14(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN14_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN14_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN14_MASK (0x4000000U) +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN14_SHIFT (26U) +/*! TRANS_REQ_DOMAIN14 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN14(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN14_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN14_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN15_MASK (0x30000000U) +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN15_SHIFT (28U) +/*! CPU_MODE_DOMAIN15 - Current mode of CPU domain 15 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN15(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN15_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_CPU_MODE_DOMAIN15_MASK) + +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN15_MASK (0x40000000U) +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN15_SHIFT (30U) +/*! TRANS_REQ_DOMAIN15 - GPC request CCM to enable or disable OSCPLL. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN15(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN15_SHIFT)) & CCM_OSCPLL_LPM_STATUS1_TRANS_REQ_DOMAIN15_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_LPM_STATUS1 */ +#define CCM_OSCPLL_LPM_STATUS1_COUNT (20U) + +/*! @name OSCPLL_LPM0 - Clock source low power mode setting */ +/*! @{ */ + +#define CCM_OSCPLL_LPM0_LPM_SETTING_D0_MASK (0x7U) +#define CCM_OSCPLL_LPM0_LPM_SETTING_D0_SHIFT (0U) +/*! LPM_SETTING_D0 - Clock Source LPM in DOMAIN0 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND Mode. + */ +#define CCM_OSCPLL_LPM0_LPM_SETTING_D0(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM0_LPM_SETTING_D0_SHIFT)) & CCM_OSCPLL_LPM0_LPM_SETTING_D0_MASK) + +#define CCM_OSCPLL_LPM0_LPM_SETTING_D1_MASK (0x70U) +#define CCM_OSCPLL_LPM0_LPM_SETTING_D1_SHIFT (4U) +/*! LPM_SETTING_D1 - Clock Source LPM in DOMAIN1 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM0_LPM_SETTING_D1(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM0_LPM_SETTING_D1_SHIFT)) & CCM_OSCPLL_LPM0_LPM_SETTING_D1_MASK) + +#define CCM_OSCPLL_LPM0_LPM_SETTING_D2_MASK (0x700U) +#define CCM_OSCPLL_LPM0_LPM_SETTING_D2_SHIFT (8U) +/*! LPM_SETTING_D2 - Clock Source LPM in DOMAIN2 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM0_LPM_SETTING_D2(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM0_LPM_SETTING_D2_SHIFT)) & CCM_OSCPLL_LPM0_LPM_SETTING_D2_MASK) + +#define CCM_OSCPLL_LPM0_LPM_SETTING_D3_MASK (0x7000U) +#define CCM_OSCPLL_LPM0_LPM_SETTING_D3_SHIFT (12U) +/*! LPM_SETTING_D3 - Clock Source LPM in DOMAIN3 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM0_LPM_SETTING_D3(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM0_LPM_SETTING_D3_SHIFT)) & CCM_OSCPLL_LPM0_LPM_SETTING_D3_MASK) + +#define CCM_OSCPLL_LPM0_LPM_SETTING_D4_MASK (0x70000U) +#define CCM_OSCPLL_LPM0_LPM_SETTING_D4_SHIFT (16U) +/*! LPM_SETTING_D4 - Clock Source LPM in DOMAIN4 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM0_LPM_SETTING_D4(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM0_LPM_SETTING_D4_SHIFT)) & CCM_OSCPLL_LPM0_LPM_SETTING_D4_MASK) + +#define CCM_OSCPLL_LPM0_LPM_SETTING_D5_MASK (0x700000U) +#define CCM_OSCPLL_LPM0_LPM_SETTING_D5_SHIFT (20U) +/*! LPM_SETTING_D5 - Clock Source LPM in DOMAIN5 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM0_LPM_SETTING_D5(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM0_LPM_SETTING_D5_SHIFT)) & CCM_OSCPLL_LPM0_LPM_SETTING_D5_MASK) + +#define CCM_OSCPLL_LPM0_LPM_SETTING_D6_MASK (0x7000000U) +#define CCM_OSCPLL_LPM0_LPM_SETTING_D6_SHIFT (24U) +/*! LPM_SETTING_D6 - Clock Source LPM in DOMAIN6 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM0_LPM_SETTING_D6(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM0_LPM_SETTING_D6_SHIFT)) & CCM_OSCPLL_LPM0_LPM_SETTING_D6_MASK) + +#define CCM_OSCPLL_LPM0_LPM_SETTING_D7_MASK (0x70000000U) +#define CCM_OSCPLL_LPM0_LPM_SETTING_D7_SHIFT (28U) +/*! LPM_SETTING_D7 - Clock Source LPM in DOMAIN7 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM0_LPM_SETTING_D7(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM0_LPM_SETTING_D7_SHIFT)) & CCM_OSCPLL_LPM0_LPM_SETTING_D7_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_LPM0 */ +#define CCM_OSCPLL_LPM0_COUNT (20U) + +/*! @name OSCPLL_LPM1 - clock source low power mode setting */ +/*! @{ */ + +#define CCM_OSCPLL_LPM1_LPM_SETTING_D8_MASK (0x7U) +#define CCM_OSCPLL_LPM1_LPM_SETTING_D8_SHIFT (0U) +/*! LPM_SETTING_D8 - Clock Source LPM in DOMAIN8 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM1_LPM_SETTING_D8(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM1_LPM_SETTING_D8_SHIFT)) & CCM_OSCPLL_LPM1_LPM_SETTING_D8_MASK) + +#define CCM_OSCPLL_LPM1_LPM_SETTING_D9_MASK (0x70U) +#define CCM_OSCPLL_LPM1_LPM_SETTING_D9_SHIFT (4U) +/*! LPM_SETTING_D9 - Clock Source LPM in DOMAIN9 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM1_LPM_SETTING_D9(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM1_LPM_SETTING_D9_SHIFT)) & CCM_OSCPLL_LPM1_LPM_SETTING_D9_MASK) + +#define CCM_OSCPLL_LPM1_LPM_SETTING_D10_MASK (0x700U) +#define CCM_OSCPLL_LPM1_LPM_SETTING_D10_SHIFT (8U) +/*! LPM_SETTING_D10 - Clock Source LPM in DOMAIN10 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM1_LPM_SETTING_D10(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM1_LPM_SETTING_D10_SHIFT)) & CCM_OSCPLL_LPM1_LPM_SETTING_D10_MASK) + +#define CCM_OSCPLL_LPM1_LPM_SETTING_D11_MASK (0x7000U) +#define CCM_OSCPLL_LPM1_LPM_SETTING_D11_SHIFT (12U) +/*! LPM_SETTING_D11 - Clock Source LPM in DOMAIN11 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM1_LPM_SETTING_D11(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM1_LPM_SETTING_D11_SHIFT)) & CCM_OSCPLL_LPM1_LPM_SETTING_D11_MASK) + +#define CCM_OSCPLL_LPM1_LPM_SETTING_D12_MASK (0x70000U) +#define CCM_OSCPLL_LPM1_LPM_SETTING_D12_SHIFT (16U) +/*! LPM_SETTING_D12 - Clock Source LPM in DOMAIN12 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM1_LPM_SETTING_D12(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM1_LPM_SETTING_D12_SHIFT)) & CCM_OSCPLL_LPM1_LPM_SETTING_D12_MASK) + +#define CCM_OSCPLL_LPM1_LPM_SETTING_D13_MASK (0x700000U) +#define CCM_OSCPLL_LPM1_LPM_SETTING_D13_SHIFT (20U) +/*! LPM_SETTING_D13 - Clock Source LPM in DOMAIN13 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM1_LPM_SETTING_D13(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM1_LPM_SETTING_D13_SHIFT)) & CCM_OSCPLL_LPM1_LPM_SETTING_D13_MASK) + +#define CCM_OSCPLL_LPM1_LPM_SETTING_D14_MASK (0x7000000U) +#define CCM_OSCPLL_LPM1_LPM_SETTING_D14_SHIFT (24U) +/*! LPM_SETTING_D14 - Clock Source LPM in DOMAIN14 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM1_LPM_SETTING_D14(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM1_LPM_SETTING_D14_SHIFT)) & CCM_OSCPLL_LPM1_LPM_SETTING_D14_MASK) + +#define CCM_OSCPLL_LPM1_LPM_SETTING_D15_MASK (0x70000000U) +#define CCM_OSCPLL_LPM1_LPM_SETTING_D15_SHIFT (28U) +/*! LPM_SETTING_D15 - Clock Source LPM in DOMAIN15 + * 0b000..Clock Source will be OFF in any CPU mode. + * 0b001..Clock Source will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..Clock Source will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..Clock Source will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..Clock Source will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_OSCPLL_LPM1_LPM_SETTING_D15(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM1_LPM_SETTING_D15_SHIFT)) & CCM_OSCPLL_LPM1_LPM_SETTING_D15_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_LPM1 */ +#define CCM_OSCPLL_LPM1_COUNT (20U) + +/*! @name OSCPLL_LPM_CUR - LPM setting of current CPU domain */ +/*! @{ */ + +#define CCM_OSCPLL_LPM_CUR_LPM_SETTING_CUR_MASK (0x7U) +#define CCM_OSCPLL_LPM_CUR_LPM_SETTING_CUR_SHIFT (0U) +/*! LPM_SETTING_CUR - LPM SETTING of current CPU DOMAIN */ +#define CCM_OSCPLL_LPM_CUR_LPM_SETTING_CUR(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_LPM_CUR_LPM_SETTING_CUR_SHIFT)) & CCM_OSCPLL_LPM_CUR_LPM_SETTING_CUR_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_LPM_CUR */ +#define CCM_OSCPLL_LPM_CUR_COUNT (20U) + +/*! @name OSCPLL_STATUS0 - Clock source working status */ +/*! @{ */ + +#define CCM_OSCPLL_STATUS0_ON_MASK (0x1U) +#define CCM_OSCPLL_STATUS0_ON_SHIFT (0U) +/*! ON - Clock source current state + * 0b0..Clock source is OFF. + * 0b1..Clock source is ON. + */ +#define CCM_OSCPLL_STATUS0_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_ON_SHIFT)) & CCM_OSCPLL_STATUS0_ON_MASK) + +#define CCM_OSCPLL_STATUS0_STATUS_EARLY_MASK (0x10U) +#define CCM_OSCPLL_STATUS0_STATUS_EARLY_SHIFT (4U) +#define CCM_OSCPLL_STATUS0_STATUS_EARLY(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_STATUS_EARLY_SHIFT)) & CCM_OSCPLL_STATUS0_STATUS_EARLY_MASK) + +#define CCM_OSCPLL_STATUS0_STATUS_LATE_MASK (0x20U) +#define CCM_OSCPLL_STATUS0_STATUS_LATE_SHIFT (5U) +#define CCM_OSCPLL_STATUS0_STATUS_LATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_STATUS_LATE_SHIFT)) & CCM_OSCPLL_STATUS0_STATUS_LATE_MASK) + +#define CCM_OSCPLL_STATUS0_IN_USE_MASK (0x1000U) +#define CCM_OSCPLL_STATUS0_IN_USE_SHIFT (12U) +/*! IN_USE - This Clock Source is being used or not. + * 0b0..Clock Source is not being used. + * 0b1..Clock Source is being used. + */ +#define CCM_OSCPLL_STATUS0_IN_USE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_IN_USE_SHIFT)) & CCM_OSCPLL_STATUS0_IN_USE_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_STATUS0 */ +#define CCM_OSCPLL_STATUS0_COUNT (20U) + +/*! @name OSCPLL_STATUS1 - Clock source domain status */ +/*! @{ */ + +#define CCM_OSCPLL_STATUS1_DOMAIN_ACTIVE_MASK (0xFFFFU) +#define CCM_OSCPLL_STATUS1_DOMAIN_ACTIVE_SHIFT (0U) +/*! DOMAIN_ACTIVE - Domain active */ +#define CCM_OSCPLL_STATUS1_DOMAIN_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_DOMAIN_ACTIVE_SHIFT)) & CCM_OSCPLL_STATUS1_DOMAIN_ACTIVE_MASK) + +#define CCM_OSCPLL_STATUS1_DOMAIN_ENABLE_MASK (0xFFFF0000U) +#define CCM_OSCPLL_STATUS1_DOMAIN_ENABLE_SHIFT (16U) +/*! DOMAIN_ENABLE - Domain enable */ +#define CCM_OSCPLL_STATUS1_DOMAIN_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_DOMAIN_ENABLE_SHIFT)) & CCM_OSCPLL_STATUS1_DOMAIN_ENABLE_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_STATUS1 */ +#define CCM_OSCPLL_STATUS1_COUNT (20U) + +/*! @name OSCPLL_AUTHEN - Clock Source access control */ +/*! @{ */ + +#define CCM_OSCPLL_AUTHEN_CPULPM_MODE_MASK (0x4U) +#define CCM_OSCPLL_AUTHEN_CPULPM_MODE_SHIFT (2U) +/*! CPULPM_MODE - CPULPM mode enable + * 0b0..Disable CPULPM mode. + * 0b1..Enable CPULPM mode. + */ +#define CCM_OSCPLL_AUTHEN_CPULPM_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_CPULPM_MODE_SHIFT)) & CCM_OSCPLL_AUTHEN_CPULPM_MODE_MASK) + +#define CCM_OSCPLL_AUTHEN_AUTO_CTRL_MASK (0x8U) +#define CCM_OSCPLL_AUTHEN_AUTO_CTRL_SHIFT (3U) +/*! AUTO_CTRL - Auto mode enable + * 0b0..Disable Auto mode + * 0b1..Enable Auto mode + */ +#define CCM_OSCPLL_AUTHEN_AUTO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_AUTO_CTRL_SHIFT)) & CCM_OSCPLL_AUTHEN_AUTO_CTRL_MASK) + +#define CCM_OSCPLL_AUTHEN_LOCK_MODE_MASK (0x80U) +#define CCM_OSCPLL_AUTHEN_LOCK_MODE_SHIFT (7U) +/*! LOCK_MODE + * 0b0..CPULPM_MODE and AUTO_CTRL is not locked. + * 0b1..CPULPM_MODE and AUTO_CTRL is locked. + */ +#define CCM_OSCPLL_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_MODE_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_MODE_MASK) + +#define CCM_OSCPLL_AUTHEN_TZ_USER_MASK (0x100U) +#define CCM_OSCPLL_AUTHEN_TZ_USER_SHIFT (8U) +/*! TZ_USER - User access permission + * 0b0..Clock Source settings cannot be changed in user mode. + * 0b1..Clock Source settings can be changed in user mode. + */ +#define CCM_OSCPLL_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_TZ_USER_SHIFT)) & CCM_OSCPLL_AUTHEN_TZ_USER_MASK) + +#define CCM_OSCPLL_AUTHEN_TZ_NS_MASK (0x200U) +#define CCM_OSCPLL_AUTHEN_TZ_NS_SHIFT (9U) +/*! TZ_NS - Non-secure access permission + * 0b0..Cannot be changed in Non-secure mode. + * 0b1..Can be changed in Non-secure mode. + */ +#define CCM_OSCPLL_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_TZ_NS_SHIFT)) & CCM_OSCPLL_AUTHEN_TZ_NS_MASK) + +#define CCM_OSCPLL_AUTHEN_LOCK_TZ_MASK (0x800U) +#define CCM_OSCPLL_AUTHEN_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TrustZone settings + * 0b0..TrustZone settings is not locked. + * 0b1..TrustZone settings is locked. + */ +#define CCM_OSCPLL_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_TZ_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_TZ_MASK) + +#define CCM_OSCPLL_AUTHEN_LOCK_LIST_MASK (0x8000U) +#define CCM_OSCPLL_AUTHEN_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - Lock white list + * 0b0..Whitelist is not locked. + * 0b1..Whitelist is locked. + */ +#define CCM_OSCPLL_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_LIST_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_LIST_MASK) + +#define CCM_OSCPLL_AUTHEN_WHITE_LIST_MASK (0xFFFF0000U) +#define CCM_OSCPLL_AUTHEN_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Whitelist */ +#define CCM_OSCPLL_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_WHITE_LIST_SHIFT)) & CCM_OSCPLL_AUTHEN_WHITE_LIST_MASK) +/*! @} */ + +/* The count of CCM_OSCPLL_AUTHEN */ +#define CCM_OSCPLL_AUTHEN_COUNT (20U) + +/*! @name LPCG_DIRECT - LPCG direct control */ +/*! @{ */ + +#define CCM_LPCG_DIRECT_ON_MASK (0x1U) +#define CCM_LPCG_DIRECT_ON_SHIFT (0U) +/*! ON - Turn on LPCG + * 0b0..LPCG gate clock + * 0b1..LPCG ungate clock + */ +#define CCM_LPCG_DIRECT_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DIRECT_ON_SHIFT)) & CCM_LPCG_DIRECT_ON_MASK) + +#define CCM_LPCG_DIRECT_CLKOFF_ACK_TIMEOUT_EN_MASK (0x4U) +#define CCM_LPCG_DIRECT_CLKOFF_ACK_TIMEOUT_EN_SHIFT (2U) +/*! CLKOFF_ACK_TIMEOUT_EN - Clock off handshake timeout enable + * 0b0..disable + * 0b1..enable + */ +#define CCM_LPCG_DIRECT_CLKOFF_ACK_TIMEOUT_EN(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DIRECT_CLKOFF_ACK_TIMEOUT_EN_SHIFT)) & CCM_LPCG_DIRECT_CLKOFF_ACK_TIMEOUT_EN_MASK) +/*! @} */ + +/* The count of CCM_LPCG_DIRECT */ +#define CCM_LPCG_DIRECT_COUNT (127U) + +/*! @name LPCG_LPM_STATUS0 - Low power mode information transfer status */ +/*! @{ */ + +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN0_MASK (0x3U) +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN0_SHIFT (0U) +/*! CPU_MODE_DOMAIN0 - Current mode of CPU domain 0 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN0(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN0_SHIFT)) & CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN0_MASK) + +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN0_MASK (0x4U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN0_SHIFT (2U) +/*! TRANS_REQ_DOMAIN0 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN0(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN0_SHIFT)) & CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN0_MASK) + +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN1_MASK (0x30U) +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN1_SHIFT (4U) +/*! CPU_MODE_DOMAIN1 - Current mode of CPU domain 1 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN1(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN1_SHIFT)) & CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN1_MASK) + +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN1_MASK (0x40U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN1_SHIFT (6U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN1(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN1_SHIFT)) & CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN1_MASK) + +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN2_MASK (0x300U) +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN2_SHIFT (8U) +/*! CPU_MODE_DOMAIN2 - Current mode of CPU domain 2 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN2(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN2_SHIFT)) & CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN2_MASK) + +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN2_MASK (0x400U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN2_SHIFT (10U) +/*! TRANS_REQ_DOMAIN2 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN2(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN2_SHIFT)) & CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN2_MASK) + +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN3_MASK (0x3000U) +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN3_SHIFT (12U) +/*! CPU_MODE_DOMAIN3 - Current mode of CPU domain 3 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN3(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN3_SHIFT)) & CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN3_MASK) + +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN3_MASK (0x4000U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN3_SHIFT (14U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN3(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN3_SHIFT)) & CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN3_MASK) + +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN4_MASK (0x30000U) +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN4_SHIFT (16U) +/*! CPU_MODE_DOMAIN4 - Current mode of CPU domain 4 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN4(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN4_SHIFT)) & CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN4_MASK) + +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN4_MASK (0x40000U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN4_SHIFT (18U) +/*! TRANS_REQ_DOMAIN4 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN4(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN4_SHIFT)) & CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN4_MASK) + +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN5_MASK (0x300000U) +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN5_SHIFT (20U) +/*! CPU_MODE_DOMAIN5 - Current mode of CPU domain 5 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN5(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN5_SHIFT)) & CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN5_MASK) + +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN5_MASK (0x400000U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN5_SHIFT (22U) +/*! TRANS_REQ_DOMAIN5 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN5(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN5_SHIFT)) & CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN5_MASK) + +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN6_MASK (0x3000000U) +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN6_SHIFT (24U) +/*! CPU_MODE_DOMAIN6 - Current mode of CPU domain 6 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN6(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN6_SHIFT)) & CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN6_MASK) + +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN6_MASK (0x4000000U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN6_SHIFT (26U) +/*! TRANS_REQ_DOMAIN6 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN6(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN6_SHIFT)) & CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN6_MASK) + +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN7_MASK (0x30000000U) +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN7_SHIFT (28U) +/*! CPU_MODE_DOMAIN7 - Current mode of CPU domain 7 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN7(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN7_SHIFT)) & CCM_LPCG_LPM_STATUS0_CPU_MODE_DOMAIN7_MASK) + +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN7_MASK (0x40000000U) +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN7_SHIFT (30U) +/*! TRANS_REQ_DOMAIN7 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN7(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN7_SHIFT)) & CCM_LPCG_LPM_STATUS0_TRANS_REQ_DOMAIN7_MASK) +/*! @} */ + +/* The count of CCM_LPCG_LPM_STATUS0 */ +#define CCM_LPCG_LPM_STATUS0_COUNT (127U) + +/*! @name LPCG_LPM_STATUS1 - Low power mode information transfer status */ +/*! @{ */ + +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN8_MASK (0x3U) +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN8_SHIFT (0U) +/*! CPU_MODE_DOMAIN8 - Current mode of CPU domain 8 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN8(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN8_SHIFT)) & CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN8_MASK) + +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN8_MASK (0x4U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN8_SHIFT (2U) +/*! TRANS_REQ_DOMAIN8 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN8(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN8_SHIFT)) & CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN8_MASK) + +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN9_MASK (0x30U) +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN9_SHIFT (4U) +/*! CPU_MODE_DOMAIN9 - Current mode of CPU domain 9 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN9(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN9_SHIFT)) & CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN9_MASK) + +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN9_MASK (0x40U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN9_SHIFT (6U) +/*! TRANS_REQ_DOMAIN9 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN9(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN9_SHIFT)) & CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN9_MASK) + +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN10_MASK (0x300U) +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN10_SHIFT (8U) +/*! CPU_MODE_DOMAIN10 - Current mode of CPU domain 10 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN10(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN10_SHIFT)) & CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN10_MASK) + +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN10_MASK (0x400U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN10_SHIFT (10U) +/*! TRANS_REQ_DOMAIN10 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN10(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN10_SHIFT)) & CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN10_MASK) + +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN11_MASK (0x3000U) +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN11_SHIFT (12U) +/*! CPU_MODE_DOMAIN11 - Current mode of CPU domain 11 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN11(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN11_SHIFT)) & CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN11_MASK) + +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN11_MASK (0x4000U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN11_SHIFT (14U) +/*! TRANS_REQ_DOMAIN11 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN11(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN11_SHIFT)) & CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN11_MASK) + +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN12_MASK (0x30000U) +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN12_SHIFT (16U) +/*! CPU_MODE_DOMAIN12 - Current mode of CPU domain 12 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN12(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN12_SHIFT)) & CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN12_MASK) + +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN12_MASK (0x40000U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN12_SHIFT (18U) +/*! TRANS_REQ_DOMAIN12 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN12(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN12_SHIFT)) & CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN12_MASK) + +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN13_MASK (0x300000U) +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN13_SHIFT (20U) +/*! CPU_MODE_DOMAIN13 - Current mode of CPU domain 13 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN13(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN13_SHIFT)) & CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN13_MASK) + +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN13_MASK (0x400000U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN13_SHIFT (22U) +/*! TRANS_REQ_DOMAIN13 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN13(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN13_SHIFT)) & CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN13_MASK) + +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN14_MASK (0x3000000U) +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN14_SHIFT (24U) +/*! CPU_MODE_DOMAIN14 - Current mode of CPU domain 14 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN14(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN14_SHIFT)) & CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN14_MASK) + +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN14_MASK (0x4000000U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN14_SHIFT (26U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN14(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN14_SHIFT)) & CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN14_MASK) + +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN15_MASK (0x30000000U) +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN15_SHIFT (28U) +/*! CPU_MODE_DOMAIN15 - Current mode of CPU domain 15 + * 0b00..CPU is in RUN mode + * 0b01..CPU is in WAIT mode + * 0b10..CPU is in STOP mode + * 0b11..CPU is in SUSPEND mode + */ +#define CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN15(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN15_SHIFT)) & CCM_LPCG_LPM_STATUS1_CPU_MODE_DOMAIN15_MASK) + +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN15_MASK (0x40000000U) +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN15_SHIFT (30U) +/*! TRANS_REQ_DOMAIN15 - GPC request CCM to enable or disable LPCG. This signal will turn to low once CCM complete response to GPC. */ +#define CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN15(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN15_SHIFT)) & CCM_LPCG_LPM_STATUS1_TRANS_REQ_DOMAIN15_MASK) +/*! @} */ + +/* The count of CCM_LPCG_LPM_STATUS1 */ +#define CCM_LPCG_LPM_STATUS1_COUNT (127U) + +/*! @name LPCG_LPM0 - LPCG low power mode setting */ +/*! @{ */ + +#define CCM_LPCG_LPM0_LPM_SETTING_D0_MASK (0x7U) +#define CCM_LPCG_LPM0_LPM_SETTING_D0_SHIFT (0U) +/*! LPM_SETTING_D0 - LPCG LPM in DOMAIN0 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM0_LPM_SETTING_D0(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM0_LPM_SETTING_D0_SHIFT)) & CCM_LPCG_LPM0_LPM_SETTING_D0_MASK) + +#define CCM_LPCG_LPM0_LPM_SETTING_D1_MASK (0x70U) +#define CCM_LPCG_LPM0_LPM_SETTING_D1_SHIFT (4U) +/*! LPM_SETTING_D1 - LPCG LPM in DOMAIN1 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM0_LPM_SETTING_D1(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM0_LPM_SETTING_D1_SHIFT)) & CCM_LPCG_LPM0_LPM_SETTING_D1_MASK) + +#define CCM_LPCG_LPM0_LPM_SETTING_D2_MASK (0x700U) +#define CCM_LPCG_LPM0_LPM_SETTING_D2_SHIFT (8U) +/*! LPM_SETTING_D2 - LPCG LPM in DOMAIN2 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM0_LPM_SETTING_D2(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM0_LPM_SETTING_D2_SHIFT)) & CCM_LPCG_LPM0_LPM_SETTING_D2_MASK) + +#define CCM_LPCG_LPM0_LPM_SETTING_D3_MASK (0x7000U) +#define CCM_LPCG_LPM0_LPM_SETTING_D3_SHIFT (12U) +/*! LPM_SETTING_D3 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM0_LPM_SETTING_D3(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM0_LPM_SETTING_D3_SHIFT)) & CCM_LPCG_LPM0_LPM_SETTING_D3_MASK) + +#define CCM_LPCG_LPM0_LPM_SETTING_D4_MASK (0x70000U) +#define CCM_LPCG_LPM0_LPM_SETTING_D4_SHIFT (16U) +/*! LPM_SETTING_D4 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM0_LPM_SETTING_D4(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM0_LPM_SETTING_D4_SHIFT)) & CCM_LPCG_LPM0_LPM_SETTING_D4_MASK) + +#define CCM_LPCG_LPM0_LPM_SETTING_D5_MASK (0x700000U) +#define CCM_LPCG_LPM0_LPM_SETTING_D5_SHIFT (20U) +/*! LPM_SETTING_D5 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM0_LPM_SETTING_D5(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM0_LPM_SETTING_D5_SHIFT)) & CCM_LPCG_LPM0_LPM_SETTING_D5_MASK) + +#define CCM_LPCG_LPM0_LPM_SETTING_D6_MASK (0x7000000U) +#define CCM_LPCG_LPM0_LPM_SETTING_D6_SHIFT (24U) +/*! LPM_SETTING_D6 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM0_LPM_SETTING_D6(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM0_LPM_SETTING_D6_SHIFT)) & CCM_LPCG_LPM0_LPM_SETTING_D6_MASK) + +#define CCM_LPCG_LPM0_LPM_SETTING_D7_MASK (0x70000000U) +#define CCM_LPCG_LPM0_LPM_SETTING_D7_SHIFT (28U) +/*! LPM_SETTING_D7 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM0_LPM_SETTING_D7(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM0_LPM_SETTING_D7_SHIFT)) & CCM_LPCG_LPM0_LPM_SETTING_D7_MASK) +/*! @} */ + +/* The count of CCM_LPCG_LPM0 */ +#define CCM_LPCG_LPM0_COUNT (127U) + +/*! @name LPCG_LPM1 - LPCG low power mode setting */ +/*! @{ */ + +#define CCM_LPCG_LPM1_LPM_SETTING_D8_MASK (0x7U) +#define CCM_LPCG_LPM1_LPM_SETTING_D8_SHIFT (0U) +/*! LPM_SETTING_D8 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM1_LPM_SETTING_D8(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM1_LPM_SETTING_D8_SHIFT)) & CCM_LPCG_LPM1_LPM_SETTING_D8_MASK) + +#define CCM_LPCG_LPM1_LPM_SETTING_D9_MASK (0x70U) +#define CCM_LPCG_LPM1_LPM_SETTING_D9_SHIFT (4U) +/*! LPM_SETTING_D9 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM1_LPM_SETTING_D9(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM1_LPM_SETTING_D9_SHIFT)) & CCM_LPCG_LPM1_LPM_SETTING_D9_MASK) + +#define CCM_LPCG_LPM1_LPM_SETTING_D10_MASK (0x700U) +#define CCM_LPCG_LPM1_LPM_SETTING_D10_SHIFT (8U) +/*! LPM_SETTING_D10 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM1_LPM_SETTING_D10(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM1_LPM_SETTING_D10_SHIFT)) & CCM_LPCG_LPM1_LPM_SETTING_D10_MASK) + +#define CCM_LPCG_LPM1_LPM_SETTING_D11_MASK (0x7000U) +#define CCM_LPCG_LPM1_LPM_SETTING_D11_SHIFT (12U) +/*! LPM_SETTING_D11 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM1_LPM_SETTING_D11(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM1_LPM_SETTING_D11_SHIFT)) & CCM_LPCG_LPM1_LPM_SETTING_D11_MASK) + +#define CCM_LPCG_LPM1_LPM_SETTING_D12_MASK (0x70000U) +#define CCM_LPCG_LPM1_LPM_SETTING_D12_SHIFT (16U) +/*! LPM_SETTING_D12 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM1_LPM_SETTING_D12(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM1_LPM_SETTING_D12_SHIFT)) & CCM_LPCG_LPM1_LPM_SETTING_D12_MASK) + +#define CCM_LPCG_LPM1_LPM_SETTING_D13_MASK (0x700000U) +#define CCM_LPCG_LPM1_LPM_SETTING_D13_SHIFT (20U) +/*! LPM_SETTING_D13 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM1_LPM_SETTING_D13(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM1_LPM_SETTING_D13_SHIFT)) & CCM_LPCG_LPM1_LPM_SETTING_D13_MASK) + +#define CCM_LPCG_LPM1_LPM_SETTING_D14_MASK (0x7000000U) +#define CCM_LPCG_LPM1_LPM_SETTING_D14_SHIFT (24U) +/*! LPM_SETTING_D14 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM1_LPM_SETTING_D14(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM1_LPM_SETTING_D14_SHIFT)) & CCM_LPCG_LPM1_LPM_SETTING_D14_MASK) + +#define CCM_LPCG_LPM1_LPM_SETTING_D15_MASK (0x70000000U) +#define CCM_LPCG_LPM1_LPM_SETTING_D15_SHIFT (28U) +/*! LPM_SETTING_D15 + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM1_LPM_SETTING_D15(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM1_LPM_SETTING_D15_SHIFT)) & CCM_LPCG_LPM1_LPM_SETTING_D15_MASK) +/*! @} */ + +/* The count of CCM_LPCG_LPM1 */ +#define CCM_LPCG_LPM1_COUNT (127U) + +/*! @name LPCG_LPM_CUR - LPM setting of current CPU domain */ +/*! @{ */ + +#define CCM_LPCG_LPM_CUR_LPM_SETTING_CUR_MASK (0x7U) +#define CCM_LPCG_LPM_CUR_LPM_SETTING_CUR_SHIFT (0U) +/*! LPM_SETTING_CUR - LPM SETTING of current CPU DOMAIN */ +#define CCM_LPCG_LPM_CUR_LPM_SETTING_CUR(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_LPM_CUR_LPM_SETTING_CUR_SHIFT)) & CCM_LPCG_LPM_CUR_LPM_SETTING_CUR_MASK) +/*! @} */ + +/* The count of CCM_LPCG_LPM_CUR */ +#define CCM_LPCG_LPM_CUR_COUNT (127U) + +/*! @name LPCG_STATUS0 - LPCG working status */ +/*! @{ */ + +#define CCM_LPCG_STATUS0_ON_MASK (0x1U) +#define CCM_LPCG_STATUS0_ON_SHIFT (0U) +/*! ON - LPCG work status + * 0b0..LPCG is OFF. + * 0b1..LPCG is ON. + */ +#define CCM_LPCG_STATUS0_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS0_ON_SHIFT)) & CCM_LPCG_STATUS0_ON_MASK) +/*! @} */ + +/* The count of CCM_LPCG_STATUS0 */ +#define CCM_LPCG_STATUS0_COUNT (127U) + +/*! @name LPCG_STATUS1 - LPCG domain status */ +/*! @{ */ + +#define CCM_LPCG_STATUS1_DOMAIN_ACTIVE_MASK (0xFFFFU) +#define CCM_LPCG_STATUS1_DOMAIN_ACTIVE_SHIFT (0U) +/*! DOMAIN_ACTIVE - Domain active */ +#define CCM_LPCG_STATUS1_DOMAIN_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_DOMAIN_ACTIVE_SHIFT)) & CCM_LPCG_STATUS1_DOMAIN_ACTIVE_MASK) + +#define CCM_LPCG_STATUS1_DOMAIN_ENABLE_MASK (0xFFFF0000U) +#define CCM_LPCG_STATUS1_DOMAIN_ENABLE_SHIFT (16U) +/*! DOMAIN_ENABLE - Domain enable */ +#define CCM_LPCG_STATUS1_DOMAIN_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_DOMAIN_ENABLE_SHIFT)) & CCM_LPCG_STATUS1_DOMAIN_ENABLE_MASK) +/*! @} */ + +/* The count of CCM_LPCG_STATUS1 */ +#define CCM_LPCG_STATUS1_COUNT (127U) + +/*! @name LPCG_AUTHEN - LPCG access control */ +/*! @{ */ + +#define CCM_LPCG_AUTHEN_CPULPM_MODE_MASK (0x4U) +#define CCM_LPCG_AUTHEN_CPULPM_MODE_SHIFT (2U) +/*! CPULPM_MODE - CPULPM mode enable + * 0b0..Disable CPULPM mode, this LPCG is in Direct Control mode. + * 0b1..Enable CPULPM mode, this LPCG is in CPULPM mode. + */ +#define CCM_LPCG_AUTHEN_CPULPM_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_CPULPM_MODE_SHIFT)) & CCM_LPCG_AUTHEN_CPULPM_MODE_MASK) + +#define CCM_LPCG_AUTHEN_LOCK_MODE_MASK (0x80U) +#define CCM_LPCG_AUTHEN_LOCK_MODE_SHIFT (7U) +/*! LOCK_MODE + * 0b0..CPULPM_MODE is not locked. + * 0b1..CPULPM_MODE is locked. + */ +#define CCM_LPCG_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_MODE_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_MODE_MASK) + +#define CCM_LPCG_AUTHEN_TZ_USER_MASK (0x100U) +#define CCM_LPCG_AUTHEN_TZ_USER_SHIFT (8U) +/*! TZ_USER - User access permission + * 0b0..LPCG settings cannot be changed in user mode. + * 0b1..LPCG settings can be changed in user mode. + */ +#define CCM_LPCG_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_TZ_USER_SHIFT)) & CCM_LPCG_AUTHEN_TZ_USER_MASK) + +#define CCM_LPCG_AUTHEN_TZ_NS_MASK (0x200U) +#define CCM_LPCG_AUTHEN_TZ_NS_SHIFT (9U) +/*! TZ_NS - Non-secure access permission + * 0b0..Cannot be changed in Non-secure mode. + * 0b1..Can be changed in Non-secure mode. + */ +#define CCM_LPCG_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_TZ_NS_SHIFT)) & CCM_LPCG_AUTHEN_TZ_NS_MASK) + +#define CCM_LPCG_AUTHEN_LOCK_TZ_MASK (0x800U) +#define CCM_LPCG_AUTHEN_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TrustZone settings + * 0b0..TrustZone settings is not locked. + * 0b1..TrustZone settings is locked. + */ +#define CCM_LPCG_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_TZ_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_TZ_MASK) + +#define CCM_LPCG_AUTHEN_LOCK_LIST_MASK (0x8000U) +#define CCM_LPCG_AUTHEN_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - Lock white list + * 0b0..Whitelist is not locked. + * 0b1..Whitelist is locked. + */ +#define CCM_LPCG_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_LIST_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_LIST_MASK) + +#define CCM_LPCG_AUTHEN_WHITE_LIST_MASK (0xFFFF0000U) +#define CCM_LPCG_AUTHEN_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Whitelist */ +#define CCM_LPCG_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_WHITE_LIST_SHIFT)) & CCM_LPCG_AUTHEN_WHITE_LIST_MASK) +/*! @} */ + +/* The count of CCM_LPCG_AUTHEN */ +#define CCM_LPCG_AUTHEN_COUNT (127U) + + +/*! + * @} + */ /* end of group CCM_Register_Masks */ + + +/* CCM - Peripheral instance base addresses */ +/** Peripheral CCM_CTRL base address */ +#define CCM_CTRL_BASE (0x44450000u) +/** Peripheral CCM_CTRL base pointer */ +extern CCM_Type* CCM_CTRL; +/** Array initializer of CCM peripheral base addresses */ +#define CCM_BASE_ADDRS { CCM_CTRL_BASE } +/** Array initializer of CCM peripheral base pointers */ +#define CCM_BASE_PTRS { CCM_CTRL } + +/*! + * @} + */ /* end of group CCM_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- DDRC Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup DDRC_Peripheral_Access_Layer DDRC Peripheral Access Layer + * @{ + */ + +/** DDRC - Register Layout Typedef */ +typedef struct { + struct { /* offset: 0x0, array step: 0x8 */ + __IO uint32_t CS_BNDS; /**< Rank 0 Memory Bounds..Rank 1 Memory Bounds, array offset: 0x0, array step: 0x8 */ + uint8_t RESERVED_0[4]; + } CS_BNDS[2]; + uint8_t RESERVED_0[16]; + __IO uint32_t REMAP_0A; /**< Remap Region 0A Configuration, offset: 0x20 */ + __IO uint32_t REMAP_0B; /**< Remap Region 0B Configuration, offset: 0x24 */ + __IO uint32_t REMAP_1A; /**< Remap Region 1A Configuration, offset: 0x28 */ + __IO uint32_t REMAP_1B; /**< Remap Region 1B Configuration, offset: 0x2C */ + __IO uint32_t REMAP_2A; /**< Remap Region 2A Configuration, offset: 0x30 */ + __IO uint32_t REMAP_2B; /**< Remap Region 2B Configuration, offset: 0x34 */ + __IO uint32_t REMAP_3A; /**< Remap Region 3A Configuration, offset: 0x38 */ + __IO uint32_t REMAP_3B; /**< Remap Region 3B Configuration, offset: 0x3C */ + __IO uint32_t DDR_ADDR_DEC_0; /**< DDRC Address Decode 0, offset: 0x40 */ + __IO uint32_t DDR_ADDR_DEC_1; /**< DDRC Address Decode 1, offset: 0x44 */ + __IO uint32_t DDR_ADDR_DEC_2; /**< DDRC Address Decode 2, offset: 0x48 */ + __IO uint32_t DDR_ADDR_DEC_3; /**< DDRC Address Decode 3, offset: 0x4C */ + __IO uint32_t DDR_ADDR_DEC_4; /**< DDRC Address Decode 4, offset: 0x50 */ + __IO uint32_t DDR_ADDR_DEC_5; /**< DDRC Address Decode 5, offset: 0x54 */ + __IO uint32_t DDR_ADDR_DEC_6; /**< DDRC Address Decode 6, offset: 0x58 */ + __IO uint32_t DDR_ADDR_DEC_7; /**< DDRC Address Decode 7, offset: 0x5C */ + __IO uint32_t DDR_ADDR_DEC_8; /**< DDRC Address Decode 8, offset: 0x60 */ + __IO uint32_t DDR_ADDR_DEC_9; /**< DDRC Address Decode 9, offset: 0x64 */ + uint8_t RESERVED_1[24]; + __IO uint32_t CS_CONFIG[2]; /**< Rank 0 Configuration..Rank 1 Configuration, array offset: 0x80, array step: 0x4 */ + uint8_t RESERVED_2[120]; + __IO uint32_t TIMING_CFG_3; /**< DDR SDRAM Timing Configuration 3, offset: 0x100 */ + __IO uint32_t TIMING_CFG_0; /**< DDR SDRAM Timing Configuration 0, offset: 0x104 */ + __IO uint32_t TIMING_CFG_1; /**< DDR SDRAM Timing Configuration 1, offset: 0x108 */ + __IO uint32_t TIMING_CFG_2; /**< DDR SDRAM Timing Configuration 2, offset: 0x10C */ + __IO uint32_t DDR_SDRAM_CFG; /**< DDR SDRAM Control Configuration, offset: 0x110 */ + __IO uint32_t DDR_SDRAM_CFG_2; /**< DDR SDRAM Control Configuration 2, offset: 0x114 */ + uint8_t RESERVED_3[8]; + __IO uint32_t DDR_SDRAM_MD_CNTL; /**< DDR SDRAM Mode Control, offset: 0x120 */ + __IO uint32_t DDR_SDRAM_INTERVAL; /**< DDR SDRAM Interval Configuration, offset: 0x124 */ + __IO uint32_t DDR_DATA_INIT; /**< DDR SDRAM Data Initialization, offset: 0x128 */ + uint8_t RESERVED_4[52]; + __IO uint32_t TIMING_CFG_4; /**< DDR SDRAM Timing Configuration 4, offset: 0x160 */ + uint8_t RESERVED_5[8]; + __IO uint32_t TIMING_CFG_7; /**< DDR SDRAM Timing Configuration 7, offset: 0x16C */ + __IO uint32_t DDR_ZQ_CNTL; /**< DDR SDRAM ZQ Calibration Control, offset: 0x170 */ + uint8_t RESERVED_6[8]; + __IO uint32_t DDR_SR_CNTR; /**< DDR SDRAM Self-Refresh Counter, offset: 0x17C */ + uint8_t RESERVED_7[208]; + __IO uint32_t TIMING_CFG_8; /**< DDR SDRAM Timing Configuration 8, offset: 0x250 */ + __IO uint32_t TIMING_CFG_9; /**< DDR SDRAM timing configuration 9, offset: 0x254 */ + __IO uint32_t TIMING_CFG_10; /**< DDR SDRAM Timing Configuration 10, offset: 0x258 */ + __IO uint32_t TIMING_CFG_11; /**< DDR SDRAM Timing Configuration 11, offset: 0x25C */ + __IO uint32_t DDR_SDRAM_CFG_3; /**< DDR SDRAM Control Configuration 3, offset: 0x260 */ + __IO uint32_t DDR_SDRAM_CFG_4; /**< DDR SDRAM Control Configuration 4, offset: 0x264 */ + uint8_t RESERVED_8[88]; + __I uint32_t DDR_SDRAM_REF_RATE; /**< DDR Refresh Rate, offset: 0x2C0 */ + uint8_t RESERVED_9[60]; + __IO uint32_t TIMING_CFG_12; /**< DDR SDRAM Timing Configuration 12, offset: 0x300 */ + __IO uint32_t TIMING_CFG_13; /**< DDR SDRAM Timing Configuration 13, offset: 0x304 */ + __IO uint32_t TIMING_CFG_14; /**< DDR SDRAM Timing Configuration 14, offset: 0x308 */ + uint8_t RESERVED_10[1268]; + __IO uint32_t TX_CFG_1; /**< Transaction Configuration Register 1, offset: 0x800 */ + uint8_t RESERVED_11[800]; + __IO uint32_t DDRDSR_2; /**< DDR SDRAM Debug Status 2, offset: 0xB24 */ + uint8_t RESERVED_12[208]; + __I uint32_t DDR_IP_REV1; /**< DDRC Revision 1, offset: 0xBF8 */ + uint8_t RESERVED_13[260]; + __IO uint32_t DDR_MTCR; /**< DDR SDRAM Memory Test Control, offset: 0xD00 */ + uint8_t RESERVED_14[28]; + __IO uint32_t DDR_MTP[10]; /**< DDR SDRAM Memory Test Pattern n, array offset: 0xD20, array step: 0x4 */ + uint8_t RESERVED_15[24]; + __IO uint32_t DDR_MT_ST_EXT_ADDR; /**< DDR SDRAM Memory Test Start Extended Address, offset: 0xD60 */ + __IO uint32_t DDR_MT_ST_ADDR; /**< DDR SDRAM Memory Test Start Address, offset: 0xD64 */ + __IO uint32_t DDR_MT_END_EXT_ADDR; /**< DDR SDRAM Memory Test End Extended Address, offset: 0xD68 */ + __IO uint32_t DDR_MT_END_ADDR; /**< DDR SDRAM Memory Test End Address, offset: 0xD6C */ + uint8_t RESERVED_16[144]; + __IO uint32_t PMGC0; /**< Performance Monitor Global Control, offset: 0xE00 */ + uint8_t RESERVED_17[12]; + __IO uint32_t PMLCA0; /**< Performance Monitor Local Control A0, offset: 0xE10 */ + __IO uint32_t PMLCB0; /**< Performance Monitor Local Control B0, offset: 0xE14 */ + __IO uint32_t PMC0A; /**< PMC 0a, offset: 0xE18 */ + __IO uint32_t PMC0B; /**< PMC 0b, offset: 0xE1C */ + __IO uint32_t PMLCA1; /**< Performance Monitor Local Control A, offset: 0xE20 */ + __IO uint32_t PMLCB1; /**< Performance Monitor Local Control B, offset: 0xE24 */ + __IO uint32_t PMC1; /**< Performance Monitor Counter, offset: 0xE28 */ + uint8_t RESERVED_18[4]; + __IO uint32_t PMLCA2; /**< Performance Monitor Local Control A, offset: 0xE30 */ + __IO uint32_t PMLCB2; /**< Performance Monitor Local Control B, offset: 0xE34 */ + __IO uint32_t PMC2; /**< Performance Monitor Counter, offset: 0xE38 */ + uint8_t RESERVED_19[4]; + __IO uint32_t PMLCA3; /**< Performance Monitor Local Control A, offset: 0xE40 */ + __IO uint32_t PMLCB3; /**< Performance Monitor Local Control B, offset: 0xE44 */ + __IO uint32_t PMC3; /**< Performance Monitor Counter, offset: 0xE48 */ + uint8_t RESERVED_20[4]; + __IO uint32_t PMLCA4; /**< Performance Monitor Local Control A, offset: 0xE50 */ + __IO uint32_t PMLCB4; /**< Performance Monitor Local Control B, offset: 0xE54 */ + __IO uint32_t PMC4; /**< Performance Monitor Counter, offset: 0xE58 */ + uint8_t RESERVED_21[4]; + __IO uint32_t PMLCA5; /**< Performance Monitor Local Control A, offset: 0xE60 */ + __IO uint32_t PMLCB5; /**< Performance Monitor Local Control B, offset: 0xE64 */ + __IO uint32_t PMC5; /**< Performance Monitor Counter, offset: 0xE68 */ + uint8_t RESERVED_22[4]; + __IO uint32_t PMLCA6; /**< Performance Monitor Local Control A, offset: 0xE70 */ + __IO uint32_t PMLCB6; /**< Performance Monitor Local Control B, offset: 0xE74 */ + __IO uint32_t PMC6; /**< Performance Monitor Counter, offset: 0xE78 */ + uint8_t RESERVED_23[4]; + __IO uint32_t PMLCA7; /**< Performance Monitor Local Control A, offset: 0xE80 */ + __IO uint32_t PMLCB7; /**< Performance Monitor Local Control B, offset: 0xE84 */ + __IO uint32_t PMC7; /**< Performance Monitor Counter, offset: 0xE88 */ + uint8_t RESERVED_24[4]; + __IO uint32_t PMLCA8; /**< Performance Monitor Local Control A, offset: 0xE90 */ + __IO uint32_t PMLCB8; /**< Performance Monitor Local Control B, offset: 0xE94 */ + __IO uint32_t PMC8; /**< Performance Monitor Counter, offset: 0xE98 */ + uint8_t RESERVED_25[4]; + __IO uint32_t PMLCA9; /**< Performance Monitor Local Control A, offset: 0xEA0 */ + __IO uint32_t PMLCB9; /**< Performance Monitor Local Control B, offset: 0xEA4 */ + __IO uint32_t PMC9; /**< Performance Monitor Counter, offset: 0xEA8 */ + uint8_t RESERVED_26[4]; + __IO uint32_t PMLCA10; /**< Performance Monitor Local Control A, offset: 0xEB0 */ + __IO uint32_t PMLCB10; /**< Performance Monitor Local Control B, offset: 0xEB4 */ + __IO uint32_t PMC10; /**< Performance Monitor Counter, offset: 0xEB8 */ + uint8_t RESERVED_27[324]; + __IO uint32_t ERR_EN; /**< Error Enable, offset: 0x1000 */ + uint8_t RESERVED_28[252]; + __IO uint32_t DATA_ERR_INJECT_HI; /**< Memory Data Path Error Injection Mask High, offset: 0x1100 */ + __IO uint32_t DATA_ERR_INJECT_LO; /**< Memory Data Path Error Injection Mask Low, offset: 0x1104 */ + __IO uint32_t ERR_INJECT; /**< Memory Data Path Error Injection Mask ECC, offset: 0x1108 */ + __IO uint32_t ADDR_ERR_INJ; /**< Address Error Inject, offset: 0x110C */ + uint8_t RESERVED_29[8]; + __IO uint32_t CAPTURE_EXT_DATA_HI; /**< Memory Extended Data Path Read Capture High, offset: 0x1118 */ + __IO uint32_t CAPTURE_EXT_DATA_LO; /**< Memory Extended Data Path Read Capture Low, offset: 0x111C */ + __IO uint32_t CAPTURE_DATA_HI; /**< Memory Data Path Read Capture High, offset: 0x1120 */ + __IO uint32_t CAPTURE_DATA_LO; /**< Memory Data Path Read Capture Low, offset: 0x1124 */ + __IO uint32_t CAPTURE_ECC; /**< Memory Data Path Read Capture ECC, offset: 0x1128 */ + uint8_t RESERVED_30[20]; + __IO uint32_t ERR_DETECT; /**< Memory Error Detect, offset: 0x1140 */ + __IO uint32_t ERR_DISABLE; /**< Memory Error Disable, offset: 0x1144 */ + __IO uint32_t ERR_INT_EN; /**< Memory Error Interrupt Enable, offset: 0x1148 */ + __IO uint32_t CAPTURE_ATTRIBUTES; /**< Memory Error Attributes Capture, offset: 0x114C */ + __IO uint32_t CAPTURE_ADDRESS; /**< Memory Error Address Capture, offset: 0x1150 */ + __IO uint32_t CAPTURE_EXT_ADDRESS; /**< Memory Error Extended Address Capture, offset: 0x1154 */ + __IO uint32_t ERR_SBE; /**< Single-Bit ECC Memory Error Management, offset: 0x1158 */ + uint8_t RESERVED_31[228]; + __IO uint32_t ECC_REG_0; /**< ECC Region 0 Configuration, offset: 0x1240 */ + __IO uint32_t ECC_REG_1; /**< ECC Region 1 Configuration, offset: 0x1244 */ + __IO uint32_t ECC_REG_2; /**< ECC Region 2 Configuration, offset: 0x1248 */ + __IO uint32_t ECC_REG_3; /**< ECC Region 3 Configuration, offset: 0x124C */ + __IO uint32_t ECC_REG_4; /**< ECC Region 4 Configuration, offset: 0x1250 */ + __IO uint32_t ECC_REG_5; /**< ECC Region 5 Configuration, offset: 0x1254 */ + __IO uint32_t ECC_REG_6; /**< ECC Region 6 Configuration, offset: 0x1258 */ + __IO uint32_t ECC_REG_7; /**< ECC Region 7 Configuration, offset: 0x125C */ +} DDRC_Type; + +/* ---------------------------------------------------------------------------- + -- DDRC Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup DDRC_Register_Masks DDRC Register Masks + * @{ + */ + +/*! @name CS_BNDS - Rank 0 Memory Bounds..Rank 1 Memory Bounds */ +/*! @{ */ + +#define DDRC_CS_BNDS_EA_MASK (0xFFFFU) +#define DDRC_CS_BNDS_EA_SHIFT (0U) +/*! EA - Ending Address */ +#define DDRC_CS_BNDS_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CS_BNDS_EA_SHIFT)) & DDRC_CS_BNDS_EA_MASK) + +#define DDRC_CS_BNDS_SA_MASK (0xFFFF0000U) +#define DDRC_CS_BNDS_SA_SHIFT (16U) +/*! SA - Starting Address */ +#define DDRC_CS_BNDS_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CS_BNDS_SA_SHIFT)) & DDRC_CS_BNDS_SA_MASK) +/*! @} */ + +/* The count of DDRC_CS_BNDS */ +#define DDRC_CS_BNDS_COUNT (2U) + +/*! @name REMAP_0A - Remap Region 0A Configuration */ +/*! @{ */ + +#define DDRC_REMAP_0A_REG_0_REMAP_ADDR_MASK (0xFFFU) +#define DDRC_REMAP_0A_REG_0_REMAP_ADDR_SHIFT (0U) +/*! REG_0_REMAP_ADDR - Region 0 Remap Starting Address */ +#define DDRC_REMAP_0A_REG_0_REMAP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_0A_REG_0_REMAP_ADDR_SHIFT)) & DDRC_REMAP_0A_REG_0_REMAP_ADDR_MASK) + +#define DDRC_REMAP_0A_REG_0_REMAP_EN_MASK (0x80000000U) +#define DDRC_REMAP_0A_REG_0_REMAP_EN_SHIFT (31U) +/*! REG_0_REMAP_EN - Region 0 Remap Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_REMAP_0A_REG_0_REMAP_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_0A_REG_0_REMAP_EN_SHIFT)) & DDRC_REMAP_0A_REG_0_REMAP_EN_MASK) +/*! @} */ + +/*! @name REMAP_0B - Remap Region 0B Configuration */ +/*! @{ */ + +#define DDRC_REMAP_0B_REG_0_EA_MASK (0xFFFU) +#define DDRC_REMAP_0B_REG_0_EA_SHIFT (0U) +/*! REG_0_EA - Region 0 Ending Address */ +#define DDRC_REMAP_0B_REG_0_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_0B_REG_0_EA_SHIFT)) & DDRC_REMAP_0B_REG_0_EA_MASK) + +#define DDRC_REMAP_0B_REG_0_SA_MASK (0xFFF0000U) +#define DDRC_REMAP_0B_REG_0_SA_SHIFT (16U) +/*! REG_0_SA - Region 0 Starting Address */ +#define DDRC_REMAP_0B_REG_0_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_0B_REG_0_SA_SHIFT)) & DDRC_REMAP_0B_REG_0_SA_MASK) +/*! @} */ + +/*! @name REMAP_1A - Remap Region 1A Configuration */ +/*! @{ */ + +#define DDRC_REMAP_1A_REG_1_REMAP_ADDR_MASK (0xFFFU) +#define DDRC_REMAP_1A_REG_1_REMAP_ADDR_SHIFT (0U) +/*! REG_1_REMAP_ADDR - Region 1 Remap Starting Address */ +#define DDRC_REMAP_1A_REG_1_REMAP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_1A_REG_1_REMAP_ADDR_SHIFT)) & DDRC_REMAP_1A_REG_1_REMAP_ADDR_MASK) + +#define DDRC_REMAP_1A_REG_1_REMAP_EN_MASK (0x80000000U) +#define DDRC_REMAP_1A_REG_1_REMAP_EN_SHIFT (31U) +/*! REG_1_REMAP_EN - Region 1 Remap Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_REMAP_1A_REG_1_REMAP_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_1A_REG_1_REMAP_EN_SHIFT)) & DDRC_REMAP_1A_REG_1_REMAP_EN_MASK) +/*! @} */ + +/*! @name REMAP_1B - Remap Region 1B Configuration */ +/*! @{ */ + +#define DDRC_REMAP_1B_REG_1_EA_MASK (0xFFFU) +#define DDRC_REMAP_1B_REG_1_EA_SHIFT (0U) +/*! REG_1_EA - Region 1 Ending Address */ +#define DDRC_REMAP_1B_REG_1_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_1B_REG_1_EA_SHIFT)) & DDRC_REMAP_1B_REG_1_EA_MASK) + +#define DDRC_REMAP_1B_REG_1_SA_MASK (0xFFF0000U) +#define DDRC_REMAP_1B_REG_1_SA_SHIFT (16U) +/*! REG_1_SA - Region 1 Starting Address */ +#define DDRC_REMAP_1B_REG_1_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_1B_REG_1_SA_SHIFT)) & DDRC_REMAP_1B_REG_1_SA_MASK) +/*! @} */ + +/*! @name REMAP_2A - Remap Region 2A Configuration */ +/*! @{ */ + +#define DDRC_REMAP_2A_REG_2_REMAP_ADDR_MASK (0xFFFU) +#define DDRC_REMAP_2A_REG_2_REMAP_ADDR_SHIFT (0U) +/*! REG_2_REMAP_ADDR - Region 2 Remap Starting Address */ +#define DDRC_REMAP_2A_REG_2_REMAP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_2A_REG_2_REMAP_ADDR_SHIFT)) & DDRC_REMAP_2A_REG_2_REMAP_ADDR_MASK) + +#define DDRC_REMAP_2A_REG_2_REMAP_EN_MASK (0x80000000U) +#define DDRC_REMAP_2A_REG_2_REMAP_EN_SHIFT (31U) +/*! REG_2_REMAP_EN - Region 2 Remap Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_REMAP_2A_REG_2_REMAP_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_2A_REG_2_REMAP_EN_SHIFT)) & DDRC_REMAP_2A_REG_2_REMAP_EN_MASK) +/*! @} */ + +/*! @name REMAP_2B - Remap Region 2B Configuration */ +/*! @{ */ + +#define DDRC_REMAP_2B_REG_2_EA_MASK (0xFFFU) +#define DDRC_REMAP_2B_REG_2_EA_SHIFT (0U) +/*! REG_2_EA - Region 2 Ending Address */ +#define DDRC_REMAP_2B_REG_2_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_2B_REG_2_EA_SHIFT)) & DDRC_REMAP_2B_REG_2_EA_MASK) + +#define DDRC_REMAP_2B_REG_2_SA_MASK (0xFFF0000U) +#define DDRC_REMAP_2B_REG_2_SA_SHIFT (16U) +/*! REG_2_SA - Region 2 Starting Address */ +#define DDRC_REMAP_2B_REG_2_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_2B_REG_2_SA_SHIFT)) & DDRC_REMAP_2B_REG_2_SA_MASK) +/*! @} */ + +/*! @name REMAP_3A - Remap Region 3A Configuration */ +/*! @{ */ + +#define DDRC_REMAP_3A_REG_3_REMAP_ADDR_MASK (0xFFFU) +#define DDRC_REMAP_3A_REG_3_REMAP_ADDR_SHIFT (0U) +/*! REG_3_REMAP_ADDR - Region 3 Remap Starting Address */ +#define DDRC_REMAP_3A_REG_3_REMAP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_3A_REG_3_REMAP_ADDR_SHIFT)) & DDRC_REMAP_3A_REG_3_REMAP_ADDR_MASK) + +#define DDRC_REMAP_3A_REG_3_REMAP_EN_MASK (0x80000000U) +#define DDRC_REMAP_3A_REG_3_REMAP_EN_SHIFT (31U) +/*! REG_3_REMAP_EN - Region 3 Remap Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_REMAP_3A_REG_3_REMAP_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_3A_REG_3_REMAP_EN_SHIFT)) & DDRC_REMAP_3A_REG_3_REMAP_EN_MASK) +/*! @} */ + +/*! @name REMAP_3B - Remap Region 3B Configuration */ +/*! @{ */ + +#define DDRC_REMAP_3B_REG_3_EA_MASK (0xFFFU) +#define DDRC_REMAP_3B_REG_3_EA_SHIFT (0U) +/*! REG_3_EA - Region 3 Ending Address */ +#define DDRC_REMAP_3B_REG_3_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_3B_REG_3_EA_SHIFT)) & DDRC_REMAP_3B_REG_3_EA_MASK) + +#define DDRC_REMAP_3B_REG_3_SA_MASK (0xFFF0000U) +#define DDRC_REMAP_3B_REG_3_SA_SHIFT (16U) +/*! REG_3_SA - Region 3 Starting Address */ +#define DDRC_REMAP_3B_REG_3_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_REMAP_3B_REG_3_SA_SHIFT)) & DDRC_REMAP_3B_REG_3_SA_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_0 - DDRC Address Decode 0 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_0_ROW14_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_0_ROW14_OVRD_SHIFT (2U) +/*! ROW14_OVRD - Row 14 Override */ +#define DDRC_DDR_ADDR_DEC_0_ROW14_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_0_ROW14_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_0_ROW14_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_0_ROW15_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_0_ROW15_OVRD_SHIFT (10U) +/*! ROW15_OVRD - Row 15 Override */ +#define DDRC_DDR_ADDR_DEC_0_ROW15_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_0_ROW15_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_0_ROW15_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_0_ROW16_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_0_ROW16_OVRD_SHIFT (18U) +/*! ROW16_OVRD - Row 16 Override */ +#define DDRC_DDR_ADDR_DEC_0_ROW16_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_0_ROW16_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_0_ROW16_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_0_ROW17_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_0_ROW17_OVRD_SHIFT (26U) +/*! ROW17_OVRD - Row 17 Override */ +#define DDRC_DDR_ADDR_DEC_0_ROW17_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_0_ROW17_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_0_ROW17_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_1 - DDRC Address Decode 1 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_1_ROW10_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_1_ROW10_OVRD_SHIFT (2U) +/*! ROW10_OVRD - Row 10 Override */ +#define DDRC_DDR_ADDR_DEC_1_ROW10_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_1_ROW10_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_1_ROW10_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_1_ROW11_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_1_ROW11_OVRD_SHIFT (10U) +/*! ROW11_OVRD - Row 11 Override */ +#define DDRC_DDR_ADDR_DEC_1_ROW11_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_1_ROW11_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_1_ROW11_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_1_ROW12_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_1_ROW12_OVRD_SHIFT (18U) +/*! ROW12_OVRD - Row 12 Override */ +#define DDRC_DDR_ADDR_DEC_1_ROW12_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_1_ROW12_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_1_ROW12_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_1_ROW13_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_1_ROW13_OVRD_SHIFT (26U) +/*! ROW13_OVRD - Row 13 Override */ +#define DDRC_DDR_ADDR_DEC_1_ROW13_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_1_ROW13_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_1_ROW13_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_2 - DDRC Address Decode 2 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_2_ROW6_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_2_ROW6_OVRD_SHIFT (2U) +/*! ROW6_OVRD - Row 6 Override */ +#define DDRC_DDR_ADDR_DEC_2_ROW6_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_2_ROW6_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_2_ROW6_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_2_ROW7_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_2_ROW7_OVRD_SHIFT (10U) +/*! ROW7_OVRD - Row 7 Override */ +#define DDRC_DDR_ADDR_DEC_2_ROW7_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_2_ROW7_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_2_ROW7_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_2_ROW8_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_2_ROW8_OVRD_SHIFT (18U) +/*! ROW8_OVRD - Row 8 Override */ +#define DDRC_DDR_ADDR_DEC_2_ROW8_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_2_ROW8_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_2_ROW8_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_2_ROW9_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_2_ROW9_OVRD_SHIFT (26U) +/*! ROW9_OVRD - Row 9 Override */ +#define DDRC_DDR_ADDR_DEC_2_ROW9_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_2_ROW9_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_2_ROW9_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_3 - DDRC Address Decode 3 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_3_ROW2_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_3_ROW2_OVRD_SHIFT (2U) +/*! ROW2_OVRD - Row 2 Override */ +#define DDRC_DDR_ADDR_DEC_3_ROW2_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_3_ROW2_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_3_ROW2_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_3_ROW3_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_3_ROW3_OVRD_SHIFT (10U) +/*! ROW3_OVRD - Row 3 Override */ +#define DDRC_DDR_ADDR_DEC_3_ROW3_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_3_ROW3_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_3_ROW3_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_3_ROW4_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_3_ROW4_OVRD_SHIFT (18U) +/*! ROW4_OVRD - Row 4 Override */ +#define DDRC_DDR_ADDR_DEC_3_ROW4_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_3_ROW4_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_3_ROW4_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_3_ROW5_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_3_ROW5_OVRD_SHIFT (26U) +/*! ROW5_OVRD - Row 5 Override */ +#define DDRC_DDR_ADDR_DEC_3_ROW5_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_3_ROW5_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_3_ROW5_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_4 - DDRC Address Decode 4 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_4_COL9_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_4_COL9_OVRD_SHIFT (2U) +/*! COL9_OVRD - Col 9 Override */ +#define DDRC_DDR_ADDR_DEC_4_COL9_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_4_COL9_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_4_COL9_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_4_COL10_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_4_COL10_OVRD_SHIFT (10U) +/*! COL10_OVRD - Col 10 Override */ +#define DDRC_DDR_ADDR_DEC_4_COL10_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_4_COL10_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_4_COL10_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_4_ROW0_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_4_ROW0_OVRD_SHIFT (18U) +/*! ROW0_OVRD - Row 0 Override */ +#define DDRC_DDR_ADDR_DEC_4_ROW0_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_4_ROW0_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_4_ROW0_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_4_ROW1_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_4_ROW1_OVRD_SHIFT (26U) +/*! ROW1_OVRD - Row 1 Override */ +#define DDRC_DDR_ADDR_DEC_4_ROW1_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_4_ROW1_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_4_ROW1_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_5 - DDRC Address Decode 5 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_5_COL5_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_5_COL5_OVRD_SHIFT (2U) +/*! COL5_OVRD - Col 5 Override */ +#define DDRC_DDR_ADDR_DEC_5_COL5_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_5_COL5_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_5_COL5_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_5_COL6_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_5_COL6_OVRD_SHIFT (10U) +/*! COL6_OVRD - Col 6 Override */ +#define DDRC_DDR_ADDR_DEC_5_COL6_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_5_COL6_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_5_COL6_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_5_COL7_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_5_COL7_OVRD_SHIFT (18U) +/*! COL7_OVRD - Col 7 Override */ +#define DDRC_DDR_ADDR_DEC_5_COL7_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_5_COL7_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_5_COL7_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_5_COL8_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_5_COL8_OVRD_SHIFT (26U) +/*! COL8_OVRD - Col 8 Override */ +#define DDRC_DDR_ADDR_DEC_5_COL8_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_5_COL8_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_5_COL8_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_6 - DDRC Address Decode 6 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_6_COL1_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_6_COL1_OVRD_SHIFT (2U) +/*! COL1_OVRD - Col 1 Override */ +#define DDRC_DDR_ADDR_DEC_6_COL1_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_6_COL1_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_6_COL1_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_6_COL2_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_6_COL2_OVRD_SHIFT (10U) +/*! COL2_OVRD - Col 2 Override */ +#define DDRC_DDR_ADDR_DEC_6_COL2_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_6_COL2_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_6_COL2_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_6_COL3_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_6_COL3_OVRD_SHIFT (18U) +/*! COL3_OVRD - Col 3 Override */ +#define DDRC_DDR_ADDR_DEC_6_COL3_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_6_COL3_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_6_COL3_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_6_COL4_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_6_COL4_OVRD_SHIFT (26U) +/*! COL4_OVRD - Col 4 Override */ +#define DDRC_DDR_ADDR_DEC_6_COL4_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_6_COL4_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_6_COL4_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_7 - DDRC Address Decode 7 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_7_CID1_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_7_CID1_OVRD_SHIFT (2U) +/*! CID1_OVRD - CID 1 Override */ +#define DDRC_DDR_ADDR_DEC_7_CID1_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_7_CID1_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_7_CID1_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_7_BA0_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_7_BA0_OVRD_SHIFT (10U) +/*! BA0_OVRD - Bank 0 Override */ +#define DDRC_DDR_ADDR_DEC_7_BA0_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_7_BA0_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_7_BA0_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_7_BA1_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_7_BA1_OVRD_SHIFT (18U) +/*! BA1_OVRD - Bank 1 Override */ +#define DDRC_DDR_ADDR_DEC_7_BA1_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_7_BA1_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_7_BA1_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_7_COL0_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_7_COL0_OVRD_SHIFT (26U) +/*! COL0_OVRD - Col 0 Override */ +#define DDRC_DDR_ADDR_DEC_7_COL0_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_7_COL0_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_7_COL0_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_8 - DDRC Address Decode 8 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_8_BG1_OVRD_MASK (0xFCU) +#define DDRC_DDR_ADDR_DEC_8_BG1_OVRD_SHIFT (2U) +/*! BG1_OVRD - Bank Group 1 Override */ +#define DDRC_DDR_ADDR_DEC_8_BG1_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_8_BG1_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_8_BG1_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_8_CS0_OVRD_MASK (0xFC00U) +#define DDRC_DDR_ADDR_DEC_8_CS0_OVRD_SHIFT (10U) +/*! CS0_OVRD - Interleaved Rank 0 Override */ +#define DDRC_DDR_ADDR_DEC_8_CS0_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_8_CS0_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_8_CS0_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_8_CS1_OVRD_MASK (0xFC0000U) +#define DDRC_DDR_ADDR_DEC_8_CS1_OVRD_SHIFT (18U) +/*! CS1_OVRD - Interleaved Rank 1 Override */ +#define DDRC_DDR_ADDR_DEC_8_CS1_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_8_CS1_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_8_CS1_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_8_CID0_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_8_CID0_OVRD_SHIFT (26U) +/*! CID0_OVRD - CID 0 Override */ +#define DDRC_DDR_ADDR_DEC_8_CID0_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_8_CID0_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_8_CID0_OVRD_MASK) +/*! @} */ + +/*! @name DDR_ADDR_DEC_9 - DDRC Address Decode 9 */ +/*! @{ */ + +#define DDRC_DDR_ADDR_DEC_9_ADDR_DEC_OVRD_MASK (0x1U) +#define DDRC_DDR_ADDR_DEC_9_ADDR_DEC_OVRD_SHIFT (0U) +/*! ADDR_DEC_OVRD - Address Decode Override */ +#define DDRC_DDR_ADDR_DEC_9_ADDR_DEC_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_9_ADDR_DEC_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_9_ADDR_DEC_OVRD_MASK) + +#define DDRC_DDR_ADDR_DEC_9_BG0_OVRD_MASK (0xFC000000U) +#define DDRC_DDR_ADDR_DEC_9_BG0_OVRD_SHIFT (26U) +/*! BG0_OVRD - Bank Group 0 Override */ +#define DDRC_DDR_ADDR_DEC_9_BG0_OVRD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ADDR_DEC_9_BG0_OVRD_SHIFT)) & DDRC_DDR_ADDR_DEC_9_BG0_OVRD_MASK) +/*! @} */ + +/*! @name CS_CONFIG - Rank 0 Configuration..Rank 1 Configuration */ +/*! @{ */ + +#define DDRC_CS_CONFIG_COL_BITS_CS_MASK (0x7U) +#define DDRC_CS_CONFIG_COL_BITS_CS_SHIFT (0U) +/*! COL_BITS_CS - Column Bits + * 0b000..8 + * 0b001..9 + * 0b010..10 + * 0b011..11 + * 0b111..7 + */ +#define DDRC_CS_CONFIG_COL_BITS_CS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CS_CONFIG_COL_BITS_CS_SHIFT)) & DDRC_CS_CONFIG_COL_BITS_CS_MASK) + +#define DDRC_CS_CONFIG_BG_BITS_CS_MASK (0x30U) +#define DDRC_CS_CONFIG_BG_BITS_CS_SHIFT (4U) +/*! BG_BITS_CS - Bank Group Bits + * 0b00..0 + * 0b01..Must be set to 1 to enable the 3rd bank address bit for LPDDR4, memories. + * 0b10..Reserved for LPDDR4 + * 0b11..Reserved + */ +#define DDRC_CS_CONFIG_BG_BITS_CS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CS_CONFIG_BG_BITS_CS_SHIFT)) & DDRC_CS_CONFIG_BG_BITS_CS_MASK) + +#define DDRC_CS_CONFIG_ROW_BITS_CS_MASK (0x700U) +#define DDRC_CS_CONFIG_ROW_BITS_CS_SHIFT (8U) +/*! ROW_BITS_CS - Row Bits + * 0b000..12 + * 0b001..13 + * 0b010..14 + * 0b011..15 + * 0b100..16 + * 0b101..17 + */ +#define DDRC_CS_CONFIG_ROW_BITS_CS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CS_CONFIG_ROW_BITS_CS_SHIFT)) & DDRC_CS_CONFIG_ROW_BITS_CS_MASK) + +#define DDRC_CS_CONFIG_AP_EN_MASK (0x800000U) +#define DDRC_CS_CONFIG_AP_EN_SHIFT (23U) +/*! AP_EN - Auto-Precharge Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_CS_CONFIG_AP_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CS_CONFIG_AP_EN_SHIFT)) & DDRC_CS_CONFIG_AP_EN_MASK) + +#define DDRC_CS_CONFIG_CS_EN_MASK (0x80000000U) +#define DDRC_CS_CONFIG_CS_EN_SHIFT (31U) +/*! CS_EN - Rank Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_CS_CONFIG_CS_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CS_CONFIG_CS_EN_SHIFT)) & DDRC_CS_CONFIG_CS_EN_MASK) +/*! @} */ + +/* The count of DDRC_CS_CONFIG */ +#define DDRC_CS_CONFIG_COUNT (2U) + +/*! @name TIMING_CFG_3 - DDR SDRAM Timing Configuration 3 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_3_EXT_WRTORD_MASK (0x1U) +#define DDRC_TIMING_CFG_3_EXT_WRTORD_SHIFT (0U) +/*! EXT_WRTORD - Extended Write-To-Read Time */ +#define DDRC_TIMING_CFG_3_EXT_WRTORD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_WRTORD_SHIFT)) & DDRC_TIMING_CFG_3_EXT_WRTORD_MASK) + +#define DDRC_TIMING_CFG_3_EXT_ACTTOACT_MASK (0x2U) +#define DDRC_TIMING_CFG_3_EXT_ACTTOACT_SHIFT (1U) +/*! EXT_ACTTOACT - Extended Activate-To-Activate Time */ +#define DDRC_TIMING_CFG_3_EXT_ACTTOACT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_ACTTOACT_SHIFT)) & DDRC_TIMING_CFG_3_EXT_ACTTOACT_MASK) + +#define DDRC_TIMING_CFG_3_EXT_FOUR_ACT_MASK (0x8U) +#define DDRC_TIMING_CFG_3_EXT_FOUR_ACT_SHIFT (3U) +/*! EXT_FOUR_ACT - Extended Four Activate */ +#define DDRC_TIMING_CFG_3_EXT_FOUR_ACT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_FOUR_ACT_SHIFT)) & DDRC_TIMING_CFG_3_EXT_FOUR_ACT_MASK) + +#define DDRC_TIMING_CFG_3_EXT_CKE_PLS_MASK (0x30U) +#define DDRC_TIMING_CFG_3_EXT_CKE_PLS_SHIFT (4U) +/*! EXT_CKE_PLS - Extended MCKE Pulse */ +#define DDRC_TIMING_CFG_3_EXT_CKE_PLS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_CKE_PLS_SHIFT)) & DDRC_TIMING_CFG_3_EXT_CKE_PLS_MASK) + +#define DDRC_TIMING_CFG_3_EXT_WRREC_MASK (0x300U) +#define DDRC_TIMING_CFG_3_EXT_WRREC_SHIFT (8U) +/*! EXT_WRREC - Extended Write Recovery + * 0b11.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_3_EXT_WRREC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_WRREC_SHIFT)) & DDRC_TIMING_CFG_3_EXT_WRREC_MASK) + +#define DDRC_TIMING_CFG_3_EXT_WR_LAT_2_MASK (0x800U) +#define DDRC_TIMING_CFG_3_EXT_WR_LAT_2_SHIFT (11U) +/*! EXT_WR_LAT_2 - Extended Write Latency 2 */ +#define DDRC_TIMING_CFG_3_EXT_WR_LAT_2(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_WR_LAT_2_SHIFT)) & DDRC_TIMING_CFG_3_EXT_WR_LAT_2_MASK) + +#define DDRC_TIMING_CFG_3_EXT_CASLAT_MASK (0x7000U) +#define DDRC_TIMING_CFG_3_EXT_CASLAT_SHIFT (12U) +/*! EXT_CASLAT - Extended CAS Latency */ +#define DDRC_TIMING_CFG_3_EXT_CASLAT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_CASLAT_SHIFT)) & DDRC_TIMING_CFG_3_EXT_CASLAT_MASK) + +#define DDRC_TIMING_CFG_3_EXT_REFREC_MASK (0x3F0000U) +#define DDRC_TIMING_CFG_3_EXT_REFREC_SHIFT (16U) +/*! EXT_REFREC - Extended Refresh Recovery */ +#define DDRC_TIMING_CFG_3_EXT_REFREC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_REFREC_SHIFT)) & DDRC_TIMING_CFG_3_EXT_REFREC_MASK) + +#define DDRC_TIMING_CFG_3_EXT_ACTTORW_MASK (0xC00000U) +#define DDRC_TIMING_CFG_3_EXT_ACTTORW_SHIFT (22U) +/*! EXT_ACTTORW - Extended Activate To Read Or Write Time */ +#define DDRC_TIMING_CFG_3_EXT_ACTTORW(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_ACTTORW_SHIFT)) & DDRC_TIMING_CFG_3_EXT_ACTTORW_MASK) + +#define DDRC_TIMING_CFG_3_EXT_ACTTOPRE_MASK (0x7000000U) +#define DDRC_TIMING_CFG_3_EXT_ACTTOPRE_SHIFT (24U) +/*! EXT_ACTTOPRE - Extended Activate-To-Precharge Time */ +#define DDRC_TIMING_CFG_3_EXT_ACTTOPRE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_ACTTOPRE_SHIFT)) & DDRC_TIMING_CFG_3_EXT_ACTTOPRE_MASK) + +#define DDRC_TIMING_CFG_3_EXT_PRETOACT_MASK (0x30000000U) +#define DDRC_TIMING_CFG_3_EXT_PRETOACT_SHIFT (28U) +/*! EXT_PRETOACT - Extended Precharge-To-Activate Time */ +#define DDRC_TIMING_CFG_3_EXT_PRETOACT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_3_EXT_PRETOACT_SHIFT)) & DDRC_TIMING_CFG_3_EXT_PRETOACT_MASK) +/*! @} */ + +/*! @name TIMING_CFG_0 - DDR SDRAM Timing Configuration 0 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_0_MRS_CYC_MASK (0x3FU) +#define DDRC_TIMING_CFG_0_MRS_CYC_SHIFT (0U) +/*! MRS_CYC - MRW Cycle Time + * 0b000000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_0_MRS_CYC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_MRS_CYC_SHIFT)) & DDRC_TIMING_CFG_0_MRS_CYC_MASK) + +#define DDRC_TIMING_CFG_0_EXT_ACT_PD_EXIT_MASK (0x1000U) +#define DDRC_TIMING_CFG_0_EXT_ACT_PD_EXIT_SHIFT (12U) +/*! EXT_ACT_PD_EXIT - Extended Active Power-Down Exit */ +#define DDRC_TIMING_CFG_0_EXT_ACT_PD_EXIT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_EXT_ACT_PD_EXIT_SHIFT)) & DDRC_TIMING_CFG_0_EXT_ACT_PD_EXIT_MASK) + +#define DDRC_TIMING_CFG_0_EXT_PRE_PD_EXIT_MASK (0xC000U) +#define DDRC_TIMING_CFG_0_EXT_PRE_PD_EXIT_SHIFT (14U) +/*! EXT_PRE_PD_EXIT - Extended Precharge Power-Down Exit */ +#define DDRC_TIMING_CFG_0_EXT_PRE_PD_EXIT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_EXT_PRE_PD_EXIT_SHIFT)) & DDRC_TIMING_CFG_0_EXT_PRE_PD_EXIT_MASK) + +#define DDRC_TIMING_CFG_0_PRE_PD_EXIT_MASK (0xF0000U) +#define DDRC_TIMING_CFG_0_PRE_PD_EXIT_SHIFT (16U) +/*! PRE_PD_EXIT - Precharge Power-Down Exit + * 0b0000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_0_PRE_PD_EXIT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_PRE_PD_EXIT_SHIFT)) & DDRC_TIMING_CFG_0_PRE_PD_EXIT_MASK) + +#define DDRC_TIMING_CFG_0_ACT_PD_EXIT_MASK (0xF00000U) +#define DDRC_TIMING_CFG_0_ACT_PD_EXIT_SHIFT (20U) +/*! ACT_PD_EXIT - Active Powerdown Exit + * 0b0000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_0_ACT_PD_EXIT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_ACT_PD_EXIT_SHIFT)) & DDRC_TIMING_CFG_0_ACT_PD_EXIT_MASK) + +#define DDRC_TIMING_CFG_0_WWT_MASK (0x3000000U) +#define DDRC_TIMING_CFG_0_WWT_SHIFT (24U) +/*! WWT - Write-To-Write Turnaround To Different Ranks */ +#define DDRC_TIMING_CFG_0_WWT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_WWT_SHIFT)) & DDRC_TIMING_CFG_0_WWT_MASK) + +#define DDRC_TIMING_CFG_0_RRT_MASK (0xC000000U) +#define DDRC_TIMING_CFG_0_RRT_SHIFT (26U) +/*! RRT - Read-To-Read Turnaround To Different Ranks */ +#define DDRC_TIMING_CFG_0_RRT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_RRT_SHIFT)) & DDRC_TIMING_CFG_0_RRT_MASK) + +#define DDRC_TIMING_CFG_0_WRT_MASK (0x30000000U) +#define DDRC_TIMING_CFG_0_WRT_SHIFT (28U) +/*! WRT - Write-To-Read Turnaround To Different Ranks */ +#define DDRC_TIMING_CFG_0_WRT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_WRT_SHIFT)) & DDRC_TIMING_CFG_0_WRT_MASK) + +#define DDRC_TIMING_CFG_0_RWT_MASK (0xC0000000U) +#define DDRC_TIMING_CFG_0_RWT_SHIFT (30U) +/*! RWT - Read-To-Write Turnaround To Different Ranks */ +#define DDRC_TIMING_CFG_0_RWT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_0_RWT_SHIFT)) & DDRC_TIMING_CFG_0_RWT_MASK) +/*! @} */ + +/*! @name TIMING_CFG_1 - DDR SDRAM Timing Configuration 1 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_1_WRTORD_MASK (0xFU) +#define DDRC_TIMING_CFG_1_WRTORD_SHIFT (0U) +/*! WRTORD - Write-To-Read Interval + * 0b0000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_1_WRTORD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_1_WRTORD_SHIFT)) & DDRC_TIMING_CFG_1_WRTORD_MASK) + +#define DDRC_TIMING_CFG_1_ACTTOACT_MASK (0xF0U) +#define DDRC_TIMING_CFG_1_ACTTOACT_SHIFT (4U) +/*! ACTTOACT - Activate-To-Activate Interval + * 0b0000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_1_ACTTOACT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_1_ACTTOACT_SHIFT)) & DDRC_TIMING_CFG_1_ACTTOACT_MASK) + +#define DDRC_TIMING_CFG_1_WRREC_MASK (0xF00U) +#define DDRC_TIMING_CFG_1_WRREC_SHIFT (8U) +/*! WRREC - Write Recovery */ +#define DDRC_TIMING_CFG_1_WRREC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_1_WRREC_SHIFT)) & DDRC_TIMING_CFG_1_WRREC_MASK) + +#define DDRC_TIMING_CFG_1_REFREC_MASK (0xF000U) +#define DDRC_TIMING_CFG_1_REFREC_SHIFT (12U) +/*! REFREC - Refresh Recovery */ +#define DDRC_TIMING_CFG_1_REFREC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_1_REFREC_SHIFT)) & DDRC_TIMING_CFG_1_REFREC_MASK) + +#define DDRC_TIMING_CFG_1_CASLAT_MASK (0xE0000U) +#define DDRC_TIMING_CFG_1_CASLAT_SHIFT (17U) +/*! CASLAT - CAS Latency */ +#define DDRC_TIMING_CFG_1_CASLAT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_1_CASLAT_SHIFT)) & DDRC_TIMING_CFG_1_CASLAT_MASK) + +#define DDRC_TIMING_CFG_1_ACTTORW_MASK (0xF00000U) +#define DDRC_TIMING_CFG_1_ACTTORW_SHIFT (20U) +/*! ACTTORW - Activate To Read Or Write + * 0b0000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_1_ACTTORW(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_1_ACTTORW_SHIFT)) & DDRC_TIMING_CFG_1_ACTTORW_MASK) + +#define DDRC_TIMING_CFG_1_ACTTOPRE_MASK (0xF000000U) +#define DDRC_TIMING_CFG_1_ACTTOPRE_SHIFT (24U) +/*! ACTTOPRE - Activate-To-Precharge Time */ +#define DDRC_TIMING_CFG_1_ACTTOPRE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_1_ACTTOPRE_SHIFT)) & DDRC_TIMING_CFG_1_ACTTOPRE_MASK) + +#define DDRC_TIMING_CFG_1_PRETOACT_MASK (0xF0000000U) +#define DDRC_TIMING_CFG_1_PRETOACT_SHIFT (28U) +/*! PRETOACT - Precharge-To-Activate Time + * 0b0000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_1_PRETOACT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_1_PRETOACT_SHIFT)) & DDRC_TIMING_CFG_1_PRETOACT_MASK) +/*! @} */ + +/*! @name TIMING_CFG_2 - DDR SDRAM Timing Configuration 2 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_2_FOUR_ACT_MASK (0x3FU) +#define DDRC_TIMING_CFG_2_FOUR_ACT_SHIFT (0U) +/*! FOUR_ACT - Four Activate */ +#define DDRC_TIMING_CFG_2_FOUR_ACT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_2_FOUR_ACT_SHIFT)) & DDRC_TIMING_CFG_2_FOUR_ACT_MASK) + +#define DDRC_TIMING_CFG_2_CKE_PLS_MASK (0x1C0U) +#define DDRC_TIMING_CFG_2_CKE_PLS_SHIFT (6U) +/*! CKE_PLS - MCKE Pulse */ +#define DDRC_TIMING_CFG_2_CKE_PLS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_2_CKE_PLS_SHIFT)) & DDRC_TIMING_CFG_2_CKE_PLS_MASK) + +#define DDRC_TIMING_CFG_2_RD_TO_PRE_MASK (0x3E000U) +#define DDRC_TIMING_CFG_2_RD_TO_PRE_SHIFT (13U) +/*! RD_TO_PRE - Read-To-Precharge Time + * 0b00000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_2_RD_TO_PRE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_2_RD_TO_PRE_SHIFT)) & DDRC_TIMING_CFG_2_RD_TO_PRE_MASK) + +#define DDRC_TIMING_CFG_2_EXT_WR_LAT_MASK (0x40000U) +#define DDRC_TIMING_CFG_2_EXT_WR_LAT_SHIFT (18U) +/*! EXT_WR_LAT - Extended Write Latency */ +#define DDRC_TIMING_CFG_2_EXT_WR_LAT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_2_EXT_WR_LAT_SHIFT)) & DDRC_TIMING_CFG_2_EXT_WR_LAT_MASK) + +#define DDRC_TIMING_CFG_2_WR_LAT_MASK (0x780000U) +#define DDRC_TIMING_CFG_2_WR_LAT_SHIFT (19U) +/*! WR_LAT - Write Latency */ +#define DDRC_TIMING_CFG_2_WR_LAT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_2_WR_LAT_SHIFT)) & DDRC_TIMING_CFG_2_WR_LAT_MASK) + +#define DDRC_TIMING_CFG_2_DERATE_VAL_MASK (0xF0000000U) +#define DDRC_TIMING_CFG_2_DERATE_VAL_SHIFT (28U) +/*! DERATE_VAL - Derate Value */ +#define DDRC_TIMING_CFG_2_DERATE_VAL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_2_DERATE_VAL_SHIFT)) & DDRC_TIMING_CFG_2_DERATE_VAL_MASK) +/*! @} */ + +/*! @name DDR_SDRAM_CFG - DDR SDRAM Control Configuration */ +/*! @{ */ + +#define DDRC_DDR_SDRAM_CFG_BI_MASK (0x1U) +#define DDRC_DDR_SDRAM_CFG_BI_SHIFT (0U) +/*! BI - Bypass Initialization + * 0b0..Reserved; do not use + * 0b1..Initialization routine is bypassed + */ +#define DDRC_DDR_SDRAM_CFG_BI(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_BI_SHIFT)) & DDRC_DDR_SDRAM_CFG_BI_MASK) + +#define DDRC_DDR_SDRAM_CFG_MEM_HALT_MASK (0x2U) +#define DDRC_DDR_SDRAM_CFG_MEM_HALT_SHIFT (1U) +/*! MEM_HALT - DDRC Halt + * 0b0..Accepts new transactions + * 0b1..Completes any remaining transactions and remains halted until you write 0 to this field + */ +#define DDRC_DDR_SDRAM_CFG_MEM_HALT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_MEM_HALT_SHIFT)) & DDRC_DDR_SDRAM_CFG_MEM_HALT_MASK) + +#define DDRC_DDR_SDRAM_CFG_BA_INTLV_CTL_MASK (0x7F00U) +#define DDRC_DDR_SDRAM_CFG_BA_INTLV_CTL_SHIFT (8U) +/*! BA_INTLV_CTL - Rank Interleaving Control + * 0b0000000..No external ranks are interleaved. + * 0b1000000..External ranks 0 and 1 are interleaved. + */ +#define DDRC_DDR_SDRAM_CFG_BA_INTLV_CTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_BA_INTLV_CTL_SHIFT)) & DDRC_DDR_SDRAM_CFG_BA_INTLV_CTL_MASK) + +#define DDRC_DDR_SDRAM_CFG_DBW_MASK (0x180000U) +#define DDRC_DDR_SDRAM_CFG_DBW_SHIFT (19U) +/*! DBW - DDR SDRAM Data Bus Width + * 0b10..16 bits + */ +#define DDRC_DDR_SDRAM_CFG_DBW(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_DBW_SHIFT)) & DDRC_DDR_SDRAM_CFG_DBW_MASK) + +#define DDRC_DDR_SDRAM_CFG_DYN_PWR_MASK (0x200000U) +#define DDRC_DDR_SDRAM_CFG_DYN_PWR_SHIFT (21U) +/*! DYN_PWR - Dynamic Power Management + * 0b0..No + * 0b1..Yes + */ +#define DDRC_DDR_SDRAM_CFG_DYN_PWR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_DYN_PWR_SHIFT)) & DDRC_DDR_SDRAM_CFG_DYN_PWR_MASK) + +#define DDRC_DDR_SDRAM_CFG_SDRAM_TYPE_MASK (0x7000000U) +#define DDRC_DDR_SDRAM_CFG_SDRAM_TYPE_SHIFT (24U) +/*! SDRAM_TYPE - DDR SDRAM Type + * 0b100..LPDDR4, SDRAM + */ +#define DDRC_DDR_SDRAM_CFG_SDRAM_TYPE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_SDRAM_TYPE_SHIFT)) & DDRC_DDR_SDRAM_CFG_SDRAM_TYPE_MASK) + +#define DDRC_DDR_SDRAM_CFG_SREN_MASK (0x40000000U) +#define DDRC_DDR_SDRAM_CFG_SREN_SHIFT (30U) +/*! SREN - Self-Refresh Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_DDR_SDRAM_CFG_SREN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_SREN_SHIFT)) & DDRC_DDR_SDRAM_CFG_SREN_MASK) + +#define DDRC_DDR_SDRAM_CFG_MEM_EN_MASK (0x80000000U) +#define DDRC_DDR_SDRAM_CFG_MEM_EN_SHIFT (31U) +/*! MEM_EN - DDRC Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_DDR_SDRAM_CFG_MEM_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_MEM_EN_SHIFT)) & DDRC_DDR_SDRAM_CFG_MEM_EN_MASK) +/*! @} */ + +/*! @name DDR_SDRAM_CFG_2 - DDR SDRAM Control Configuration 2 */ +/*! @{ */ + +#define DDRC_DDR_SDRAM_CFG_2_D_INIT_MASK (0x10U) +#define DDRC_DDR_SDRAM_CFG_2_D_INIT_SHIFT (4U) +/*! D_INIT - DDR SDRAM Data Initialization + * 0b0..No data initialization in progress, and none scheduled + * 0b1..DDRC to initialize the DDR SDRAM after DDRC is enabled + */ +#define DDRC_DDR_SDRAM_CFG_2_D_INIT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_2_D_INIT_SHIFT)) & DDRC_DDR_SDRAM_CFG_2_D_INIT_MASK) + +#define DDRC_DDR_SDRAM_CFG_2_NUM_PR_MASK (0xF000U) +#define DDRC_DDR_SDRAM_CFG_2_NUM_PR_SHIFT (12U) +/*! NUM_PR - Number Of Posted Refreshes + * 0b0000, 0b0001..1 + * 0b0010..2 + * 0b0011..3 + * 0b0100..4 + * 0b0101..5 + * 0b0110..6 + * 0b0111..7 + * 0b1000..8 + */ +#define DDRC_DDR_SDRAM_CFG_2_NUM_PR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_2_NUM_PR_SHIFT)) & DDRC_DDR_SDRAM_CFG_2_NUM_PR_MASK) + +#define DDRC_DDR_SDRAM_CFG_2_MCK_DIS_MASK (0xF000000U) +#define DDRC_DDR_SDRAM_CFG_2_MCK_DIS_SHIFT (24U) +/*! MCK_DIS - MCK Disable */ +#define DDRC_DDR_SDRAM_CFG_2_MCK_DIS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_2_MCK_DIS_SHIFT)) & DDRC_DDR_SDRAM_CFG_2_MCK_DIS_MASK) + +#define DDRC_DDR_SDRAM_CFG_2_FRC_SR_MASK (0x80000000U) +#define DDRC_DDR_SDRAM_CFG_2_FRC_SR_SHIFT (31U) +/*! FRC_SR - Force Self-Refresh + * 0b0..Normal mode + * 0b1..Self-Refresh mode + */ +#define DDRC_DDR_SDRAM_CFG_2_FRC_SR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_2_FRC_SR_SHIFT)) & DDRC_DDR_SDRAM_CFG_2_FRC_SR_MASK) +/*! @} */ + +/*! @name DDR_SDRAM_MD_CNTL - DDR SDRAM Mode Control */ +/*! @{ */ + +#define DDRC_DDR_SDRAM_MD_CNTL_MD_VALUE_MASK (0x3FFFFU) +#define DDRC_DDR_SDRAM_MD_CNTL_MD_VALUE_SHIFT (0U) +/*! MD_VALUE - Mode Register Value */ +#define DDRC_DDR_SDRAM_MD_CNTL_MD_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_MD_CNTL_MD_VALUE_SHIFT)) & DDRC_DDR_SDRAM_MD_CNTL_MD_VALUE_MASK) + +#define DDRC_DDR_SDRAM_MD_CNTL_CKE_CNTL_MASK (0x300000U) +#define DDRC_DDR_SDRAM_MD_CNTL_CKE_CNTL_SHIFT (20U) +/*! CKE_CNTL - Clock Enable Control + * 0b00..Not forced + * 0b01..Forced to a lower value + * 0b10..Forced to a higher value + * 0b11.. + */ +#define DDRC_DDR_SDRAM_MD_CNTL_CKE_CNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_MD_CNTL_CKE_CNTL_SHIFT)) & DDRC_DDR_SDRAM_MD_CNTL_CKE_CNTL_MASK) + +#define DDRC_DDR_SDRAM_MD_CNTL_SET_PRE_MASK (0x400000U) +#define DDRC_DDR_SDRAM_MD_CNTL_SET_PRE_SHIFT (22U) +/*! SET_PRE - Set Precharge + * 0b0..No + * 0b1..Yes + */ +#define DDRC_DDR_SDRAM_MD_CNTL_SET_PRE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_MD_CNTL_SET_PRE_SHIFT)) & DDRC_DDR_SDRAM_MD_CNTL_SET_PRE_MASK) + +#define DDRC_DDR_SDRAM_MD_CNTL_SET_REF_MASK (0x800000U) +#define DDRC_DDR_SDRAM_MD_CNTL_SET_REF_SHIFT (23U) +/*! SET_REF - Set Refresh + * 0b0..No + * 0b1..Yes + */ +#define DDRC_DDR_SDRAM_MD_CNTL_SET_REF(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_MD_CNTL_SET_REF_SHIFT)) & DDRC_DDR_SDRAM_MD_CNTL_SET_REF_MASK) + +#define DDRC_DDR_SDRAM_MD_CNTL_MD_SEL_MASK (0xF000000U) +#define DDRC_DDR_SDRAM_MD_CNTL_MD_SEL_SHIFT (24U) +/*! MD_SEL - Mode Register Select + * 0b0000..MR + * 0b0001..EMR + * 0b0010..EMR2 + * 0b0011..EMR3 + */ +#define DDRC_DDR_SDRAM_MD_CNTL_MD_SEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_MD_CNTL_MD_SEL_SHIFT)) & DDRC_DDR_SDRAM_MD_CNTL_MD_SEL_MASK) + +#define DDRC_DDR_SDRAM_MD_CNTL_CS_SEL_MASK (0x70000000U) +#define DDRC_DDR_SDRAM_MD_CNTL_CS_SEL_SHIFT (28U) +/*! CS_SEL - Select Rank + * 0b000..0 + * 0b001..1 + * 0b100..0 and 1 + */ +#define DDRC_DDR_SDRAM_MD_CNTL_CS_SEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_MD_CNTL_CS_SEL_SHIFT)) & DDRC_DDR_SDRAM_MD_CNTL_CS_SEL_MASK) + +#define DDRC_DDR_SDRAM_MD_CNTL_MD_EN_MASK (0x80000000U) +#define DDRC_DDR_SDRAM_MD_CNTL_MD_EN_SHIFT (31U) +/*! MD_EN - Mode Enable + * 0b0..Does not need to be issued + * 0b1..Valid data contained in the register ready to be issued as an MRW command + */ +#define DDRC_DDR_SDRAM_MD_CNTL_MD_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_MD_CNTL_MD_EN_SHIFT)) & DDRC_DDR_SDRAM_MD_CNTL_MD_EN_MASK) +/*! @} */ + +/*! @name DDR_SDRAM_INTERVAL - DDR SDRAM Interval Configuration */ +/*! @{ */ + +#define DDRC_DDR_SDRAM_INTERVAL_BSTOPRE_MASK (0x3FFFU) +#define DDRC_DDR_SDRAM_INTERVAL_BSTOPRE_SHIFT (0U) +/*! BSTOPRE - Precharge Interval */ +#define DDRC_DDR_SDRAM_INTERVAL_BSTOPRE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_INTERVAL_BSTOPRE_SHIFT)) & DDRC_DDR_SDRAM_INTERVAL_BSTOPRE_MASK) + +#define DDRC_DDR_SDRAM_INTERVAL_REFINT_MASK (0xFFFF0000U) +#define DDRC_DDR_SDRAM_INTERVAL_REFINT_SHIFT (16U) +/*! REFINT - Refresh Interval */ +#define DDRC_DDR_SDRAM_INTERVAL_REFINT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_INTERVAL_REFINT_SHIFT)) & DDRC_DDR_SDRAM_INTERVAL_REFINT_MASK) +/*! @} */ + +/*! @name DDR_DATA_INIT - DDR SDRAM Data Initialization */ +/*! @{ */ + +#define DDRC_DDR_DATA_INIT_INIT_VALUE_MASK (0xFFFFFFFFU) +#define DDRC_DDR_DATA_INIT_INIT_VALUE_SHIFT (0U) +/*! INIT_VALUE - Initialization Value */ +#define DDRC_DDR_DATA_INIT_INIT_VALUE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_DATA_INIT_INIT_VALUE_SHIFT)) & DDRC_DDR_DATA_INIT_INIT_VALUE_MASK) +/*! @} */ + +/*! @name TIMING_CFG_4 - DDR SDRAM Timing Configuration 4 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_4_DLL_LOCK_MASK (0x3U) +#define DDRC_TIMING_CFG_4_DLL_LOCK_SHIFT (0U) +/*! DLL_LOCK - DDR SDRAM DLL Lock Time + * 0b10..1024 clocks + * 0b11..2048 clocks + */ +#define DDRC_TIMING_CFG_4_DLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_DLL_LOCK_SHIFT)) & DDRC_TIMING_CFG_4_DLL_LOCK_MASK) + +#define DDRC_TIMING_CFG_4_EXT_REFINT_MASK (0x10U) +#define DDRC_TIMING_CFG_4_EXT_REFINT_SHIFT (4U) +/*! EXT_REFINT - Extended Refresh Interval + * 0b0..0 + * 0b1..65,536 + */ +#define DDRC_TIMING_CFG_4_EXT_REFINT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_EXT_REFINT_SHIFT)) & DDRC_TIMING_CFG_4_EXT_REFINT_MASK) + +#define DDRC_TIMING_CFG_4_EXT_WWT_MASK (0x300U) +#define DDRC_TIMING_CFG_4_EXT_WWT_SHIFT (8U) +/*! EXT_WWT - Extended Write-To-Write Turnaround */ +#define DDRC_TIMING_CFG_4_EXT_WWT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_EXT_WWT_SHIFT)) & DDRC_TIMING_CFG_4_EXT_WWT_MASK) + +#define DDRC_TIMING_CFG_4_EXT_RRT_MASK (0xC00U) +#define DDRC_TIMING_CFG_4_EXT_RRT_SHIFT (10U) +/*! EXT_RRT - Extended Read-To-Read Turnaround */ +#define DDRC_TIMING_CFG_4_EXT_RRT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_EXT_RRT_SHIFT)) & DDRC_TIMING_CFG_4_EXT_RRT_MASK) + +#define DDRC_TIMING_CFG_4_EXT_WRT_MASK (0x3000U) +#define DDRC_TIMING_CFG_4_EXT_WRT_SHIFT (12U) +/*! EXT_WRT - Extended Write-To-Read Turnaround */ +#define DDRC_TIMING_CFG_4_EXT_WRT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_EXT_WRT_SHIFT)) & DDRC_TIMING_CFG_4_EXT_WRT_MASK) + +#define DDRC_TIMING_CFG_4_EXT_RWT_MASK (0xC000U) +#define DDRC_TIMING_CFG_4_EXT_RWT_SHIFT (14U) +/*! EXT_RWT - Extended Read-To-Write Turnaround */ +#define DDRC_TIMING_CFG_4_EXT_RWT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_EXT_RWT_SHIFT)) & DDRC_TIMING_CFG_4_EXT_RWT_MASK) + +#define DDRC_TIMING_CFG_4_WWT_MASK (0xF0000U) +#define DDRC_TIMING_CFG_4_WWT_SHIFT (16U) +/*! WWT - Write-To-Write Turnaround For Same Rank */ +#define DDRC_TIMING_CFG_4_WWT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_WWT_SHIFT)) & DDRC_TIMING_CFG_4_WWT_MASK) + +#define DDRC_TIMING_CFG_4_RRT_MASK (0xF00000U) +#define DDRC_TIMING_CFG_4_RRT_SHIFT (20U) +/*! RRT - Read-To-Read Turnaround For Same Rank */ +#define DDRC_TIMING_CFG_4_RRT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_RRT_SHIFT)) & DDRC_TIMING_CFG_4_RRT_MASK) + +#define DDRC_TIMING_CFG_4_WRT_MASK (0xF000000U) +#define DDRC_TIMING_CFG_4_WRT_SHIFT (24U) +/*! WRT - Write-To-Read Turnaround For Same Rank */ +#define DDRC_TIMING_CFG_4_WRT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_WRT_SHIFT)) & DDRC_TIMING_CFG_4_WRT_MASK) + +#define DDRC_TIMING_CFG_4_RWT_MASK (0xF0000000U) +#define DDRC_TIMING_CFG_4_RWT_SHIFT (28U) +/*! RWT - Read-To-Write Turnaround For Same Rank */ +#define DDRC_TIMING_CFG_4_RWT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_4_RWT_SHIFT)) & DDRC_TIMING_CFG_4_RWT_MASK) +/*! @} */ + +/*! @name TIMING_CFG_7 - DDR SDRAM Timing Configuration 7 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_7_CKSRX_MASK (0xF00000U) +#define DDRC_TIMING_CFG_7_CKSRX_SHIFT (20U) +/*! CKSRX - Clock After Self-Refresh Exit + * 0b0000, 0b1010..15 + * 0b0001..6 + * 0b0010..7 + * 0b0011..8 + * 0b0100..9 + * 0b0101..10 + * 0b0110..11 + * 0b0111..12 + * 0b1000..13 + * 0b1001..14 + * 0b1011..16 + * 0b1100..17 + * 0b1101..18 + * 0b1110..19 + * 0b1111..32 + */ +#define DDRC_TIMING_CFG_7_CKSRX(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_7_CKSRX_SHIFT)) & DDRC_TIMING_CFG_7_CKSRX_MASK) + +#define DDRC_TIMING_CFG_7_CKSRE_MASK (0xF000000U) +#define DDRC_TIMING_CFG_7_CKSRE_SHIFT (24U) +/*! CKSRE - Clock After Self-Refresh Entry + * 0b0000, 0b1010..15 + * 0b0001..6 + * 0b0010..7 + * 0b0011..8 + * 0b0100..9 + * 0b0101..10 + * 0b0110..11 + * 0b0111..12 + * 0b1000..13 + * 0b1001..14 + * 0b1011..16 + * 0b1100..17 + * 0b1101..18 + * 0b1110..19 + * 0b1111..32 + */ +#define DDRC_TIMING_CFG_7_CKSRE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_7_CKSRE_SHIFT)) & DDRC_TIMING_CFG_7_CKSRE_MASK) + +#define DDRC_TIMING_CFG_7_CKE_RST_MASK (0x30000000U) +#define DDRC_TIMING_CFG_7_CKE_RST_SHIFT (28U) +/*! CKE_RST - MCKE Reset Time + * 0b00..200 + * 0b01..256 + * 0b10..512 + * 0b11..4096 + */ +#define DDRC_TIMING_CFG_7_CKE_RST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_7_CKE_RST_SHIFT)) & DDRC_TIMING_CFG_7_CKE_RST_MASK) +/*! @} */ + +/*! @name DDR_ZQ_CNTL - DDR SDRAM ZQ Calibration Control */ +/*! @{ */ + +#define DDRC_DDR_ZQ_CNTL_ZQCS_INT_MASK (0xFU) +#define DDRC_DDR_ZQ_CNTL_ZQCS_INT_SHIFT (0U) +/*! ZQCS_INT - ZQCS Interval + * 0b0000..32 + * 0b0001..64 + * 0b0010..128 + * 0b0011..256 + * 0b0100..512 + * 0b0101..1024 + * 0b0110..2048 + * 0b0111..4096 + * 0b1000..8192 + * 0b1001..16384 + * 0b1010..32768 + * 0b1111..ZQCS calibration disabled + */ +#define DDRC_DDR_ZQ_CNTL_ZQCS_INT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ZQ_CNTL_ZQCS_INT_SHIFT)) & DDRC_DDR_ZQ_CNTL_ZQCS_INT_MASK) + +#define DDRC_DDR_ZQ_CNTL_ZQCS_MASK (0xF00U) +#define DDRC_DDR_ZQ_CNTL_ZQCS_SHIFT (8U) +/*! ZQCS - ZQ Calibration Short Time + * 0b0000..1 + * 0b0001..2 + * 0b0010..4 + * 0b0011..8 + * 0b0100..16 + * 0b0101..32 + * 0b0110..64 + * 0b0111..128 + * 0b1000..256 + * 0b1001..512 + */ +#define DDRC_DDR_ZQ_CNTL_ZQCS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ZQ_CNTL_ZQCS_SHIFT)) & DDRC_DDR_ZQ_CNTL_ZQCS_MASK) + +#define DDRC_DDR_ZQ_CNTL_ZQOPER_MASK (0xF0000U) +#define DDRC_DDR_ZQ_CNTL_ZQOPER_SHIFT (16U) +/*! ZQOPER - ZQ Calibration Operation Time + * 0b0111..128 + * 0b1000..256 + * 0b1001..512 + * 0b1010..1024 + * 0b1011..2048 + */ +#define DDRC_DDR_ZQ_CNTL_ZQOPER(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ZQ_CNTL_ZQOPER_SHIFT)) & DDRC_DDR_ZQ_CNTL_ZQOPER_MASK) + +#define DDRC_DDR_ZQ_CNTL_ZQINIT_MASK (0xF000000U) +#define DDRC_DDR_ZQ_CNTL_ZQINIT_SHIFT (24U) +/*! ZQINIT - ZQ Calibration Initialization Time + * 0b0111..128 + * 0b1000..256 + * 0b1001..512 + * 0b1010..1024 + * 0b1011..2048 + */ +#define DDRC_DDR_ZQ_CNTL_ZQINIT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ZQ_CNTL_ZQINIT_SHIFT)) & DDRC_DDR_ZQ_CNTL_ZQINIT_MASK) + +#define DDRC_DDR_ZQ_CNTL_ZQ_EN_MASK (0x80000000U) +#define DDRC_DDR_ZQ_CNTL_ZQ_EN_SHIFT (31U) +/*! ZQ_EN - ZQ Calibration Enable + * 0b0..Not used + * 0b1..Used + */ +#define DDRC_DDR_ZQ_CNTL_ZQ_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_ZQ_CNTL_ZQ_EN_SHIFT)) & DDRC_DDR_ZQ_CNTL_ZQ_EN_MASK) +/*! @} */ + +/*! @name DDR_SR_CNTR - DDR SDRAM Self-Refresh Counter */ +/*! @{ */ + +#define DDRC_DDR_SR_CNTR_SR_IT_MASK (0xF0000U) +#define DDRC_DDR_SR_CNTR_SR_IT_SHIFT (16U) +/*! SR_IT - Self-Refresh Idle Threshold */ +#define DDRC_DDR_SR_CNTR_SR_IT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SR_CNTR_SR_IT_SHIFT)) & DDRC_DDR_SR_CNTR_SR_IT_MASK) +/*! @} */ + +/*! @name TIMING_CFG_8 - DDR SDRAM Timing Configuration 8 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_8_PRE_ALL_REC_MASK (0x3FU) +#define DDRC_TIMING_CFG_8_PRE_ALL_REC_SHIFT (0U) +/*! PRE_ALL_REC - Precharge All-To-Activate Interval */ +#define DDRC_TIMING_CFG_8_PRE_ALL_REC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_8_PRE_ALL_REC_SHIFT)) & DDRC_TIMING_CFG_8_PRE_ALL_REC_MASK) +/*! @} */ + +/*! @name TIMING_CFG_9 - DDR SDRAM timing configuration 9 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_9_REFTOREF_PB_MASK (0x3FFU) +#define DDRC_TIMING_CFG_9_REFTOREF_PB_SHIFT (0U) +/*! REFTOREF_PB - Refresh-to-refresh interval for per-bank refresh. + * 0b0000000000..disable PB refresh + * 0b0000000001..9 clocks + * 0b0000000010..10 clocks + * 0b1011111110..774 clocks + * 0b1011111111..775 clocks + */ +#define DDRC_TIMING_CFG_9_REFTOREF_PB(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_9_REFTOREF_PB_SHIFT)) & DDRC_TIMING_CFG_9_REFTOREF_PB_MASK) + +#define DDRC_TIMING_CFG_9_REFREC_PB_MASK (0x3FF0000U) +#define DDRC_TIMING_CFG_9_REFREC_PB_SHIFT (16U) +/*! REFREC_PB - Refresh Recovery Per-Bank Refresh + * 0b0000000000..8 clocks + * 0b0000000001..9 clocks + * 0b0000000010..10 clocks + * 0b1011111110..774 clocks + * 0b1011111111..775 clocks + */ +#define DDRC_TIMING_CFG_9_REFREC_PB(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_9_REFREC_PB_SHIFT)) & DDRC_TIMING_CFG_9_REFREC_PB_MASK) +/*! @} */ + +/*! @name TIMING_CFG_10 - DDR SDRAM Timing Configuration 10 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_10_T_STAB_MASK (0x7FFFU) +#define DDRC_TIMING_CFG_10_T_STAB_SHIFT (0U) +/*! T_STAB - Stabilization Wait Time */ +#define DDRC_TIMING_CFG_10_T_STAB(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_10_T_STAB_SHIFT)) & DDRC_TIMING_CFG_10_T_STAB_MASK) +/*! @} */ + +/*! @name TIMING_CFG_11 - DDR SDRAM Timing Configuration 11 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_11_MWWT_MASK (0xFU) +#define DDRC_TIMING_CFG_11_MWWT_SHIFT (0U) +/*! MWWT - Masked Write-To-Write Turnaround (tCCDMW) */ +#define DDRC_TIMING_CFG_11_MWWT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_11_MWWT_SHIFT)) & DDRC_TIMING_CFG_11_MWWT_MASK) + +#define DDRC_TIMING_CFG_11_PRE_TO_PRE_MASK (0xF00U) +#define DDRC_TIMING_CFG_11_PRE_TO_PRE_SHIFT (8U) +/*! PRE_TO_PRE - Precharge-To-Precharge Time + * 0b0000, 0b0100..4 + * 0b0001..1 + * 0b0010..2 + * 0b0011..3 + * 0b0101..5 + * 0b0110..6 + * 0b0111..7 + * 0b1000..8 + * 0b1001..9 + * 0b1010..10 + * 0b1011..11 + * 0b1100..12 + * 0b1101..13 + * 0b1110..14 + * 0b1111..15 + */ +#define DDRC_TIMING_CFG_11_PRE_TO_PRE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_11_PRE_TO_PRE_SHIFT)) & DDRC_TIMING_CFG_11_PRE_TO_PRE_MASK) +/*! @} */ + +/*! @name DDR_SDRAM_CFG_3 - DDR SDRAM Control Configuration 3 */ +/*! @{ */ + +#define DDRC_DDR_SDRAM_CFG_3_SR_FAST_WK_EN_MASK (0x2U) +#define DDRC_DDR_SDRAM_CFG_3_SR_FAST_WK_EN_SHIFT (1U) +/*! SR_FAST_WK_EN - Self Refresh Fast Wakeup Enable + * 0b0..Slow + * 0b1..Fast + */ +#define DDRC_DDR_SDRAM_CFG_3_SR_FAST_WK_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_3_SR_FAST_WK_EN_SHIFT)) & DDRC_DDR_SDRAM_CFG_3_SR_FAST_WK_EN_MASK) + +#define DDRC_DDR_SDRAM_CFG_3_NON_PWR_2_MASK (0x8U) +#define DDRC_DDR_SDRAM_CFG_3_NON_PWR_2_SHIFT (3U) +/*! NON_PWR_2 - Non Power of 2 Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_DDR_SDRAM_CFG_3_NON_PWR_2(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_3_NON_PWR_2_SHIFT)) & DDRC_DDR_SDRAM_CFG_3_NON_PWR_2_MASK) + +#define DDRC_DDR_SDRAM_CFG_3_DYN_REF_RATE_EN_MASK (0x80U) +#define DDRC_DDR_SDRAM_CFG_3_DYN_REF_RATE_EN_SHIFT (7U) +/*! DYN_REF_RATE_EN - Dynamic Refresh Rate Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_DDR_SDRAM_CFG_3_DYN_REF_RATE_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_3_DYN_REF_RATE_EN_SHIFT)) & DDRC_DDR_SDRAM_CFG_3_DYN_REF_RATE_EN_MASK) + +#define DDRC_DDR_SDRAM_CFG_3_DRAIN_FOR_SR_MASK (0x800U) +#define DDRC_DDR_SDRAM_CFG_3_DRAIN_FOR_SR_SHIFT (11U) +/*! DRAIN_FOR_SR - Drain Queues For Self-Refresh + * 0b0..Do not drain + * 0b1..Drain + */ +#define DDRC_DDR_SDRAM_CFG_3_DRAIN_FOR_SR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_3_DRAIN_FOR_SR_SHIFT)) & DDRC_DDR_SDRAM_CFG_3_DRAIN_FOR_SR_MASK) + +#define DDRC_DDR_SDRAM_CFG_3_DM_CFG_MASK (0x7000U) +#define DDRC_DDR_SDRAM_CFG_3_DM_CFG_SHIFT (12U) +/*! DM_CFG - Data Mask Configuration + * 0b000..Normal data masks based on the settings defined in DDR_SDRAM_CFG[SDRAM_TYPE] + * 0b010..DBI + * 0b011..Neither data masks nor DBI + * 0b100..DBI with data masks + */ +#define DDRC_DDR_SDRAM_CFG_3_DM_CFG(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_3_DM_CFG_SHIFT)) & DDRC_DDR_SDRAM_CFG_3_DM_CFG_MASK) + +#define DDRC_DDR_SDRAM_CFG_3_DDRC_RST_MASK (0x80000000U) +#define DDRC_DDR_SDRAM_CFG_3_DDRC_RST_SHIFT (31U) +/*! DDRC_RST - DDRC Reset + * 0b0..Operating normally + * 0b1..Undergoing reset + */ +#define DDRC_DDR_SDRAM_CFG_3_DDRC_RST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_3_DDRC_RST_SHIFT)) & DDRC_DDR_SDRAM_CFG_3_DDRC_RST_MASK) +/*! @} */ + +/*! @name DDR_SDRAM_CFG_4 - DDR SDRAM Control Configuration 4 */ +/*! @{ */ + +#define DDRC_DDR_SDRAM_CFG_4_FRQCH_RET_MASK (0x1F000U) +#define DDRC_DDR_SDRAM_CFG_4_FRQCH_RET_SHIFT (12U) +/*! FRQCH_RET - Frequency Change and Retention Setup */ +#define DDRC_DDR_SDRAM_CFG_4_FRQCH_RET(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_CFG_4_FRQCH_RET_SHIFT)) & DDRC_DDR_SDRAM_CFG_4_FRQCH_RET_MASK) +/*! @} */ + +/*! @name DDR_SDRAM_REF_RATE - DDR Refresh Rate */ +/*! @{ */ + +#define DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS1_MASK (0xFFU) +#define DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS1_SHIFT (0U) +/*! REF_RATE_CS1 - Refresh Rate Rank 1 */ +#define DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS1(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS1_SHIFT)) & DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS1_MASK) + +#define DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS0_MASK (0xFF00U) +#define DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS0_SHIFT (8U) +/*! REF_RATE_CS0 - Refresh Rate Rank 0 */ +#define DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS0(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS0_SHIFT)) & DDRC_DDR_SDRAM_REF_RATE_REF_RATE_CS0_MASK) +/*! @} */ + +/*! @name TIMING_CFG_12 - DDR SDRAM Timing Configuration 12 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_12_CASLAT_HS_MASK (0x3FU) +#define DDRC_TIMING_CFG_12_CASLAT_HS_SHIFT (0U) +/*! CASLAT_HS - CAS Latency For Half Speed */ +#define DDRC_TIMING_CFG_12_CASLAT_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_12_CASLAT_HS_SHIFT)) & DDRC_TIMING_CFG_12_CASLAT_HS_MASK) + +#define DDRC_TIMING_CFG_12_ACTTORW_HS_MASK (0x3F00U) +#define DDRC_TIMING_CFG_12_ACTTORW_HS_SHIFT (8U) +/*! ACTTORW_HS - Activate To Read Or Write For Half Speed + * 0b000000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_12_ACTTORW_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_12_ACTTORW_HS_SHIFT)) & DDRC_TIMING_CFG_12_ACTTORW_HS_MASK) + +#define DDRC_TIMING_CFG_12_ACTTOPRE_HS_MASK (0x7F0000U) +#define DDRC_TIMING_CFG_12_ACTTOPRE_HS_SHIFT (16U) +/*! ACTTOPRE_HS - Activate-To-Precharge Time For Half Speed */ +#define DDRC_TIMING_CFG_12_ACTTOPRE_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_12_ACTTOPRE_HS_SHIFT)) & DDRC_TIMING_CFG_12_ACTTOPRE_HS_MASK) + +#define DDRC_TIMING_CFG_12_PRETOACT_HS_MASK (0x3F000000U) +#define DDRC_TIMING_CFG_12_PRETOACT_HS_SHIFT (24U) +/*! PRETOACT_HS - Precharge-To-Activate Time For Half Speed + * 0b000000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_12_PRETOACT_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_12_PRETOACT_HS_SHIFT)) & DDRC_TIMING_CFG_12_PRETOACT_HS_MASK) +/*! @} */ + +/*! @name TIMING_CFG_13 - DDR SDRAM Timing Configuration 13 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_13_ACTTOACT_HS_MASK (0x1FU) +#define DDRC_TIMING_CFG_13_ACTTOACT_HS_SHIFT (0U) +/*! ACTTOACT_HS - Activate-To-Activate Interval For Half Speed + * 0b00000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_13_ACTTOACT_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_13_ACTTOACT_HS_SHIFT)) & DDRC_TIMING_CFG_13_ACTTOACT_HS_MASK) + +#define DDRC_TIMING_CFG_13_WRREC_HS_MASK (0x3F00U) +#define DDRC_TIMING_CFG_13_WRREC_HS_SHIFT (8U) +/*! WRREC_HS - Write Recovery For Half Speed + * 0b000000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_13_WRREC_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_13_WRREC_HS_SHIFT)) & DDRC_TIMING_CFG_13_WRREC_HS_MASK) + +#define DDRC_TIMING_CFG_13_REFREC_HS_MASK (0x3FF0000U) +#define DDRC_TIMING_CFG_13_REFREC_HS_SHIFT (16U) +/*! REFREC_HS - Refresh Recovery For Half Speed */ +#define DDRC_TIMING_CFG_13_REFREC_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_13_REFREC_HS_SHIFT)) & DDRC_TIMING_CFG_13_REFREC_HS_MASK) +/*! @} */ + +/*! @name TIMING_CFG_14 - DDR SDRAM Timing Configuration 14 */ +/*! @{ */ + +#define DDRC_TIMING_CFG_14_REFINT_HS_MASK (0x1FFFFU) +#define DDRC_TIMING_CFG_14_REFINT_HS_SHIFT (0U) +/*! REFINT_HS - Refresh Interval For Half Speed */ +#define DDRC_TIMING_CFG_14_REFINT_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_14_REFINT_HS_SHIFT)) & DDRC_TIMING_CFG_14_REFINT_HS_MASK) + +#define DDRC_TIMING_CFG_14_RD_TO_PRE_HS_MASK (0x7C0000U) +#define DDRC_TIMING_CFG_14_RD_TO_PRE_HS_SHIFT (18U) +/*! RD_TO_PRE_HS - Read-To-Precharge Time For Half Speed + * 0b00000.. + * *..Clock cycles as defined in the description + */ +#define DDRC_TIMING_CFG_14_RD_TO_PRE_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_14_RD_TO_PRE_HS_SHIFT)) & DDRC_TIMING_CFG_14_RD_TO_PRE_HS_MASK) + +#define DDRC_TIMING_CFG_14_WRLAT_HS_MASK (0x3F000000U) +#define DDRC_TIMING_CFG_14_WRLAT_HS_SHIFT (24U) +/*! WRLAT_HS - Write Latency For Half Speed */ +#define DDRC_TIMING_CFG_14_WRLAT_HS(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TIMING_CFG_14_WRLAT_HS_SHIFT)) & DDRC_TIMING_CFG_14_WRLAT_HS_MASK) +/*! @} */ + +/*! @name TX_CFG_1 - Transaction Configuration Register 1 */ +/*! @{ */ + +#define DDRC_TX_CFG_1_WWATER_MASK (0xFU) +#define DDRC_TX_CFG_1_WWATER_SHIFT (0U) +/*! WWATER - Write Watermark. */ +#define DDRC_TX_CFG_1_WWATER(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TX_CFG_1_WWATER_SHIFT)) & DDRC_TX_CFG_1_WWATER_MASK) + +#define DDRC_TX_CFG_1_TS_DEPTH_MASK (0xF80U) +#define DDRC_TX_CFG_1_TS_DEPTH_SHIFT (7U) +/*! TS_DEPTH - Transaction Scheduler Depth */ +#define DDRC_TX_CFG_1_TS_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << DDRC_TX_CFG_1_TS_DEPTH_SHIFT)) & DDRC_TX_CFG_1_TS_DEPTH_MASK) +/*! @} */ + +/*! @name DDRDSR_2 - DDR SDRAM Debug Status 2 */ +/*! @{ */ + +#define DDRC_DDRDSR_2_RPD_END_MASK (0x1U) +#define DDRC_DDRDSR_2_RPD_END_SHIFT (0U) +/*! RPD_END - Rapid Clear Of Memory End + * 0b0..Not complete + * 0b1..Complete + */ +#define DDRC_DDRDSR_2_RPD_END(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDRDSR_2_RPD_END_SHIFT)) & DDRC_DDRDSR_2_RPD_END_MASK) + +#define DDRC_DDRDSR_2_RPD_ST_MASK (0x2U) +#define DDRC_DDRDSR_2_RPD_ST_SHIFT (1U) +/*! RPD_ST - Rapid Clear Of Memory Start + * 0b0..Not started + * 0b1..Started + */ +#define DDRC_DDRDSR_2_RPD_ST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDRDSR_2_RPD_ST_SHIFT)) & DDRC_DDRDSR_2_RPD_ST_MASK) + +#define DDRC_DDRDSR_2_PHY_INIT_CMPLT_MASK (0x4U) +#define DDRC_DDRDSR_2_PHY_INIT_CMPLT_SHIFT (2U) +/*! PHY_INIT_CMPLT - DDR PHY Initialization Complete + * 0b0..Not complete + * 0b1..Complete + */ +#define DDRC_DDRDSR_2_PHY_INIT_CMPLT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDRDSR_2_PHY_INIT_CMPLT_SHIFT)) & DDRC_DDRDSR_2_PHY_INIT_CMPLT_MASK) + +#define DDRC_DDRDSR_2_NML_MASK (0x40000000U) +#define DDRC_DDRDSR_2_NML_SHIFT (30U) +/*! NML - No Modified Lines + * 0b0..Exist + * 0b1..Do not exist + */ +#define DDRC_DDRDSR_2_NML(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDRDSR_2_NML_SHIFT)) & DDRC_DDRDSR_2_NML_MASK) + +#define DDRC_DDRDSR_2_IDLE_MASK (0x80000000U) +#define DDRC_DDRDSR_2_IDLE_SHIFT (31U) +/*! IDLE - Memory controller idle (read only). + * 0b0..Memory controller is busy. + * 0b1..Memory controller is idle. + */ +#define DDRC_DDRDSR_2_IDLE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDRDSR_2_IDLE_SHIFT)) & DDRC_DDRDSR_2_IDLE_MASK) +/*! @} */ + +/*! @name DDR_IP_REV1 - DDRC Revision 1 */ +/*! @{ */ + +#define DDRC_DDR_IP_REV1_IP_MN_MASK (0xFFU) +#define DDRC_DDR_IP_REV1_IP_MN_SHIFT (0U) +/*! IP_MN - Minor Revision */ +#define DDRC_DDR_IP_REV1_IP_MN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_IP_REV1_IP_MN_SHIFT)) & DDRC_DDR_IP_REV1_IP_MN_MASK) + +#define DDRC_DDR_IP_REV1_IP_MJ_MASK (0xFF00U) +#define DDRC_DDR_IP_REV1_IP_MJ_SHIFT (8U) +/*! IP_MJ - Major Revision */ +#define DDRC_DDR_IP_REV1_IP_MJ(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_IP_REV1_IP_MJ_SHIFT)) & DDRC_DDR_IP_REV1_IP_MJ_MASK) + +#define DDRC_DDR_IP_REV1_IP_ID_MASK (0xFFFF0000U) +#define DDRC_DDR_IP_REV1_IP_ID_SHIFT (16U) +/*! IP_ID - IP Block ID */ +#define DDRC_DDR_IP_REV1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_IP_REV1_IP_ID_SHIFT)) & DDRC_DDR_IP_REV1_IP_ID_MASK) +/*! @} */ + +/*! @name DDR_MTCR - DDR SDRAM Memory Test Control */ +/*! @{ */ + +#define DDRC_DDR_MTCR_MT_STAT_MASK (0x1U) +#define DDRC_DDR_MTCR_MT_STAT_SHIFT (0U) +/*! MT_STAT - Memory Test Status + * 0b0..No fail detected + * 0b1..Data miscompare detected + */ +#define DDRC_DDR_MTCR_MT_STAT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MTCR_MT_STAT_SHIFT)) & DDRC_DDR_MTCR_MT_STAT_MASK) + +#define DDRC_DDR_MTCR_MT_ADDR_EN_MASK (0x200U) +#define DDRC_DDR_MTCR_MT_ADDR_EN_SHIFT (9U) +/*! MT_ADDR_EN - Memory Test Address Range Enable + * 0b0..Memory range that the CSn_BNDS registers define + * 0b1..Memory range that the DDR_MT_ST_EXT_ADDR, DDR_MT_ST_ADDR, DDR_MT_END_EXT_ADDR, and DDR_MT_END_ADDR registers define + */ +#define DDRC_DDR_MTCR_MT_ADDR_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MTCR_MT_ADDR_EN_SHIFT)) & DDRC_DDR_MTCR_MT_ADDR_EN_MASK) + +#define DDRC_DDR_MTCR_MT_TRNARND_MASK (0xF0000U) +#define DDRC_DDR_MTCR_MT_TRNARND_SHIFT (16U) +/*! MT_TRNARND - Memory Test Turnaround + * 0b0000..Entire memory is written to before read transactions are issued. + * 0b0001..Total write and read streams are one transaction each. + * 0b0010..Total write and read streams are two transactions each. + * 0b0011..Total write and read streams are four transactions each. + */ +#define DDRC_DDR_MTCR_MT_TRNARND(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MTCR_MT_TRNARND_SHIFT)) & DDRC_DDR_MTCR_MT_TRNARND_MASK) + +#define DDRC_DDR_MTCR_MT_TYP_MASK (0x3000000U) +#define DDRC_DDR_MTCR_MT_TYP_SHIFT (24U) +/*! MT_TYP - Memory Test Type + * 0b00..Both writes and reads + * 0b01..Only writes + * 0b10..Only reads + * 0b11..Reserved + */ +#define DDRC_DDR_MTCR_MT_TYP(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MTCR_MT_TYP_SHIFT)) & DDRC_DDR_MTCR_MT_TYP_MASK) + +#define DDRC_DDR_MTCR_MT_EN_MASK (0x80000000U) +#define DDRC_DDR_MTCR_MT_EN_SHIFT (31U) +/*! MT_EN - Memory Test Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_DDR_MTCR_MT_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MTCR_MT_EN_SHIFT)) & DDRC_DDR_MTCR_MT_EN_MASK) +/*! @} */ + +/*! @name DDR_MTP - DDR SDRAM Memory Test Pattern n */ +/*! @{ */ + +#define DDRC_DDR_MTP_DDR_PATT_MASK (0xFFFFFFFFU) +#define DDRC_DDR_MTP_DDR_PATT_SHIFT (0U) +/*! DDR_PATT - DDR SDRAM Pattern */ +#define DDRC_DDR_MTP_DDR_PATT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MTP_DDR_PATT_SHIFT)) & DDRC_DDR_MTP_DDR_PATT_MASK) +/*! @} */ + +/* The count of DDRC_DDR_MTP */ +#define DDRC_DDR_MTP_COUNT (10U) + +/*! @name DDR_MT_ST_EXT_ADDR - DDR SDRAM Memory Test Start Extended Address */ +/*! @{ */ + +#define DDRC_DDR_MT_ST_EXT_ADDR_MT_ST_EXT_ADDR_MASK (0xFFU) +#define DDRC_DDR_MT_ST_EXT_ADDR_MT_ST_EXT_ADDR_SHIFT (0U) +/*! MT_ST_EXT_ADDR - Memory Test Start Extended Address */ +#define DDRC_DDR_MT_ST_EXT_ADDR_MT_ST_EXT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MT_ST_EXT_ADDR_MT_ST_EXT_ADDR_SHIFT)) & DDRC_DDR_MT_ST_EXT_ADDR_MT_ST_EXT_ADDR_MASK) +/*! @} */ + +/*! @name DDR_MT_ST_ADDR - DDR SDRAM Memory Test Start Address */ +/*! @{ */ + +#define DDRC_DDR_MT_ST_ADDR_MT_ST_ADDR_MASK (0xFFFFFFFFU) +#define DDRC_DDR_MT_ST_ADDR_MT_ST_ADDR_SHIFT (0U) +/*! MT_ST_ADDR - Memory Test Start Address */ +#define DDRC_DDR_MT_ST_ADDR_MT_ST_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MT_ST_ADDR_MT_ST_ADDR_SHIFT)) & DDRC_DDR_MT_ST_ADDR_MT_ST_ADDR_MASK) +/*! @} */ + +/*! @name DDR_MT_END_EXT_ADDR - DDR SDRAM Memory Test End Extended Address */ +/*! @{ */ + +#define DDRC_DDR_MT_END_EXT_ADDR_MT_END_EXT_ADDR_MASK (0xFFU) +#define DDRC_DDR_MT_END_EXT_ADDR_MT_END_EXT_ADDR_SHIFT (0U) +/*! MT_END_EXT_ADDR - Memory Test End Extended Address */ +#define DDRC_DDR_MT_END_EXT_ADDR_MT_END_EXT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MT_END_EXT_ADDR_MT_END_EXT_ADDR_SHIFT)) & DDRC_DDR_MT_END_EXT_ADDR_MT_END_EXT_ADDR_MASK) +/*! @} */ + +/*! @name DDR_MT_END_ADDR - DDR SDRAM Memory Test End Address */ +/*! @{ */ + +#define DDRC_DDR_MT_END_ADDR_MT_END_ADDR_MASK (0xFFFFFFFFU) +#define DDRC_DDR_MT_END_ADDR_MT_END_ADDR_SHIFT (0U) +/*! MT_END_ADDR - Memory Test End Address */ +#define DDRC_DDR_MT_END_ADDR_MT_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DDR_MT_END_ADDR_MT_END_ADDR_SHIFT)) & DDRC_DDR_MT_END_ADDR_MT_END_ADDR_MASK) +/*! @} */ + +/*! @name PMGC0 - Performance Monitor Global Control */ +/*! @{ */ + +#define DDRC_PMGC0_FCECE_MASK (0x20000000U) +#define DDRC_PMGC0_FCECE_SHIFT (29U) +/*! FCECE - Freeze Counters On Enabled Condition Or Event + * 0b0..Enabled if PMLCAn[CE] = 1, until an event or condition occurs. + * 0b1..Enabled if PMLCAn[CE] = 1, until an event or condition occurs. At this point, if PMGC0[FAC] = 1, you must write 0 to it. + */ +#define DDRC_PMGC0_FCECE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMGC0_FCECE_SHIFT)) & DDRC_PMGC0_FCECE_MASK) + +#define DDRC_PMGC0_PMIE_MASK (0x40000000U) +#define DDRC_PMGC0_PMIE_SHIFT (30U) +/*! PMIE - Performance Monitor Interrupt Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_PMGC0_PMIE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMGC0_PMIE_SHIFT)) & DDRC_PMGC0_PMIE_MASK) + +#define DDRC_PMGC0_FAC_MASK (0x80000000U) +#define DDRC_PMGC0_FAC_SHIFT (31U) +/*! FAC - Freeze All Counters + * 0b0..Incremented + * 0b1..Not incremented + */ +#define DDRC_PMGC0_FAC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMGC0_FAC_SHIFT)) & DDRC_PMGC0_FAC_MASK) +/*! @} */ + +/*! @name PMLCA0 - Performance Monitor Local Control A0 */ +/*! @{ */ + +#define DDRC_PMLCA0_CE_MASK (0x4000000U) +#define DDRC_PMLCA0_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions for PMC0n cannot occur (PMC0n cannot cause interrupts or freeze counters) + * 0b1..Counter overflow conditions occur when the most-significant bit of PMC0n is 1 + */ +#define DDRC_PMLCA0_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA0_CE_SHIFT)) & DDRC_PMLCA0_CE_MASK) + +#define DDRC_PMLCA0_FC_MASK (0x80000000U) +#define DDRC_PMLCA0_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA0_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA0_FC_SHIFT)) & DDRC_PMLCA0_FC_MASK) +/*! @} */ + +/*! @name PMLCB0 - Performance Monitor Local Control B0 */ +/*! @{ */ + +#define DDRC_PMLCB0_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB0_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB0_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB0_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB0_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB0_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB0_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB0_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB0_TRIGONCNTL_SHIFT)) & DDRC_PMLCB0_TRIGONCNTL_MASK) + +#define DDRC_PMLCB0_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB0_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB0_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB0_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB0_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB0_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB0_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB0_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB0_TRIGONSEL_SHIFT)) & DDRC_PMLCB0_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC0A - PMC 0a */ +/*! @{ */ + +#define DDRC_PMC0A_PMC0_MASK (0xFFFFFFFFU) +#define DDRC_PMC0A_PMC0_SHIFT (0U) +/*! PMC0 - Counter 0 */ +#define DDRC_PMC0A_PMC0(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC0A_PMC0_SHIFT)) & DDRC_PMC0A_PMC0_MASK) +/*! @} */ + +/*! @name PMC0B - PMC 0b */ +/*! @{ */ + +#define DDRC_PMC0B_PMC0_MASK (0xFFFFFFFFU) +#define DDRC_PMC0B_PMC0_SHIFT (0U) +/*! PMC0 - Counter 0 */ +#define DDRC_PMC0B_PMC0(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC0B_PMC0_SHIFT)) & DDRC_PMC0B_PMC0_MASK) +/*! @} */ + +/*! @name PMLCA1 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA1_BDIST_MASK (0x3FU) +#define DDRC_PMLCA1_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA1_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA1_BDIST_SHIFT)) & DDRC_PMLCA1_BDIST_MASK) + +#define DDRC_PMLCA1_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA1_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA1_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA1_BGRAN_SHIFT)) & DDRC_PMLCA1_BGRAN_MASK) + +#define DDRC_PMLCA1_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA1_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA1_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA1_BSIZE_SHIFT)) & DDRC_PMLCA1_BSIZE_MASK) + +#define DDRC_PMLCA1_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA1_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA1_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA1_EVENT_SHIFT)) & DDRC_PMLCA1_EVENT_MASK) + +#define DDRC_PMLCA1_CE_MASK (0x4000000U) +#define DDRC_PMLCA1_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA1_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA1_CE_SHIFT)) & DDRC_PMLCA1_CE_MASK) + +#define DDRC_PMLCA1_FC_MASK (0x80000000U) +#define DDRC_PMLCA1_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA1_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA1_FC_SHIFT)) & DDRC_PMLCA1_FC_MASK) +/*! @} */ + +/*! @name PMLCB1 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB1_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB1_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB1_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB1_THRESHOLD_SHIFT)) & DDRC_PMLCB1_THRESHOLD_MASK) + +#define DDRC_PMLCB1_TBMULT_MASK (0x700U) +#define DDRC_PMLCB1_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB1_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB1_TBMULT_SHIFT)) & DDRC_PMLCB1_TBMULT_MASK) + +#define DDRC_PMLCB1_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB1_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB1_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB1_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB1_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB1_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB1_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB1_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB1_TRIGONCNTL_SHIFT)) & DDRC_PMLCB1_TRIGONCNTL_MASK) + +#define DDRC_PMLCB1_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB1_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB1_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB1_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB1_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB1_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB1_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB1_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB1_TRIGONSEL_SHIFT)) & DDRC_PMLCB1_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC1 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC1_PMC1_MASK (0xFFFFFFFFU) +#define DDRC_PMC1_PMC1_SHIFT (0U) +/*! PMC1 - Event Count */ +#define DDRC_PMC1_PMC1(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC1_PMC1_SHIFT)) & DDRC_PMC1_PMC1_MASK) +/*! @} */ + +/*! @name PMLCA2 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA2_BDIST_MASK (0x3FU) +#define DDRC_PMLCA2_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA2_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA2_BDIST_SHIFT)) & DDRC_PMLCA2_BDIST_MASK) + +#define DDRC_PMLCA2_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA2_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA2_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA2_BGRAN_SHIFT)) & DDRC_PMLCA2_BGRAN_MASK) + +#define DDRC_PMLCA2_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA2_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA2_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA2_BSIZE_SHIFT)) & DDRC_PMLCA2_BSIZE_MASK) + +#define DDRC_PMLCA2_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA2_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA2_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA2_EVENT_SHIFT)) & DDRC_PMLCA2_EVENT_MASK) + +#define DDRC_PMLCA2_CE_MASK (0x4000000U) +#define DDRC_PMLCA2_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA2_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA2_CE_SHIFT)) & DDRC_PMLCA2_CE_MASK) + +#define DDRC_PMLCA2_FC_MASK (0x80000000U) +#define DDRC_PMLCA2_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA2_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA2_FC_SHIFT)) & DDRC_PMLCA2_FC_MASK) +/*! @} */ + +/*! @name PMLCB2 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB2_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB2_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB2_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB2_THRESHOLD_SHIFT)) & DDRC_PMLCB2_THRESHOLD_MASK) + +#define DDRC_PMLCB2_TBMULT_MASK (0x700U) +#define DDRC_PMLCB2_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB2_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB2_TBMULT_SHIFT)) & DDRC_PMLCB2_TBMULT_MASK) + +#define DDRC_PMLCB2_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB2_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB2_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB2_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB2_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB2_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB2_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB2_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB2_TRIGONCNTL_SHIFT)) & DDRC_PMLCB2_TRIGONCNTL_MASK) + +#define DDRC_PMLCB2_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB2_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB2_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB2_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB2_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB2_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB2_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB2_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB2_TRIGONSEL_SHIFT)) & DDRC_PMLCB2_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC2 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC2_PMC2_MASK (0xFFFFFFFFU) +#define DDRC_PMC2_PMC2_SHIFT (0U) +/*! PMC2 - Event Count */ +#define DDRC_PMC2_PMC2(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC2_PMC2_SHIFT)) & DDRC_PMC2_PMC2_MASK) +/*! @} */ + +/*! @name PMLCA3 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA3_BDIST_MASK (0x3FU) +#define DDRC_PMLCA3_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA3_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA3_BDIST_SHIFT)) & DDRC_PMLCA3_BDIST_MASK) + +#define DDRC_PMLCA3_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA3_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA3_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA3_BGRAN_SHIFT)) & DDRC_PMLCA3_BGRAN_MASK) + +#define DDRC_PMLCA3_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA3_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA3_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA3_BSIZE_SHIFT)) & DDRC_PMLCA3_BSIZE_MASK) + +#define DDRC_PMLCA3_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA3_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA3_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA3_EVENT_SHIFT)) & DDRC_PMLCA3_EVENT_MASK) + +#define DDRC_PMLCA3_CE_MASK (0x4000000U) +#define DDRC_PMLCA3_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA3_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA3_CE_SHIFT)) & DDRC_PMLCA3_CE_MASK) + +#define DDRC_PMLCA3_FC_MASK (0x80000000U) +#define DDRC_PMLCA3_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA3_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA3_FC_SHIFT)) & DDRC_PMLCA3_FC_MASK) +/*! @} */ + +/*! @name PMLCB3 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB3_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB3_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB3_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB3_THRESHOLD_SHIFT)) & DDRC_PMLCB3_THRESHOLD_MASK) + +#define DDRC_PMLCB3_TBMULT_MASK (0x700U) +#define DDRC_PMLCB3_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB3_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB3_TBMULT_SHIFT)) & DDRC_PMLCB3_TBMULT_MASK) + +#define DDRC_PMLCB3_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB3_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB3_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB3_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB3_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB3_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB3_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB3_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB3_TRIGONCNTL_SHIFT)) & DDRC_PMLCB3_TRIGONCNTL_MASK) + +#define DDRC_PMLCB3_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB3_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB3_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB3_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB3_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB3_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB3_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB3_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB3_TRIGONSEL_SHIFT)) & DDRC_PMLCB3_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC3 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC3_PMC3_MASK (0xFFFFFFFFU) +#define DDRC_PMC3_PMC3_SHIFT (0U) +/*! PMC3 - Event Count */ +#define DDRC_PMC3_PMC3(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC3_PMC3_SHIFT)) & DDRC_PMC3_PMC3_MASK) +/*! @} */ + +/*! @name PMLCA4 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA4_BDIST_MASK (0x3FU) +#define DDRC_PMLCA4_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA4_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA4_BDIST_SHIFT)) & DDRC_PMLCA4_BDIST_MASK) + +#define DDRC_PMLCA4_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA4_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA4_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA4_BGRAN_SHIFT)) & DDRC_PMLCA4_BGRAN_MASK) + +#define DDRC_PMLCA4_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA4_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA4_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA4_BSIZE_SHIFT)) & DDRC_PMLCA4_BSIZE_MASK) + +#define DDRC_PMLCA4_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA4_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA4_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA4_EVENT_SHIFT)) & DDRC_PMLCA4_EVENT_MASK) + +#define DDRC_PMLCA4_CE_MASK (0x4000000U) +#define DDRC_PMLCA4_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA4_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA4_CE_SHIFT)) & DDRC_PMLCA4_CE_MASK) + +#define DDRC_PMLCA4_FC_MASK (0x80000000U) +#define DDRC_PMLCA4_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA4_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA4_FC_SHIFT)) & DDRC_PMLCA4_FC_MASK) +/*! @} */ + +/*! @name PMLCB4 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB4_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB4_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB4_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB4_THRESHOLD_SHIFT)) & DDRC_PMLCB4_THRESHOLD_MASK) + +#define DDRC_PMLCB4_TBMULT_MASK (0x700U) +#define DDRC_PMLCB4_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB4_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB4_TBMULT_SHIFT)) & DDRC_PMLCB4_TBMULT_MASK) + +#define DDRC_PMLCB4_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB4_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB4_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB4_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB4_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB4_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB4_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB4_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB4_TRIGONCNTL_SHIFT)) & DDRC_PMLCB4_TRIGONCNTL_MASK) + +#define DDRC_PMLCB4_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB4_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB4_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB4_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB4_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB4_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB4_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB4_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB4_TRIGONSEL_SHIFT)) & DDRC_PMLCB4_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC4 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC4_PMC4_MASK (0xFFFFFFFFU) +#define DDRC_PMC4_PMC4_SHIFT (0U) +/*! PMC4 - Event Count */ +#define DDRC_PMC4_PMC4(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC4_PMC4_SHIFT)) & DDRC_PMC4_PMC4_MASK) +/*! @} */ + +/*! @name PMLCA5 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA5_BDIST_MASK (0x3FU) +#define DDRC_PMLCA5_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA5_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA5_BDIST_SHIFT)) & DDRC_PMLCA5_BDIST_MASK) + +#define DDRC_PMLCA5_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA5_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA5_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA5_BGRAN_SHIFT)) & DDRC_PMLCA5_BGRAN_MASK) + +#define DDRC_PMLCA5_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA5_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA5_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA5_BSIZE_SHIFT)) & DDRC_PMLCA5_BSIZE_MASK) + +#define DDRC_PMLCA5_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA5_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA5_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA5_EVENT_SHIFT)) & DDRC_PMLCA5_EVENT_MASK) + +#define DDRC_PMLCA5_CE_MASK (0x4000000U) +#define DDRC_PMLCA5_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA5_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA5_CE_SHIFT)) & DDRC_PMLCA5_CE_MASK) + +#define DDRC_PMLCA5_FC_MASK (0x80000000U) +#define DDRC_PMLCA5_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA5_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA5_FC_SHIFT)) & DDRC_PMLCA5_FC_MASK) +/*! @} */ + +/*! @name PMLCB5 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB5_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB5_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB5_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB5_THRESHOLD_SHIFT)) & DDRC_PMLCB5_THRESHOLD_MASK) + +#define DDRC_PMLCB5_TBMULT_MASK (0x700U) +#define DDRC_PMLCB5_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB5_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB5_TBMULT_SHIFT)) & DDRC_PMLCB5_TBMULT_MASK) + +#define DDRC_PMLCB5_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB5_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB5_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB5_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB5_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB5_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB5_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB5_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB5_TRIGONCNTL_SHIFT)) & DDRC_PMLCB5_TRIGONCNTL_MASK) + +#define DDRC_PMLCB5_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB5_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB5_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB5_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB5_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB5_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB5_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB5_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB5_TRIGONSEL_SHIFT)) & DDRC_PMLCB5_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC5 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC5_PMC5_MASK (0xFFFFFFFFU) +#define DDRC_PMC5_PMC5_SHIFT (0U) +/*! PMC5 - Event Count */ +#define DDRC_PMC5_PMC5(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC5_PMC5_SHIFT)) & DDRC_PMC5_PMC5_MASK) +/*! @} */ + +/*! @name PMLCA6 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA6_BDIST_MASK (0x3FU) +#define DDRC_PMLCA6_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA6_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA6_BDIST_SHIFT)) & DDRC_PMLCA6_BDIST_MASK) + +#define DDRC_PMLCA6_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA6_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA6_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA6_BGRAN_SHIFT)) & DDRC_PMLCA6_BGRAN_MASK) + +#define DDRC_PMLCA6_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA6_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA6_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA6_BSIZE_SHIFT)) & DDRC_PMLCA6_BSIZE_MASK) + +#define DDRC_PMLCA6_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA6_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA6_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA6_EVENT_SHIFT)) & DDRC_PMLCA6_EVENT_MASK) + +#define DDRC_PMLCA6_CE_MASK (0x4000000U) +#define DDRC_PMLCA6_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA6_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA6_CE_SHIFT)) & DDRC_PMLCA6_CE_MASK) + +#define DDRC_PMLCA6_FC_MASK (0x80000000U) +#define DDRC_PMLCA6_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA6_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA6_FC_SHIFT)) & DDRC_PMLCA6_FC_MASK) +/*! @} */ + +/*! @name PMLCB6 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB6_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB6_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB6_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB6_THRESHOLD_SHIFT)) & DDRC_PMLCB6_THRESHOLD_MASK) + +#define DDRC_PMLCB6_TBMULT_MASK (0x700U) +#define DDRC_PMLCB6_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB6_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB6_TBMULT_SHIFT)) & DDRC_PMLCB6_TBMULT_MASK) + +#define DDRC_PMLCB6_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB6_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB6_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB6_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB6_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB6_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB6_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB6_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB6_TRIGONCNTL_SHIFT)) & DDRC_PMLCB6_TRIGONCNTL_MASK) + +#define DDRC_PMLCB6_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB6_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB6_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB6_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB6_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB6_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB6_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB6_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB6_TRIGONSEL_SHIFT)) & DDRC_PMLCB6_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC6 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC6_PMC6_MASK (0xFFFFFFFFU) +#define DDRC_PMC6_PMC6_SHIFT (0U) +/*! PMC6 - Event Count */ +#define DDRC_PMC6_PMC6(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC6_PMC6_SHIFT)) & DDRC_PMC6_PMC6_MASK) +/*! @} */ + +/*! @name PMLCA7 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA7_BDIST_MASK (0x3FU) +#define DDRC_PMLCA7_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA7_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA7_BDIST_SHIFT)) & DDRC_PMLCA7_BDIST_MASK) + +#define DDRC_PMLCA7_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA7_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA7_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA7_BGRAN_SHIFT)) & DDRC_PMLCA7_BGRAN_MASK) + +#define DDRC_PMLCA7_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA7_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA7_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA7_BSIZE_SHIFT)) & DDRC_PMLCA7_BSIZE_MASK) + +#define DDRC_PMLCA7_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA7_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA7_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA7_EVENT_SHIFT)) & DDRC_PMLCA7_EVENT_MASK) + +#define DDRC_PMLCA7_CE_MASK (0x4000000U) +#define DDRC_PMLCA7_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA7_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA7_CE_SHIFT)) & DDRC_PMLCA7_CE_MASK) + +#define DDRC_PMLCA7_FC_MASK (0x80000000U) +#define DDRC_PMLCA7_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA7_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA7_FC_SHIFT)) & DDRC_PMLCA7_FC_MASK) +/*! @} */ + +/*! @name PMLCB7 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB7_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB7_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB7_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB7_THRESHOLD_SHIFT)) & DDRC_PMLCB7_THRESHOLD_MASK) + +#define DDRC_PMLCB7_TBMULT_MASK (0x700U) +#define DDRC_PMLCB7_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB7_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB7_TBMULT_SHIFT)) & DDRC_PMLCB7_TBMULT_MASK) + +#define DDRC_PMLCB7_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB7_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB7_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB7_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB7_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB7_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB7_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB7_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB7_TRIGONCNTL_SHIFT)) & DDRC_PMLCB7_TRIGONCNTL_MASK) + +#define DDRC_PMLCB7_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB7_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB7_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB7_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB7_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB7_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB7_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB7_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB7_TRIGONSEL_SHIFT)) & DDRC_PMLCB7_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC7 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC7_PMC7_MASK (0xFFFFFFFFU) +#define DDRC_PMC7_PMC7_SHIFT (0U) +/*! PMC7 - Event Count */ +#define DDRC_PMC7_PMC7(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC7_PMC7_SHIFT)) & DDRC_PMC7_PMC7_MASK) +/*! @} */ + +/*! @name PMLCA8 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA8_BDIST_MASK (0x3FU) +#define DDRC_PMLCA8_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA8_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA8_BDIST_SHIFT)) & DDRC_PMLCA8_BDIST_MASK) + +#define DDRC_PMLCA8_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA8_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA8_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA8_BGRAN_SHIFT)) & DDRC_PMLCA8_BGRAN_MASK) + +#define DDRC_PMLCA8_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA8_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA8_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA8_BSIZE_SHIFT)) & DDRC_PMLCA8_BSIZE_MASK) + +#define DDRC_PMLCA8_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA8_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA8_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA8_EVENT_SHIFT)) & DDRC_PMLCA8_EVENT_MASK) + +#define DDRC_PMLCA8_CE_MASK (0x4000000U) +#define DDRC_PMLCA8_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA8_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA8_CE_SHIFT)) & DDRC_PMLCA8_CE_MASK) + +#define DDRC_PMLCA8_FC_MASK (0x80000000U) +#define DDRC_PMLCA8_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA8_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA8_FC_SHIFT)) & DDRC_PMLCA8_FC_MASK) +/*! @} */ + +/*! @name PMLCB8 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB8_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB8_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB8_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB8_THRESHOLD_SHIFT)) & DDRC_PMLCB8_THRESHOLD_MASK) + +#define DDRC_PMLCB8_TBMULT_MASK (0x700U) +#define DDRC_PMLCB8_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB8_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB8_TBMULT_SHIFT)) & DDRC_PMLCB8_TBMULT_MASK) + +#define DDRC_PMLCB8_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB8_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB8_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB8_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB8_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB8_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB8_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB8_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB8_TRIGONCNTL_SHIFT)) & DDRC_PMLCB8_TRIGONCNTL_MASK) + +#define DDRC_PMLCB8_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB8_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB8_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB8_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB8_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB8_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB8_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB8_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB8_TRIGONSEL_SHIFT)) & DDRC_PMLCB8_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC8 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC8_PMC8_MASK (0xFFFFFFFFU) +#define DDRC_PMC8_PMC8_SHIFT (0U) +/*! PMC8 - Event Count */ +#define DDRC_PMC8_PMC8(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC8_PMC8_SHIFT)) & DDRC_PMC8_PMC8_MASK) +/*! @} */ + +/*! @name PMLCA9 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA9_BDIST_MASK (0x3FU) +#define DDRC_PMLCA9_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA9_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA9_BDIST_SHIFT)) & DDRC_PMLCA9_BDIST_MASK) + +#define DDRC_PMLCA9_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA9_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA9_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA9_BGRAN_SHIFT)) & DDRC_PMLCA9_BGRAN_MASK) + +#define DDRC_PMLCA9_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA9_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA9_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA9_BSIZE_SHIFT)) & DDRC_PMLCA9_BSIZE_MASK) + +#define DDRC_PMLCA9_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA9_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA9_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA9_EVENT_SHIFT)) & DDRC_PMLCA9_EVENT_MASK) + +#define DDRC_PMLCA9_CE_MASK (0x4000000U) +#define DDRC_PMLCA9_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA9_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA9_CE_SHIFT)) & DDRC_PMLCA9_CE_MASK) + +#define DDRC_PMLCA9_FC_MASK (0x80000000U) +#define DDRC_PMLCA9_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA9_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA9_FC_SHIFT)) & DDRC_PMLCA9_FC_MASK) +/*! @} */ + +/*! @name PMLCB9 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB9_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB9_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB9_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB9_THRESHOLD_SHIFT)) & DDRC_PMLCB9_THRESHOLD_MASK) + +#define DDRC_PMLCB9_TBMULT_MASK (0x700U) +#define DDRC_PMLCB9_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB9_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB9_TBMULT_SHIFT)) & DDRC_PMLCB9_TBMULT_MASK) + +#define DDRC_PMLCB9_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB9_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB9_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB9_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB9_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB9_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB9_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB9_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB9_TRIGONCNTL_SHIFT)) & DDRC_PMLCB9_TRIGONCNTL_MASK) + +#define DDRC_PMLCB9_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB9_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB9_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB9_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB9_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB9_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB9_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB9_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB9_TRIGONSEL_SHIFT)) & DDRC_PMLCB9_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC9 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC9_PMC9_MASK (0xFFFFFFFFU) +#define DDRC_PMC9_PMC9_SHIFT (0U) +/*! PMC9 - Event Count */ +#define DDRC_PMC9_PMC9(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC9_PMC9_SHIFT)) & DDRC_PMC9_PMC9_MASK) +/*! @} */ + +/*! @name PMLCA10 - Performance Monitor Local Control A */ +/*! @{ */ + +#define DDRC_PMLCA10_BDIST_MASK (0x3FU) +#define DDRC_PMLCA10_BDIST_SHIFT (0U) +/*! BDIST - Burst Distance */ +#define DDRC_PMLCA10_BDIST(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA10_BDIST_SHIFT)) & DDRC_PMLCA10_BDIST_MASK) + +#define DDRC_PMLCA10_BGRAN_MASK (0x7C0U) +#define DDRC_PMLCA10_BGRAN_SHIFT (6U) +/*! BGRAN - Burst Granularity */ +#define DDRC_PMLCA10_BGRAN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA10_BGRAN_SHIFT)) & DDRC_PMLCA10_BGRAN_MASK) + +#define DDRC_PMLCA10_BSIZE_MASK (0xF800U) +#define DDRC_PMLCA10_BSIZE_SHIFT (11U) +/*! BSIZE - Burst Size */ +#define DDRC_PMLCA10_BSIZE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA10_BSIZE_SHIFT)) & DDRC_PMLCA10_BSIZE_MASK) + +#define DDRC_PMLCA10_EVENT_MASK (0x7F0000U) +#define DDRC_PMLCA10_EVENT_SHIFT (16U) +/*! EVENT - Event Selector */ +#define DDRC_PMLCA10_EVENT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA10_EVENT_SHIFT)) & DDRC_PMLCA10_EVENT_MASK) + +#define DDRC_PMLCA10_CE_MASK (0x4000000U) +#define DDRC_PMLCA10_CE_SHIFT (26U) +/*! CE - Condition Enable + * 0b0..Counter overflow conditions cannot occur + * 0b1..Counter overflow conditions occur + */ +#define DDRC_PMLCA10_CE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA10_CE_SHIFT)) & DDRC_PMLCA10_CE_MASK) + +#define DDRC_PMLCA10_FC_MASK (0x80000000U) +#define DDRC_PMLCA10_FC_SHIFT (31U) +/*! FC - Freeze Counter + * 0b0..Enabled + * 0b1..Disabled + */ +#define DDRC_PMLCA10_FC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCA10_FC_SHIFT)) & DDRC_PMLCA10_FC_MASK) +/*! @} */ + +/*! @name PMLCB10 - Performance Monitor Local Control B */ +/*! @{ */ + +#define DDRC_PMLCB10_THRESHOLD_MASK (0x3FU) +#define DDRC_PMLCB10_THRESHOLD_SHIFT (0U) +/*! THRESHOLD - Threshold */ +#define DDRC_PMLCB10_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB10_THRESHOLD_SHIFT)) & DDRC_PMLCB10_THRESHOLD_MASK) + +#define DDRC_PMLCB10_TBMULT_MASK (0x700U) +#define DDRC_PMLCB10_TBMULT_SHIFT (8U) +/*! TBMULT - Threshold And Burstiness Multiplier + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define DDRC_PMLCB10_TBMULT(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB10_TBMULT_SHIFT)) & DDRC_PMLCB10_TBMULT_MASK) + +#define DDRC_PMLCB10_TRIGOFFCNTL_MASK (0x30000U) +#define DDRC_PMLCB10_TRIGOFFCNTL_SHIFT (16U) +/*! TRIGOFFCNTL - Trigger-Off Control + * 0b00..Trigger off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB10_TRIGOFFCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB10_TRIGOFFCNTL_SHIFT)) & DDRC_PMLCB10_TRIGOFFCNTL_MASK) + +#define DDRC_PMLCB10_TRIGONCNTL_MASK (0xC0000U) +#define DDRC_PMLCB10_TRIGONCNTL_SHIFT (18U) +/*! TRIGONCNTL - Trigger-On Control + * 0b00..Triggering off (no triggering to start) + * 0b01..Trigger on change + * 0b10..Trigger on overflow + * 0b11..Reserved + */ +#define DDRC_PMLCB10_TRIGONCNTL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB10_TRIGONCNTL_SHIFT)) & DDRC_PMLCB10_TRIGONCNTL_MASK) + +#define DDRC_PMLCB10_TRIGOFFSEL_MASK (0xF00000U) +#define DDRC_PMLCB10_TRIGOFFSEL_SHIFT (20U) +/*! TRIGOFFSEL - Trigger-Off Select */ +#define DDRC_PMLCB10_TRIGOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB10_TRIGOFFSEL_SHIFT)) & DDRC_PMLCB10_TRIGOFFSEL_MASK) + +#define DDRC_PMLCB10_TRIGONSEL_MASK (0x3C000000U) +#define DDRC_PMLCB10_TRIGONSEL_SHIFT (26U) +/*! TRIGONSEL - Trigger-On Select */ +#define DDRC_PMLCB10_TRIGONSEL(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMLCB10_TRIGONSEL_SHIFT)) & DDRC_PMLCB10_TRIGONSEL_MASK) +/*! @} */ + +/*! @name PMC10 - Performance Monitor Counter */ +/*! @{ */ + +#define DDRC_PMC10_PMC10_MASK (0xFFFFFFFFU) +#define DDRC_PMC10_PMC10_SHIFT (0U) +/*! PMC10 - Event Count */ +#define DDRC_PMC10_PMC10(x) (((uint32_t)(((uint32_t)(x)) << DDRC_PMC10_PMC10_SHIFT)) & DDRC_PMC10_PMC10_MASK) +/*! @} */ + +/*! @name ERR_EN - Error Enable */ +/*! @{ */ + +#define DDRC_ERR_EN_ECC_EN_RAM_2_MASK (0x40U) +#define DDRC_ERR_EN_ECC_EN_RAM_2_SHIFT (6U) +/*! ECC_EN_RAM_2 - ECC Enable For On-Chip RAM 2 + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_ERR_EN_ECC_EN_RAM_2(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_EN_ECC_EN_RAM_2_SHIFT)) & DDRC_ERR_EN_ECC_EN_RAM_2_MASK) + +#define DDRC_ERR_EN_ECC_EN_RAM_1_MASK (0x80U) +#define DDRC_ERR_EN_ECC_EN_RAM_1_SHIFT (7U) +/*! ECC_EN_RAM_1 - ECC Enable For On-Chip RAM 1 + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_ERR_EN_ECC_EN_RAM_1(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_EN_ECC_EN_RAM_1_SHIFT)) & DDRC_ERR_EN_ECC_EN_RAM_1_MASK) + +#define DDRC_ERR_EN_INLINE_ECC_EN_MASK (0x40000000U) +#define DDRC_ERR_EN_INLINE_ECC_EN_SHIFT (30U) +/*! INLINE_ECC_EN - Inline ECC Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_ERR_EN_INLINE_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_EN_INLINE_ECC_EN_SHIFT)) & DDRC_ERR_EN_INLINE_ECC_EN_MASK) + +#define DDRC_ERR_EN_ECC_EN_MASK (0x80000000U) +#define DDRC_ERR_EN_ECC_EN_SHIFT (31U) +/*! ECC_EN - ECC Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_ERR_EN_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_EN_ECC_EN_SHIFT)) & DDRC_ERR_EN_ECC_EN_MASK) +/*! @} */ + +/*! @name DATA_ERR_INJECT_HI - Memory Data Path Error Injection Mask High */ +/*! @{ */ + +#define DDRC_DATA_ERR_INJECT_HI_EIMH_MASK (0xFFFFFFFFU) +#define DDRC_DATA_ERR_INJECT_HI_EIMH_SHIFT (0U) +/*! EIMH - Error Injection Mask High Data Path */ +#define DDRC_DATA_ERR_INJECT_HI_EIMH(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DATA_ERR_INJECT_HI_EIMH_SHIFT)) & DDRC_DATA_ERR_INJECT_HI_EIMH_MASK) +/*! @} */ + +/*! @name DATA_ERR_INJECT_LO - Memory Data Path Error Injection Mask Low */ +/*! @{ */ + +#define DDRC_DATA_ERR_INJECT_LO_EIML_MASK (0xFFFFFFFFU) +#define DDRC_DATA_ERR_INJECT_LO_EIML_SHIFT (0U) +/*! EIML - Error Injection Mask Low Data Bit */ +#define DDRC_DATA_ERR_INJECT_LO_EIML(x) (((uint32_t)(((uint32_t)(x)) << DDRC_DATA_ERR_INJECT_LO_EIML_SHIFT)) & DDRC_DATA_ERR_INJECT_LO_EIML_MASK) +/*! @} */ + +/*! @name ERR_INJECT - Memory Data Path Error Injection Mask ECC */ +/*! @{ */ + +#define DDRC_ERR_INJECT_EEIM_MASK (0xFFU) +#define DDRC_ERR_INJECT_EEIM_SHIFT (0U) +/*! EEIM - ECC Error Injection Mask */ +#define DDRC_ERR_INJECT_EEIM(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INJECT_EEIM_SHIFT)) & DDRC_ERR_INJECT_EEIM_MASK) + +#define DDRC_ERR_INJECT_EIEN_MASK (0x100U) +#define DDRC_ERR_INJECT_EIEN_SHIFT (8U) +/*! EIEN - Error Injection Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_ERR_INJECT_EIEN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INJECT_EIEN_SHIFT)) & DDRC_ERR_INJECT_EIEN_MASK) + +#define DDRC_ERR_INJECT_NUM_ECC_INJ_MASK (0xF000U) +#define DDRC_ERR_INJECT_NUM_ECC_INJ_SHIFT (12U) +/*! NUM_ECC_INJ - Number Of ECC Errors Injected + * 0b0000..ECC errors are injected until the error injection is disabled + * 0b0001..4 + * 0b0010..8 + * 0b0011..16 + * 0b0100..20 + * 0b0101..24 + * 0b0110..28 + * 0b0111..32 + * 0b1000..36 + * 0b1001..40 + * 0b1010..44 + * 0b1011..48 + * 0b1100..52 + * 0b1101..56 + * 0b1110..60 + * 0b1111..64 + */ +#define DDRC_ERR_INJECT_NUM_ECC_INJ(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INJECT_NUM_ECC_INJ_SHIFT)) & DDRC_ERR_INJECT_NUM_ECC_INJ_MASK) + +#define DDRC_ERR_INJECT_ECC_INJ_SRC_MASK (0x600000U) +#define DDRC_ERR_INJECT_ECC_INJ_SRC_SHIFT (21U) +/*! ECC_INJ_SRC - ECC Injection Source + * 0b00..DDR SDRAM ECC using programmed data and ECC injection masks + * 0b01..On-chip RAM ECC 1 + * 0b10..On-chip RAM ECC 2 + * 0b11..DDR SDRAM ECC. This setting forces a 1 or 2-bit ECC syndrome error based on the value of FRC2B + */ +#define DDRC_ERR_INJECT_ECC_INJ_SRC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INJECT_ECC_INJ_SRC_SHIFT)) & DDRC_ERR_INJECT_ECC_INJ_SRC_MASK) + +#define DDRC_ERR_INJECT_FRC2B_MASK (0x800000U) +#define DDRC_ERR_INJECT_FRC2B_SHIFT (23U) +/*! FRC2B - Force 2-Bit Error + * 0b0..SBE + * 0b1..2-bit error + */ +#define DDRC_ERR_INJECT_FRC2B(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INJECT_FRC2B_SHIFT)) & DDRC_ERR_INJECT_FRC2B_MASK) + +#define DDRC_ERR_INJECT_ADDR_TEN_MASK (0x80000000U) +#define DDRC_ERR_INJECT_ADDR_TEN_SHIFT (31U) +/*! ADDR_TEN - Address Trigger Enable + * 0b0..Disables + * 0b1..Enables + */ +#define DDRC_ERR_INJECT_ADDR_TEN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INJECT_ADDR_TEN_SHIFT)) & DDRC_ERR_INJECT_ADDR_TEN_MASK) +/*! @} */ + +/*! @name ADDR_ERR_INJ - Address Error Inject */ +/*! @{ */ + +#define DDRC_ADDR_ERR_INJ_ADDR_MASK (0xFFFFFFFFU) +#define DDRC_ADDR_ERR_INJ_ADDR_SHIFT (0U) +/*! ADDR - Address */ +#define DDRC_ADDR_ERR_INJ_ADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ADDR_ERR_INJ_ADDR_SHIFT)) & DDRC_ADDR_ERR_INJ_ADDR_MASK) +/*! @} */ + +/*! @name CAPTURE_EXT_DATA_HI - Memory Extended Data Path Read Capture High */ +/*! @{ */ + +#define DDRC_CAPTURE_EXT_DATA_HI_ECEHD_MASK (0xFFFFFFFFU) +#define DDRC_CAPTURE_EXT_DATA_HI_ECEHD_SHIFT (0U) +/*! ECEHD - Error Capture Extended High Data Path */ +#define DDRC_CAPTURE_EXT_DATA_HI_ECEHD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_EXT_DATA_HI_ECEHD_SHIFT)) & DDRC_CAPTURE_EXT_DATA_HI_ECEHD_MASK) +/*! @} */ + +/*! @name CAPTURE_EXT_DATA_LO - Memory Extended Data Path Read Capture Low */ +/*! @{ */ + +#define DDRC_CAPTURE_EXT_DATA_LO_ECELD_MASK (0xFFFFFFFFU) +#define DDRC_CAPTURE_EXT_DATA_LO_ECELD_SHIFT (0U) +/*! ECELD - Error Capture Extended Low Data Path */ +#define DDRC_CAPTURE_EXT_DATA_LO_ECELD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_EXT_DATA_LO_ECELD_SHIFT)) & DDRC_CAPTURE_EXT_DATA_LO_ECELD_MASK) +/*! @} */ + +/*! @name CAPTURE_DATA_HI - Memory Data Path Read Capture High */ +/*! @{ */ + +#define DDRC_CAPTURE_DATA_HI_ECHD_MASK (0xFFFFFFFFU) +#define DDRC_CAPTURE_DATA_HI_ECHD_SHIFT (0U) +/*! ECHD - Error Capture High Data Path */ +#define DDRC_CAPTURE_DATA_HI_ECHD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_DATA_HI_ECHD_SHIFT)) & DDRC_CAPTURE_DATA_HI_ECHD_MASK) +/*! @} */ + +/*! @name CAPTURE_DATA_LO - Memory Data Path Read Capture Low */ +/*! @{ */ + +#define DDRC_CAPTURE_DATA_LO_ECLD_MASK (0xFFFFFFFFU) +#define DDRC_CAPTURE_DATA_LO_ECLD_SHIFT (0U) +/*! ECLD - Error Capture Low Data Path */ +#define DDRC_CAPTURE_DATA_LO_ECLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_DATA_LO_ECLD_SHIFT)) & DDRC_CAPTURE_DATA_LO_ECLD_MASK) +/*! @} */ + +/*! @name CAPTURE_ECC - Memory Data Path Read Capture ECC */ +/*! @{ */ + +#define DDRC_CAPTURE_ECC_ECE_MASK (0xFFFFFFFFU) +#define DDRC_CAPTURE_ECC_ECE_SHIFT (0U) +/*! ECE - Error Capture ECC */ +#define DDRC_CAPTURE_ECC_ECE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_ECC_ECE_SHIFT)) & DDRC_CAPTURE_ECC_ECE_MASK) +/*! @} */ + +/*! @name ERR_DETECT - Memory Error Detect */ +/*! @{ */ + +#define DDRC_ERR_DETECT_MSE_MASK (0x1U) +#define DDRC_ERR_DETECT_MSE_SHIFT (0U) +/*! MSE - Memory-Select Error + * 0b0..Not detected + * 0b1..Detected + */ +#define DDRC_ERR_DETECT_MSE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_MSE_SHIFT)) & DDRC_ERR_DETECT_MSE_MASK) + +#define DDRC_ERR_DETECT_SBE_MASK (0x4U) +#define DDRC_ERR_DETECT_SBE_SHIFT (2U) +/*! SBE - Single-Bit ECC Errors + * 0b0..Did not cross + * 0b1..Crossed + */ +#define DDRC_ERR_DETECT_SBE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_SBE_SHIFT)) & DDRC_ERR_DETECT_SBE_MASK) + +#define DDRC_ERR_DETECT_MBE_MASK (0x8U) +#define DDRC_ERR_DETECT_MBE_SHIFT (3U) +/*! MBE - Multiple-Bit Error + * 0b0..Not detected + * 0b1..Detected + */ +#define DDRC_ERR_DETECT_MBE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_MBE_SHIFT)) & DDRC_ERR_DETECT_MBE_MASK) + +#define DDRC_ERR_DETECT_REFRATEE_MASK (0x80U) +#define DDRC_ERR_DETECT_REFRATEE_SHIFT (7U) +/*! REFRATEE - Refresh rate error. + * 0b0..A refresh rate error has not been detected. + * 0b1..A refresh rate error has been detected. + */ +#define DDRC_ERR_DETECT_REFRATEE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_REFRATEE_SHIFT)) & DDRC_ERR_DETECT_REFRATEE_MASK) + +#define DDRC_ERR_DETECT_PHYE_MASK (0x10000U) +#define DDRC_ERR_DETECT_PHYE_SHIFT (16U) +/*! PHYE - PHY error. + * 0b0..A DDR PHY error has not been detected. + * 0b1..An error has been detected by the DDR PHY. + */ +#define DDRC_ERR_DETECT_PHYE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_PHYE_SHIFT)) & DDRC_ERR_DETECT_PHYE_MASK) + +#define DDRC_ERR_DETECT_UPDTMTE_MASK (0x100000U) +#define DDRC_ERR_DETECT_UPDTMTE_SHIFT (20U) +/*! UPDTMTE - Update Timeout Error + * 0b0..Not detected + * 0b1..Detected + */ +#define DDRC_ERR_DETECT_UPDTMTE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_UPDTMTE_SHIFT)) & DDRC_ERR_DETECT_UPDTMTE_MASK) + +#define DDRC_ERR_DETECT_SMBE2_MASK (0x400000U) +#define DDRC_ERR_DETECT_SMBE2_SHIFT (22U) +/*! SMBE2 - SRAM Multi-Bit Error 2 + * 0b0..Did not occur + * 0b1..Occurred + */ +#define DDRC_ERR_DETECT_SMBE2(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_SMBE2_SHIFT)) & DDRC_ERR_DETECT_SMBE2_MASK) + +#define DDRC_ERR_DETECT_SMBE1_MASK (0x800000U) +#define DDRC_ERR_DETECT_SMBE1_SHIFT (23U) +/*! SMBE1 - SRAM Multi-Bit Error 1 + * 0b0..Did not occur + * 0b1..Occurred + */ +#define DDRC_ERR_DETECT_SMBE1(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_SMBE1_SHIFT)) & DDRC_ERR_DETECT_SMBE1_MASK) + +#define DDRC_ERR_DETECT_SSBE2_MASK (0x1000000U) +#define DDRC_ERR_DETECT_SSBE2_SHIFT (24U) +/*! SSBE2 - SRAM SBE 2 + * 0b0..Did not occur + * 0b1..Occurred + */ +#define DDRC_ERR_DETECT_SSBE2(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_SSBE2_SHIFT)) & DDRC_ERR_DETECT_SSBE2_MASK) + +#define DDRC_ERR_DETECT_SSBE1_MASK (0x2000000U) +#define DDRC_ERR_DETECT_SSBE1_SHIFT (25U) +/*! SSBE1 - SRAM SBE 1 + * 0b0..Did not occur + * 0b1..Occurred + */ +#define DDRC_ERR_DETECT_SSBE1(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_SSBE1_SHIFT)) & DDRC_ERR_DETECT_SSBE1_MASK) + +#define DDRC_ERR_DETECT_MME_MASK (0x80000000U) +#define DDRC_ERR_DETECT_MME_SHIFT (31U) +/*! MME - Multiple Memory Errors + * 0b0..Not detected + * 0b1..Detected + */ +#define DDRC_ERR_DETECT_MME(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DETECT_MME_SHIFT)) & DDRC_ERR_DETECT_MME_MASK) +/*! @} */ + +/*! @name ERR_DISABLE - Memory Error Disable */ +/*! @{ */ + +#define DDRC_ERR_DISABLE_MSED_MASK (0x1U) +#define DDRC_ERR_DISABLE_MSED_SHIFT (0U) +/*! MSED - Memory-Select Error Disable + * 0b0..Enables + * 0b1..Disables + */ +#define DDRC_ERR_DISABLE_MSED(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DISABLE_MSED_SHIFT)) & DDRC_ERR_DISABLE_MSED_MASK) + +#define DDRC_ERR_DISABLE_SBED_MASK (0x4U) +#define DDRC_ERR_DISABLE_SBED_SHIFT (2U) +/*! SBED - Single-Bit ECC Error Disable + * 0b0..Enables + * 0b1..Disables + */ +#define DDRC_ERR_DISABLE_SBED(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DISABLE_SBED_SHIFT)) & DDRC_ERR_DISABLE_SBED_MASK) + +#define DDRC_ERR_DISABLE_MBED_MASK (0x8U) +#define DDRC_ERR_DISABLE_MBED_SHIFT (3U) +/*! MBED - Multiple-Bit ECC Error Disable + * 0b0..Detected + * 0b1..Not detected or reported + */ +#define DDRC_ERR_DISABLE_MBED(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DISABLE_MBED_SHIFT)) & DDRC_ERR_DISABLE_MBED_MASK) + +#define DDRC_ERR_DISABLE_REFRATEED_MASK (0x80U) +#define DDRC_ERR_DISABLE_REFRATEED_SHIFT (7U) +/*! REFRATEED - Refresh Rate Error Disable + * 0b0..Enables + * 0b1..Disables + */ +#define DDRC_ERR_DISABLE_REFRATEED(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DISABLE_REFRATEED_SHIFT)) & DDRC_ERR_DISABLE_REFRATEED_MASK) + +#define DDRC_ERR_DISABLE_PHYED_MASK (0x10000U) +#define DDRC_ERR_DISABLE_PHYED_SHIFT (16U) +/*! PHYED - PHY Error Disable + * 0b0..Enables + * 0b1..Disables + */ +#define DDRC_ERR_DISABLE_PHYED(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DISABLE_PHYED_SHIFT)) & DDRC_ERR_DISABLE_PHYED_MASK) + +#define DDRC_ERR_DISABLE_UPDTMTED_MASK (0x100000U) +#define DDRC_ERR_DISABLE_UPDTMTED_SHIFT (20U) +/*! UPDTMTED - Update Timeout Error Disable + * 0b0..Enables + * 0b1..Disables + */ +#define DDRC_ERR_DISABLE_UPDTMTED(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_DISABLE_UPDTMTED_SHIFT)) & DDRC_ERR_DISABLE_UPDTMTED_MASK) +/*! @} */ + +/*! @name ERR_INT_EN - Memory Error Interrupt Enable */ +/*! @{ */ + +#define DDRC_ERR_INT_EN_MSEE_MASK (0x1U) +#define DDRC_ERR_INT_EN_MSEE_SHIFT (0U) +/*! MSEE - Memory-Select Error Interrupt Enable + * 0b0..No + * 0b1..Yes + */ +#define DDRC_ERR_INT_EN_MSEE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INT_EN_MSEE_SHIFT)) & DDRC_ERR_INT_EN_MSEE_MASK) + +#define DDRC_ERR_INT_EN_SBEE_MASK (0x4U) +#define DDRC_ERR_INT_EN_SBEE_SHIFT (2U) +/*! SBEE - Single-Bit ECC Error Interrupt Enable + * 0b0..No + * 0b1..Yes + */ +#define DDRC_ERR_INT_EN_SBEE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INT_EN_SBEE_SHIFT)) & DDRC_ERR_INT_EN_SBEE_MASK) + +#define DDRC_ERR_INT_EN_MBEE_MASK (0x8U) +#define DDRC_ERR_INT_EN_MBEE_SHIFT (3U) +/*! MBEE - Multiple-Bit ECC Error Interrupt Enable + * 0b0..No + * 0b1..Yes + */ +#define DDRC_ERR_INT_EN_MBEE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INT_EN_MBEE_SHIFT)) & DDRC_ERR_INT_EN_MBEE_MASK) + +#define DDRC_ERR_INT_EN_SSBE12E_MASK (0x10U) +#define DDRC_ERR_INT_EN_SSBE12E_SHIFT (4U) +/*! SSBE12E - SRAM Single-Bit Error Interrupt Enable + * 0b0..No + * 0b1..Yes + */ +#define DDRC_ERR_INT_EN_SSBE12E(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INT_EN_SSBE12E_SHIFT)) & DDRC_ERR_INT_EN_SSBE12E_MASK) + +#define DDRC_ERR_INT_EN_REFRATEEE_MASK (0x80U) +#define DDRC_ERR_INT_EN_REFRATEEE_SHIFT (7U) +/*! REFRATEEE - Refresh Rate Interrupt Enable + * 0b0..No + * 0b1..Yes + */ +#define DDRC_ERR_INT_EN_REFRATEEE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INT_EN_REFRATEEE_SHIFT)) & DDRC_ERR_INT_EN_REFRATEEE_MASK) + +#define DDRC_ERR_INT_EN_PHYEE_MASK (0x10000U) +#define DDRC_ERR_INT_EN_PHYEE_SHIFT (16U) +/*! PHYEE - PHY error interrupt enable. + * 0b0..PHY errors cannot generate interrupts. + * 0b1..PHY errors generate interrupts. + */ +#define DDRC_ERR_INT_EN_PHYEE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INT_EN_PHYEE_SHIFT)) & DDRC_ERR_INT_EN_PHYEE_MASK) + +#define DDRC_ERR_INT_EN_UPDTMTEE_MASK (0x100000U) +#define DDRC_ERR_INT_EN_UPDTMTEE_SHIFT (20U) +/*! UPDTMTEE - Update Timeout Interrupt Enable + * 0b0..No + * 0b1..Yes + */ +#define DDRC_ERR_INT_EN_UPDTMTEE(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_INT_EN_UPDTMTEE_SHIFT)) & DDRC_ERR_INT_EN_UPDTMTEE_MASK) +/*! @} */ + +/*! @name CAPTURE_ATTRIBUTES - Memory Error Attributes Capture */ +/*! @{ */ + +#define DDRC_CAPTURE_ATTRIBUTES_VLD_MASK (0x1U) +#define DDRC_CAPTURE_ATTRIBUTES_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define DDRC_CAPTURE_ATTRIBUTES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_ATTRIBUTES_VLD_SHIFT)) & DDRC_CAPTURE_ATTRIBUTES_VLD_MASK) + +#define DDRC_CAPTURE_ATTRIBUTES_TTYP_MASK (0x3000U) +#define DDRC_CAPTURE_ATTRIBUTES_TTYP_SHIFT (12U) +/*! TTYP - Error Transaction Type + * 0b00..Reserved + * 0b01..Write + * 0b10..Read + * 0b11..Read-modify-write + */ +#define DDRC_CAPTURE_ATTRIBUTES_TTYP(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_ATTRIBUTES_TTYP_SHIFT)) & DDRC_CAPTURE_ATTRIBUTES_TTYP_MASK) + +#define DDRC_CAPTURE_ATTRIBUTES_TSIZ_MASK (0x7000000U) +#define DDRC_CAPTURE_ATTRIBUTES_TSIZ_SHIFT (24U) +/*! TSIZ - Error Transaction Size + * 0b000..8 + * 0b001..1 + * 0b010..2 + * 0b011..3 + * 0b100..4 + * 0b101..5 + * 0b110..6 + * 0b111..7 + */ +#define DDRC_CAPTURE_ATTRIBUTES_TSIZ(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_ATTRIBUTES_TSIZ_SHIFT)) & DDRC_CAPTURE_ATTRIBUTES_TSIZ_MASK) + +#define DDRC_CAPTURE_ATTRIBUTES_BNUM_MASK (0x70000000U) +#define DDRC_CAPTURE_ATTRIBUTES_BNUM_SHIFT (28U) +/*! BNUM - Data Beat Number */ +#define DDRC_CAPTURE_ATTRIBUTES_BNUM(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_ATTRIBUTES_BNUM_SHIFT)) & DDRC_CAPTURE_ATTRIBUTES_BNUM_MASK) +/*! @} */ + +/*! @name CAPTURE_ADDRESS - Memory Error Address Capture */ +/*! @{ */ + +#define DDRC_CAPTURE_ADDRESS_CADDR_MASK (0xFFFFFFFFU) +#define DDRC_CAPTURE_ADDRESS_CADDR_SHIFT (0U) +/*! CADDR - Captured Address */ +#define DDRC_CAPTURE_ADDRESS_CADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_ADDRESS_CADDR_SHIFT)) & DDRC_CAPTURE_ADDRESS_CADDR_MASK) +/*! @} */ + +/*! @name CAPTURE_EXT_ADDRESS - Memory Error Extended Address Capture */ +/*! @{ */ + +#define DDRC_CAPTURE_EXT_ADDRESS_CEADDR_MASK (0xFFU) +#define DDRC_CAPTURE_EXT_ADDRESS_CEADDR_SHIFT (0U) +/*! CEADDR - Captured Extended Address */ +#define DDRC_CAPTURE_EXT_ADDRESS_CEADDR(x) (((uint32_t)(((uint32_t)(x)) << DDRC_CAPTURE_EXT_ADDRESS_CEADDR_SHIFT)) & DDRC_CAPTURE_EXT_ADDRESS_CEADDR_MASK) +/*! @} */ + +/*! @name ERR_SBE - Single-Bit ECC Memory Error Management */ +/*! @{ */ + +#define DDRC_ERR_SBE_SBEC_MASK (0xFFU) +#define DDRC_ERR_SBE_SBEC_SHIFT (0U) +/*! SBEC - SBE Counter */ +#define DDRC_ERR_SBE_SBEC(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_SBE_SBEC_SHIFT)) & DDRC_ERR_SBE_SBEC_MASK) + +#define DDRC_ERR_SBE_SBET_MASK (0xFF0000U) +#define DDRC_ERR_SBE_SBET_SHIFT (16U) +/*! SBET - SBE Threshold */ +#define DDRC_ERR_SBE_SBET(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ERR_SBE_SBET_SHIFT)) & DDRC_ERR_SBE_SBET_MASK) +/*! @} */ + +/*! @name ECC_REG_0 - ECC Region 0 Configuration */ +/*! @{ */ + +#define DDRC_ECC_REG_0_REG_0_EA_MASK (0xFFFU) +#define DDRC_ECC_REG_0_REG_0_EA_SHIFT (0U) +/*! REG_0_EA - Region 0 End Address */ +#define DDRC_ECC_REG_0_REG_0_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_0_REG_0_EA_SHIFT)) & DDRC_ECC_REG_0_REG_0_EA_MASK) + +#define DDRC_ECC_REG_0_REG_0_SA_MASK (0xFFF0000U) +#define DDRC_ECC_REG_0_REG_0_SA_SHIFT (16U) +/*! REG_0_SA - Region 0 Start Address */ +#define DDRC_ECC_REG_0_REG_0_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_0_REG_0_SA_SHIFT)) & DDRC_ECC_REG_0_REG_0_SA_MASK) + +#define DDRC_ECC_REG_0_REG_0_EN_MASK (0x80000000U) +#define DDRC_ECC_REG_0_REG_0_EN_SHIFT (31U) +/*! REG_0_EN - Region 0 Enable + * 0b0..Does not use region 0 for ECC enablement + * 0b1..Protects addresses from region 0 with ECC + */ +#define DDRC_ECC_REG_0_REG_0_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_0_REG_0_EN_SHIFT)) & DDRC_ECC_REG_0_REG_0_EN_MASK) +/*! @} */ + +/*! @name ECC_REG_1 - ECC Region 1 Configuration */ +/*! @{ */ + +#define DDRC_ECC_REG_1_REG_1_EA_MASK (0xFFFU) +#define DDRC_ECC_REG_1_REG_1_EA_SHIFT (0U) +/*! REG_1_EA - Region 1 End Address */ +#define DDRC_ECC_REG_1_REG_1_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_1_REG_1_EA_SHIFT)) & DDRC_ECC_REG_1_REG_1_EA_MASK) + +#define DDRC_ECC_REG_1_REG_1_SA_MASK (0xFFF0000U) +#define DDRC_ECC_REG_1_REG_1_SA_SHIFT (16U) +/*! REG_1_SA - Region 1 Start Address */ +#define DDRC_ECC_REG_1_REG_1_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_1_REG_1_SA_SHIFT)) & DDRC_ECC_REG_1_REG_1_SA_MASK) + +#define DDRC_ECC_REG_1_REG_1_EN_MASK (0x80000000U) +#define DDRC_ECC_REG_1_REG_1_EN_SHIFT (31U) +/*! REG_1_EN - Region 1 Enable + * 0b0..Does not use region 1 for ECC enablement + * 0b1..Protects addresses from region 1 with ECC + */ +#define DDRC_ECC_REG_1_REG_1_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_1_REG_1_EN_SHIFT)) & DDRC_ECC_REG_1_REG_1_EN_MASK) +/*! @} */ + +/*! @name ECC_REG_2 - ECC Region 2 Configuration */ +/*! @{ */ + +#define DDRC_ECC_REG_2_REG_2_EA_MASK (0xFFFU) +#define DDRC_ECC_REG_2_REG_2_EA_SHIFT (0U) +/*! REG_2_EA - Region 2 End Address */ +#define DDRC_ECC_REG_2_REG_2_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_2_REG_2_EA_SHIFT)) & DDRC_ECC_REG_2_REG_2_EA_MASK) + +#define DDRC_ECC_REG_2_REG_2_SA_MASK (0xFFF0000U) +#define DDRC_ECC_REG_2_REG_2_SA_SHIFT (16U) +/*! REG_2_SA - Region 2 Start Address */ +#define DDRC_ECC_REG_2_REG_2_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_2_REG_2_SA_SHIFT)) & DDRC_ECC_REG_2_REG_2_SA_MASK) + +#define DDRC_ECC_REG_2_REG_2_EN_MASK (0x80000000U) +#define DDRC_ECC_REG_2_REG_2_EN_SHIFT (31U) +/*! REG_2_EN - Region 2 Enable + * 0b0..Does not use region 2 for ECC enablement + * 0b1..Protects addresses from region 2 with ECC + */ +#define DDRC_ECC_REG_2_REG_2_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_2_REG_2_EN_SHIFT)) & DDRC_ECC_REG_2_REG_2_EN_MASK) +/*! @} */ + +/*! @name ECC_REG_3 - ECC Region 3 Configuration */ +/*! @{ */ + +#define DDRC_ECC_REG_3_REG_3_EA_MASK (0xFFFU) +#define DDRC_ECC_REG_3_REG_3_EA_SHIFT (0U) +/*! REG_3_EA - Region 3 End Address */ +#define DDRC_ECC_REG_3_REG_3_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_3_REG_3_EA_SHIFT)) & DDRC_ECC_REG_3_REG_3_EA_MASK) + +#define DDRC_ECC_REG_3_REG_3_SA_MASK (0xFFF0000U) +#define DDRC_ECC_REG_3_REG_3_SA_SHIFT (16U) +/*! REG_3_SA - Region 3 Start Address */ +#define DDRC_ECC_REG_3_REG_3_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_3_REG_3_SA_SHIFT)) & DDRC_ECC_REG_3_REG_3_SA_MASK) + +#define DDRC_ECC_REG_3_REG_3_EN_MASK (0x80000000U) +#define DDRC_ECC_REG_3_REG_3_EN_SHIFT (31U) +/*! REG_3_EN - Region 3 Enable + * 0b0..Does not use region 3 for ECC enablement + * 0b1..Protects addresses from region 3 with ECC + */ +#define DDRC_ECC_REG_3_REG_3_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_3_REG_3_EN_SHIFT)) & DDRC_ECC_REG_3_REG_3_EN_MASK) +/*! @} */ + +/*! @name ECC_REG_4 - ECC Region 4 Configuration */ +/*! @{ */ + +#define DDRC_ECC_REG_4_REG_4_EA_MASK (0xFFFU) +#define DDRC_ECC_REG_4_REG_4_EA_SHIFT (0U) +/*! REG_4_EA - Region 4 End Address */ +#define DDRC_ECC_REG_4_REG_4_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_4_REG_4_EA_SHIFT)) & DDRC_ECC_REG_4_REG_4_EA_MASK) + +#define DDRC_ECC_REG_4_REG_4_SA_MASK (0xFFF0000U) +#define DDRC_ECC_REG_4_REG_4_SA_SHIFT (16U) +/*! REG_4_SA - Region 4 Start Address */ +#define DDRC_ECC_REG_4_REG_4_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_4_REG_4_SA_SHIFT)) & DDRC_ECC_REG_4_REG_4_SA_MASK) + +#define DDRC_ECC_REG_4_REG_4_EN_MASK (0x80000000U) +#define DDRC_ECC_REG_4_REG_4_EN_SHIFT (31U) +/*! REG_4_EN - Region 4 Enable + * 0b0..Does not use region 4 for ECC enablement + * 0b1..Protects addresses from region 4 with ECC + */ +#define DDRC_ECC_REG_4_REG_4_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_4_REG_4_EN_SHIFT)) & DDRC_ECC_REG_4_REG_4_EN_MASK) +/*! @} */ + +/*! @name ECC_REG_5 - ECC Region 5 Configuration */ +/*! @{ */ + +#define DDRC_ECC_REG_5_REG_5_EA_MASK (0xFFFU) +#define DDRC_ECC_REG_5_REG_5_EA_SHIFT (0U) +/*! REG_5_EA - Region 5 End Address */ +#define DDRC_ECC_REG_5_REG_5_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_5_REG_5_EA_SHIFT)) & DDRC_ECC_REG_5_REG_5_EA_MASK) + +#define DDRC_ECC_REG_5_REG_5_SA_MASK (0xFFF0000U) +#define DDRC_ECC_REG_5_REG_5_SA_SHIFT (16U) +/*! REG_5_SA - Region 5 Start Address */ +#define DDRC_ECC_REG_5_REG_5_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_5_REG_5_SA_SHIFT)) & DDRC_ECC_REG_5_REG_5_SA_MASK) + +#define DDRC_ECC_REG_5_REG_5_EN_MASK (0x80000000U) +#define DDRC_ECC_REG_5_REG_5_EN_SHIFT (31U) +/*! REG_5_EN - Region 5 Enable + * 0b0..Does not use region 5 for ECC enablement + * 0b1..Protects addresses from region 5 with ECC + */ +#define DDRC_ECC_REG_5_REG_5_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_5_REG_5_EN_SHIFT)) & DDRC_ECC_REG_5_REG_5_EN_MASK) +/*! @} */ + +/*! @name ECC_REG_6 - ECC Region 6 Configuration */ +/*! @{ */ + +#define DDRC_ECC_REG_6_REG_6_EA_MASK (0xFFFU) +#define DDRC_ECC_REG_6_REG_6_EA_SHIFT (0U) +/*! REG_6_EA - Region 6 End Address */ +#define DDRC_ECC_REG_6_REG_6_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_6_REG_6_EA_SHIFT)) & DDRC_ECC_REG_6_REG_6_EA_MASK) + +#define DDRC_ECC_REG_6_REG_6_SA_MASK (0xFFF0000U) +#define DDRC_ECC_REG_6_REG_6_SA_SHIFT (16U) +/*! REG_6_SA - Region 6 Start Address */ +#define DDRC_ECC_REG_6_REG_6_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_6_REG_6_SA_SHIFT)) & DDRC_ECC_REG_6_REG_6_SA_MASK) + +#define DDRC_ECC_REG_6_REG_6_EN_MASK (0x80000000U) +#define DDRC_ECC_REG_6_REG_6_EN_SHIFT (31U) +/*! REG_6_EN - Region 6 Enable + * 0b0..Does not use region 6 for ECC enablement + * 0b1..Protects addresses from region 6 with ECC + */ +#define DDRC_ECC_REG_6_REG_6_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_6_REG_6_EN_SHIFT)) & DDRC_ECC_REG_6_REG_6_EN_MASK) +/*! @} */ + +/*! @name ECC_REG_7 - ECC Region 7 Configuration */ +/*! @{ */ + +#define DDRC_ECC_REG_7_REG_7_EA_MASK (0xFFFU) +#define DDRC_ECC_REG_7_REG_7_EA_SHIFT (0U) +/*! REG_7_EA - Region 7 End Address */ +#define DDRC_ECC_REG_7_REG_7_EA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_7_REG_7_EA_SHIFT)) & DDRC_ECC_REG_7_REG_7_EA_MASK) + +#define DDRC_ECC_REG_7_REG_7_SA_MASK (0xFFF0000U) +#define DDRC_ECC_REG_7_REG_7_SA_SHIFT (16U) +/*! REG_7_SA - Region 7 Start Address */ +#define DDRC_ECC_REG_7_REG_7_SA(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_7_REG_7_SA_SHIFT)) & DDRC_ECC_REG_7_REG_7_SA_MASK) + +#define DDRC_ECC_REG_7_REG_7_EN_MASK (0x80000000U) +#define DDRC_ECC_REG_7_REG_7_EN_SHIFT (31U) +/*! REG_7_EN - Region 7 Enable + * 0b0..Does not use region 7 for ECC enablement + * 0b1..Protects addresses from region 7 with ECC + */ +#define DDRC_ECC_REG_7_REG_7_EN(x) (((uint32_t)(((uint32_t)(x)) << DDRC_ECC_REG_7_REG_7_EN_SHIFT)) & DDRC_ECC_REG_7_REG_7_EN_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group DDRC_Register_Masks */ + + +/* DDRC - Peripheral instance base addresses */ +/** Peripheral DDR_CTRL base address */ +#define DDR_CTRL_BASE (0x4E300000u) +/** Peripheral DDR_CTRL base pointer */ +#define DDR_CTRL ((DDRC_Type *)DDR_CTRL_BASE) +/** Array initializer of DDRC peripheral base addresses */ +#define DDRC_BASE_ADDRS { DDR_CTRL_BASE } +/** Array initializer of DDRC peripheral base pointers */ +#define DDRC_BASE_PTRS { DDR_CTRL } + +/*! + * @} + */ /* end of group DDRC_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- DMA Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer + * @{ + */ + +/** DMA - Register Layout Typedef */ +typedef struct { + __IO uint32_t MP_CSR; /**< Management Page Control, offset: 0x0 */ + __I uint32_t MP_ES; /**< Management Page Error Status, offset: 0x4 */ + __I uint32_t MP_INT; /**< Management Page Interrupt Request Status, offset: 0x8 */ + __I uint32_t MP_HRS; /**< Management Page Hardware Request Status, offset: 0xC */ + uint8_t RESERVED_0[240]; + __IO uint32_t CH_GRPRI[31]; /**< Channel Arbitration Group, array offset: 0x100, array step: 0x4 */ +} DMA_Type; + +/* ---------------------------------------------------------------------------- + -- DMA Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup DMA_Register_Masks DMA Register Masks + * @{ + */ + +/*! @name MP_CSR - Management Page Control */ +/*! @{ */ + +#define DMA_MP_CSR_EDBG_MASK (0x2U) +#define DMA_MP_CSR_EDBG_SHIFT (1U) +/*! EDBG - Enable Debug + * 0b0..Debug mode disabled + * 0b1..Debug mode is enabled. + */ +#define DMA_MP_CSR_EDBG(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_EDBG_SHIFT)) & DMA_MP_CSR_EDBG_MASK) + +#define DMA_MP_CSR_ERCA_MASK (0x4U) +#define DMA_MP_CSR_ERCA_SHIFT (2U) +/*! ERCA - Enable Round Robin Channel Arbitration + * 0b0..Round-robin channel arbitration disabled + * 0b1..Round-robin channel arbitration enabled + */ +#define DMA_MP_CSR_ERCA(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_ERCA_SHIFT)) & DMA_MP_CSR_ERCA_MASK) + +#define DMA_MP_CSR_HAE_MASK (0x10U) +#define DMA_MP_CSR_HAE_SHIFT (4U) +/*! HAE - Halt After Error + * 0b0..Normal operation + * 0b1..Any error causes the HALT field to be set to 1 + */ +#define DMA_MP_CSR_HAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_HAE_SHIFT)) & DMA_MP_CSR_HAE_MASK) + +#define DMA_MP_CSR_HALT_MASK (0x20U) +#define DMA_MP_CSR_HALT_SHIFT (5U) +/*! HALT - Halt DMA Operations + * 0b0..Normal operation + * 0b1..Stall the start of any new channels + */ +#define DMA_MP_CSR_HALT(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_HALT_SHIFT)) & DMA_MP_CSR_HALT_MASK) + +#define DMA_MP_CSR_GCLC_MASK (0x40U) +#define DMA_MP_CSR_GCLC_SHIFT (6U) +/*! GCLC - Global Channel Linking Control + * 0b0..Channel linking disabled for all channels + * 0b1..Channel linking available and controlled by each channel's link settings + */ +#define DMA_MP_CSR_GCLC(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_GCLC_SHIFT)) & DMA_MP_CSR_GCLC_MASK) + +#define DMA_MP_CSR_GMRC_MASK (0x80U) +#define DMA_MP_CSR_GMRC_SHIFT (7U) +/*! GMRC - Global Master ID Replication Control + * 0b0..Master ID replication disabled for all channels + * 0b1..Master ID replication available and controlled by each channel's CHn_SBR[EMI] setting + */ +#define DMA_MP_CSR_GMRC(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_GMRC_SHIFT)) & DMA_MP_CSR_GMRC_MASK) + +#define DMA_MP_CSR_ECX_MASK (0x100U) +#define DMA_MP_CSR_ECX_SHIFT (8U) +/*! ECX - Cancel Transfer With Error + * 0b0..Normal operation + * 0b1..Cancel the remaining data transfer + */ +#define DMA_MP_CSR_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_ECX_SHIFT)) & DMA_MP_CSR_ECX_MASK) + +#define DMA_MP_CSR_CX_MASK (0x200U) +#define DMA_MP_CSR_CX_SHIFT (9U) +/*! CX - Cancel Transfer + * 0b0..Normal operation + * 0b1..Cancel the remaining data transfer + */ +#define DMA_MP_CSR_CX(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_CX_SHIFT)) & DMA_MP_CSR_CX_MASK) + +#define DMA_MP_CSR_ACTIVE_ID_MASK (0x1F000000U) +#define DMA_MP_CSR_ACTIVE_ID_SHIFT (24U) +/*! ACTIVE_ID - Active Channel ID */ +#define DMA_MP_CSR_ACTIVE_ID(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_ACTIVE_ID_SHIFT)) & DMA_MP_CSR_ACTIVE_ID_MASK) + +#define DMA_MP_CSR_ACTIVE_MASK (0x80000000U) +#define DMA_MP_CSR_ACTIVE_SHIFT (31U) +/*! ACTIVE - DMA Active Status + * 0b0..eDMA is idle + * 0b1..eDMA is executing a channel + */ +#define DMA_MP_CSR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_CSR_ACTIVE_SHIFT)) & DMA_MP_CSR_ACTIVE_MASK) +/*! @} */ + +/*! @name MP_ES - Management Page Error Status */ +/*! @{ */ + +#define DMA_MP_ES_DBE_MASK (0x1U) +#define DMA_MP_ES_DBE_SHIFT (0U) +/*! DBE - Destination Bus Error + * 0b0..No destination bus error + * 0b1..Last recorded error was a bus error on a destination write + */ +#define DMA_MP_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_DBE_SHIFT)) & DMA_MP_ES_DBE_MASK) + +#define DMA_MP_ES_SBE_MASK (0x2U) +#define DMA_MP_ES_SBE_SHIFT (1U) +/*! SBE - Source Bus Error + * 0b0..No source bus error + * 0b1..Last recorded error was a bus error on a source read + */ +#define DMA_MP_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_SBE_SHIFT)) & DMA_MP_ES_SBE_MASK) + +#define DMA_MP_ES_SGE_MASK (0x4U) +#define DMA_MP_ES_SGE_SHIFT (2U) +/*! SGE - Scatter/Gather Configuration Error + * 0b0..No scatter/gather configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_DLAST_SGA field + */ +#define DMA_MP_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_SGE_SHIFT)) & DMA_MP_ES_SGE_MASK) + +#define DMA_MP_ES_NCE_MASK (0x8U) +#define DMA_MP_ES_NCE_SHIFT (3U) +/*! NCE - NBYTES/CITER Configuration Error + * 0b0..No NBYTES/CITER configuration error + * 0b1..The last recorded error was NBYTES equal to zero or a CITER not equal to BITER error + */ +#define DMA_MP_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_NCE_SHIFT)) & DMA_MP_ES_NCE_MASK) + +#define DMA_MP_ES_DOE_MASK (0x10U) +#define DMA_MP_ES_DOE_SHIFT (4U) +/*! DOE - Destination Offset Error + * 0b0..No destination offset configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_DOFF field + */ +#define DMA_MP_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_DOE_SHIFT)) & DMA_MP_ES_DOE_MASK) + +#define DMA_MP_ES_DAE_MASK (0x20U) +#define DMA_MP_ES_DAE_SHIFT (5U) +/*! DAE - Destination Address Error + * 0b0..No destination address configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_DADDR field + */ +#define DMA_MP_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_DAE_SHIFT)) & DMA_MP_ES_DAE_MASK) + +#define DMA_MP_ES_SOE_MASK (0x40U) +#define DMA_MP_ES_SOE_SHIFT (6U) +/*! SOE - Source Offset Error + * 0b0..No source offset configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_SOFF field + */ +#define DMA_MP_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_SOE_SHIFT)) & DMA_MP_ES_SOE_MASK) + +#define DMA_MP_ES_SAE_MASK (0x80U) +#define DMA_MP_ES_SAE_SHIFT (7U) +/*! SAE - Source Address Error + * 0b0..No source address configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_SADDR field + */ +#define DMA_MP_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_SAE_SHIFT)) & DMA_MP_ES_SAE_MASK) + +#define DMA_MP_ES_ECX_MASK (0x100U) +#define DMA_MP_ES_ECX_SHIFT (8U) +/*! ECX - Transfer Canceled + * 0b0..No canceled transfers + * 0b1..Last recorded entry was a canceled transfer by the error cancel transfer input + */ +#define DMA_MP_ES_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_ECX_SHIFT)) & DMA_MP_ES_ECX_MASK) + +#define DMA_MP_ES_ERRCHN_MASK (0x1F000000U) +#define DMA_MP_ES_ERRCHN_SHIFT (24U) +/*! ERRCHN - Error Channel Number or Canceled Channel Number */ +#define DMA_MP_ES_ERRCHN(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_ERRCHN_SHIFT)) & DMA_MP_ES_ERRCHN_MASK) + +#define DMA_MP_ES_VLD_MASK (0x80000000U) +#define DMA_MP_ES_VLD_SHIFT (31U) +/*! VLD - Valid + * 0b0..No CHn_ES[ERR] fields are set to 1 + * 0b1..At least one CHn_ES[ERR] field is set to 1, indicating a valid error exists that software has not cleared + */ +#define DMA_MP_ES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_ES_VLD_SHIFT)) & DMA_MP_ES_VLD_MASK) +/*! @} */ + +/*! @name MP_INT - Management Page Interrupt Request Status */ +/*! @{ */ + +#define DMA_MP_INT_INT_MASK (0x7FFFFFFFU) +#define DMA_MP_INT_INT_SHIFT (0U) +/*! INT - Interrupt Request Status */ +#define DMA_MP_INT_INT(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_INT_INT_SHIFT)) & DMA_MP_INT_INT_MASK) +/*! @} */ + +/*! @name MP_HRS - Management Page Hardware Request Status */ +/*! @{ */ + +#define DMA_MP_HRS_HRS_MASK (0xFFFFFFFFU) +#define DMA_MP_HRS_HRS_SHIFT (0U) +/*! HRS - Hardware Request Status */ +#define DMA_MP_HRS_HRS(x) (((uint32_t)(((uint32_t)(x)) << DMA_MP_HRS_HRS_SHIFT)) & DMA_MP_HRS_HRS_MASK) +/*! @} */ + +/*! @name CH_GRPRI - Channel Arbitration Group */ +/*! @{ */ + +#define DMA_CH_GRPRI_GRPRI_MASK (0x1FU) +#define DMA_CH_GRPRI_GRPRI_SHIFT (0U) +/*! GRPRI - Arbitration Group For Channel n */ +#define DMA_CH_GRPRI_GRPRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CH_GRPRI_GRPRI_SHIFT)) & DMA_CH_GRPRI_GRPRI_MASK) +/*! @} */ + +/* The count of DMA_CH_GRPRI */ +#define DMA_CH_GRPRI_COUNT (31U) + + +/*! + * @} + */ /* end of group DMA_Register_Masks */ + + +/* DMA - Peripheral instance base addresses */ +/** Peripheral DMA3 base address */ +#define DMA3_BASE (0x44000000u) +/** Peripheral DMA3 base pointer */ +#define DMA3 ((DMA_Type *)DMA3_BASE) +/** Array initializer of DMA peripheral base addresses */ +#define DMA_BASE_ADDRS { DMA3_BASE } +/** Array initializer of DMA peripheral base pointers */ +#define DMA_BASE_PTRS { DMA3 } + +/*! + * @} + */ /* end of group DMA_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- DMA4 Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup DMA4_Peripheral_Access_Layer DMA4 Peripheral Access Layer + * @{ + */ + +/** DMA4 - Register Layout Typedef */ +typedef struct { + __IO uint32_t CSR; /**< Management Page Control Register, offset: 0x0 */ + __I uint32_t ES; /**< Management Page Error Status Register, offset: 0x4 */ + __I uint32_t INT_LOW; /**< Management Page Interrupt Request Status Register - Low, offset: 0x8 */ + __I uint32_t INT_HIGH; /**< Management Page Interrupt Request Status Register- High, offset: 0xC */ + __I uint32_t HRS_LOW; /**< Management Page Hardware Request Status Register - Low, offset: 0x10 */ + __I uint32_t HRS_HIGH; /**< Management Page Hardware Request Status Register - High, offset: 0x14 */ + uint8_t RESERVED_0[232]; + __IO uint32_t CH_GRPRI[64]; /**< Channel Arbitration Group Register, array offset: 0x100, array step: 0x4 */ +} DMA4_Type; + +/* ---------------------------------------------------------------------------- + -- DMA4 Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup DMA4_Register_Masks DMA4 Register Masks + * @{ + */ + +/*! @name CSR - Management Page Control Register */ +/*! @{ */ + +#define DMA4_CSR_EDBG_MASK (0x2U) +#define DMA4_CSR_EDBG_SHIFT (1U) +/*! EDBG - Enable Debug + * 0b0..Debug mode is disabled. + * 0b1..Debug mode is enabled. + */ +#define DMA4_CSR_EDBG(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_EDBG_SHIFT)) & DMA4_CSR_EDBG_MASK) + +#define DMA4_CSR_ERCA_MASK (0x4U) +#define DMA4_CSR_ERCA_SHIFT (2U) +/*! ERCA - Enable Round Robin Channel Arbitration + * 0b0..Round robin channel arbitration is disabled. + * 0b1..Round robin channel arbitration is enabled. + */ +#define DMA4_CSR_ERCA(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_ERCA_SHIFT)) & DMA4_CSR_ERCA_MASK) + +#define DMA4_CSR_HAE_MASK (0x10U) +#define DMA4_CSR_HAE_SHIFT (4U) +/*! HAE - Halt After Error + * 0b0..Normal operation + * 0b1..Any error causes the HALT bit to set. Subsequently, all service requests are ignored until the HALT bit is cleared. + */ +#define DMA4_CSR_HAE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_HAE_SHIFT)) & DMA4_CSR_HAE_MASK) + +#define DMA4_CSR_HALT_MASK (0x20U) +#define DMA4_CSR_HALT_SHIFT (5U) +/*! HALT - Halt DMA Operations + * 0b0..Normal operation + * 0b1..Stall the start of any new channels. Executing channels are allowed to complete. Channel execution resumes when this bit is cleared. + */ +#define DMA4_CSR_HALT(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_HALT_SHIFT)) & DMA4_CSR_HALT_MASK) + +#define DMA4_CSR_GCLC_MASK (0x40U) +#define DMA4_CSR_GCLC_SHIFT (6U) +/*! GCLC - Global Channel Linking Control + * 0b0..Channel linking is disabled for all channels. + * 0b1..Channel linking is available and controlled by each channel's link settings. + */ +#define DMA4_CSR_GCLC(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_GCLC_SHIFT)) & DMA4_CSR_GCLC_MASK) + +#define DMA4_CSR_GMRC_MASK (0x80U) +#define DMA4_CSR_GMRC_SHIFT (7U) +/*! GMRC - Global Master ID Replication Control + * 0b0..Master ID replication is disabled for all channels. + * 0b1..Master ID replication is available and is controlled by each channel's CHn_SBR[EMI] setting. + */ +#define DMA4_CSR_GMRC(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_GMRC_SHIFT)) & DMA4_CSR_GMRC_MASK) + +#define DMA4_CSR_ECX_MASK (0x100U) +#define DMA4_CSR_ECX_SHIFT (8U) +/*! ECX - Cancel Transfer with Error + * 0b0..Normal operation + * 0b1..Cancel the remaining data transfer in the same fashion as the CX bit. Stop the executing channel and + * force the minor loop to finish. The cancel takes effect after the last write of the current read/write + * sequence. The ECX bit clears itself after the cancel is honored. In addition to cancelling the transfer, ECX + * treats the cancel as an error condition, thus updating the Error Status register (DMAx_ES) and generating an + * optional error interrupt. + */ +#define DMA4_CSR_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_ECX_SHIFT)) & DMA4_CSR_ECX_MASK) + +#define DMA4_CSR_CX_MASK (0x200U) +#define DMA4_CSR_CX_SHIFT (9U) +/*! CX - Cancel Transfer + * 0b0..Normal operation + * 0b1..Cancel the remaining data transfer. Stop the executing channel and force the minor loop to finish. The + * cancel takes effect after the last write of the current read/write sequence. The CX bit clears itself after + * the cancel has been honored. This cancel retires the channel normally as if the minor loop was completed. + */ +#define DMA4_CSR_CX(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_CX_SHIFT)) & DMA4_CSR_CX_MASK) + +#define DMA4_CSR_VER_MASK (0xFF0000U) +#define DMA4_CSR_VER_SHIFT (16U) +/*! VER - eDMA version */ +#define DMA4_CSR_VER(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_VER_SHIFT)) & DMA4_CSR_VER_MASK) + +#define DMA4_CSR_ACTIVE_ID_MASK (0x3F000000U) +#define DMA4_CSR_ACTIVE_ID_SHIFT (24U) +/*! ACTIVE_ID - Active channel ID */ +#define DMA4_CSR_ACTIVE_ID(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_ACTIVE_ID_SHIFT)) & DMA4_CSR_ACTIVE_ID_MASK) + +#define DMA4_CSR_ACTIVE_MASK (0x80000000U) +#define DMA4_CSR_ACTIVE_SHIFT (31U) +/*! ACTIVE - DMA Active Status + * 0b0..eDMA is idle. + * 0b1..eDMA is executing a channel. + */ +#define DMA4_CSR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CSR_ACTIVE_SHIFT)) & DMA4_CSR_ACTIVE_MASK) +/*! @} */ + +/*! @name ES - Management Page Error Status Register */ +/*! @{ */ + +#define DMA4_ES_DBE_MASK (0x1U) +#define DMA4_ES_DBE_SHIFT (0U) +/*! DBE - Destination Bus Error + * 0b0..No destination bus error + * 0b1..The last recorded error was a bus error on a destination write + */ +#define DMA4_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_DBE_SHIFT)) & DMA4_ES_DBE_MASK) + +#define DMA4_ES_SBE_MASK (0x2U) +#define DMA4_ES_SBE_SHIFT (1U) +/*! SBE - Source Bus Error + * 0b0..No source bus error + * 0b1..The last recorded error was a bus error on a source read + */ +#define DMA4_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_SBE_SHIFT)) & DMA4_ES_SBE_MASK) + +#define DMA4_ES_SGE_MASK (0x4U) +#define DMA4_ES_SGE_SHIFT (2U) +/*! SGE - Scatter/Gather Configuration Error + * 0b0..No scatter/gather configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_DLASTSGA field. This field is + * checked at the beginning of a scatter/gather operation after major loop completion if TCDn_CSR[ESG] is + * enabled. TCDn_DLASTSGA is not on a 32 byte boundary. + */ +#define DMA4_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_SGE_SHIFT)) & DMA4_ES_SGE_MASK) + +#define DMA4_ES_NCE_MASK (0x8U) +#define DMA4_ES_NCE_SHIFT (3U) +/*! NCE - NBYTES/CITER Configuration Error + * 0b0..No NBYTES/CITER configuration error + * 0b1..The last recorded error was NBYTES equal to zero or a CITER not equal to BITER error + */ +#define DMA4_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_NCE_SHIFT)) & DMA4_ES_NCE_MASK) + +#define DMA4_ES_DOE_MASK (0x10U) +#define DMA4_ES_DOE_SHIFT (4U) +/*! DOE - Destination Offset Error + * 0b0..No destination offset configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE]. + */ +#define DMA4_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_DOE_SHIFT)) & DMA4_ES_DOE_MASK) + +#define DMA4_ES_DAE_MASK (0x20U) +#define DMA4_ES_DAE_SHIFT (5U) +/*! DAE - Destination Address Error + * 0b0..No destination address configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR is inconsistent with TCDn_ATTR[DSIZE]. + */ +#define DMA4_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_DAE_SHIFT)) & DMA4_ES_DAE_MASK) + +#define DMA4_ES_SOE_MASK (0x40U) +#define DMA4_ES_SOE_SHIFT (6U) +/*! SOE - Source Offset Error + * 0b0..No source offset configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE]. + */ +#define DMA4_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_SOE_SHIFT)) & DMA4_ES_SOE_MASK) + +#define DMA4_ES_SAE_MASK (0x80U) +#define DMA4_ES_SAE_SHIFT (7U) +/*! SAE - Source Address Error + * 0b0..No source address configuration error. + * 0b1..The last recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR is inconsistent with TCDn_ATTR[SSIZE]. + */ +#define DMA4_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_SAE_SHIFT)) & DMA4_ES_SAE_MASK) + +#define DMA4_ES_ECX_MASK (0x100U) +#define DMA4_ES_ECX_SHIFT (8U) +/*! ECX - Transfer Canceled + * 0b0..No canceled transfers + * 0b1..The last recorded entry was a canceled transfer by the error cancel transfer input. + */ +#define DMA4_ES_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_ECX_SHIFT)) & DMA4_ES_ECX_MASK) + +#define DMA4_ES_ERRCHN_MASK (0x3F000000U) +#define DMA4_ES_ERRCHN_SHIFT (24U) +/*! ERRCHN - Error Channel Number or Canceled Channel Number */ +#define DMA4_ES_ERRCHN(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_ERRCHN_SHIFT)) & DMA4_ES_ERRCHN_MASK) + +#define DMA4_ES_VLD_MASK (0x80000000U) +#define DMA4_ES_VLD_SHIFT (31U) +/*! VLD - Valid + * 0b0..No ERR bits are set. + * 0b1..At least one ERR bit is set indicating a valid error exists that has not been cleared. + */ +#define DMA4_ES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DMA4_ES_VLD_SHIFT)) & DMA4_ES_VLD_MASK) +/*! @} */ + +/*! @name INT_LOW - Management Page Interrupt Request Status Register - Low */ +/*! @{ */ + +#define DMA4_INT_LOW_INT_MASK (0xFFFFFFFFU) +#define DMA4_INT_LOW_INT_SHIFT (0U) +/*! INT - Interrupt Request Status for channels 31 - 0 */ +#define DMA4_INT_LOW_INT(x) (((uint32_t)(((uint32_t)(x)) << DMA4_INT_LOW_INT_SHIFT)) & DMA4_INT_LOW_INT_MASK) +/*! @} */ + +/*! @name INT_HIGH - Management Page Interrupt Request Status Register- High */ +/*! @{ */ + +#define DMA4_INT_HIGH_INT_MASK (0xFFFFFFFFU) +#define DMA4_INT_HIGH_INT_SHIFT (0U) +/*! INT - Interrupt Request Status for channels 63-32 */ +#define DMA4_INT_HIGH_INT(x) (((uint32_t)(((uint32_t)(x)) << DMA4_INT_HIGH_INT_SHIFT)) & DMA4_INT_HIGH_INT_MASK) +/*! @} */ + +/*! @name HRS_LOW - Management Page Hardware Request Status Register - Low */ +/*! @{ */ + +#define DMA4_HRS_LOW_HRS_MASK (0xFFFFFFFFU) +#define DMA4_HRS_LOW_HRS_SHIFT (0U) +/*! HRS - Hardware Request Status for channels 31 - 0 + * 0b00000000000000000000000000000000..A hardware service request for the channel is not present + * 0b00000000000000000000000000000001..A hardware service request for channel 0 is present + */ +#define DMA4_HRS_LOW_HRS(x) (((uint32_t)(((uint32_t)(x)) << DMA4_HRS_LOW_HRS_SHIFT)) & DMA4_HRS_LOW_HRS_MASK) +/*! @} */ + +/*! @name HRS_HIGH - Management Page Hardware Request Status Register - High */ +/*! @{ */ + +#define DMA4_HRS_HIGH_HRS_MASK (0xFFFFFFFFU) +#define DMA4_HRS_HIGH_HRS_SHIFT (0U) +/*! HRS - Hardware Request Status for channels 63-32 + * 0b00000000000000000000000000000000..A hardware service request for the channel is not present + * 0b00000000000000000000000000000001..A hardware service request for channel 0 is present + */ +#define DMA4_HRS_HIGH_HRS(x) (((uint32_t)(((uint32_t)(x)) << DMA4_HRS_HIGH_HRS_SHIFT)) & DMA4_HRS_HIGH_HRS_MASK) +/*! @} */ + +/*! @name CH_GRPRI - Channel Arbitration Group Register */ +/*! @{ */ + +#define DMA4_CH_GRPRI_GRPRI_MASK (0x3FU) +#define DMA4_CH_GRPRI_GRPRI_SHIFT (0U) +/*! GRPRI - Arbitration group per channel. */ +#define DMA4_CH_GRPRI_GRPRI(x) (((uint32_t)(((uint32_t)(x)) << DMA4_CH_GRPRI_GRPRI_SHIFT)) & DMA4_CH_GRPRI_GRPRI_MASK) +/*! @} */ + +/* The count of DMA4_CH_GRPRI */ +#define DMA4_CH_GRPRI_COUNT (64U) + + +/*! + * @} + */ /* end of group DMA4_Register_Masks */ + + +/* DMA4 - Peripheral instance base addresses */ +/** Peripheral DMA4 base address */ +#define DMA4_BASE (0u) +/** Peripheral DMA4 base pointer */ +#define DMA4 ((DMA4_Type *)DMA4_BASE) +/** Array initializer of DMA4 peripheral base addresses */ +#define DMA4_BASE_ADDRS { DMA4_BASE } +/** Array initializer of DMA4 peripheral base pointers */ +#define DMA4_BASE_PTRS { DMA4 } + +/*! + * @} + */ /* end of group DMA4_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- DMA4_TCD Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup DMA4_TCD_Peripheral_Access_Layer DMA4_TCD Peripheral Access Layer + * @{ + */ + +/** DMA4_TCD - Register Layout Typedef */ +typedef struct { + struct { /* offset: 0x0, array step: 0x1000 */ + __IO uint32_t CH_CSR; /**< Channel Control and Status Register, array offset: 0x0, array step: 0x1000 */ + __IO uint32_t CH_ES; /**< Channel Error Status Register, array offset: 0x4, array step: 0x1000 */ + __IO uint32_t CH_INT; /**< Channel Interrupt Status Register, array offset: 0x8, array step: 0x1000 */ + __IO uint32_t CH_SBR; /**< Channel System Bus Register, array offset: 0xC, array step: 0x1000 */ + __IO uint32_t CH_PRI; /**< Channel Priority Register, array offset: 0x10, array step: 0x1000 */ + __IO uint32_t CH_MUX; /**< Channel Multiplexor Configuration, array offset: 0x14, array step: 0x1000 */ + __IO uint16_t CH_MATTR; /**< Memory Attributes Register, array offset: 0x18, array step: 0x1000 */ + uint8_t RESERVED_0[6]; + __IO uint32_t SADDR; /**< TCD Source Address Register, array offset: 0x20, array step: 0x1000 */ + __IO uint16_t SOFF; /**< TCD Signed Source Address Offset Register, array offset: 0x24, array step: 0x1000 */ + __IO uint16_t ATTR; /**< TCD Transfer Attributes Register, array offset: 0x26, array step: 0x1000 */ + union { /* offset: 0x28, array step: 0x1000 */ + __IO uint32_t NBYTES_MLOFFNO; /**< TCD Transfer Size without Minor Loop Offsets Register, array offset: 0x28, array step: 0x1000 */ + __IO uint32_t NBYTES_MLOFFYES; /**< TCD Transfer Size with Minor Loop Offsets Register, array offset: 0x28, array step: 0x1000 */ + }; + __IO uint32_t SLAST_SDA; /**< TCD Last Source Address Adjustment / Store DADDR Address Register, array offset: 0x2C, array step: 0x1000 */ + __IO uint32_t DADDR; /**< TCD Destination Address Register, array offset: 0x30, array step: 0x1000 */ + __IO uint16_t DOFF; /**< TCD Signed Destination Address Offset Register, array offset: 0x34, array step: 0x1000 */ + union { /* offset: 0x36, array step: 0x1000 */ + __IO uint16_t CITER_ELINKNO; /**< TCD Current Major Loop Count (Minor Loop Channel Linking Disabled) Register, array offset: 0x36, array step: 0x1000 */ + __IO uint16_t CITER_ELINKYES; /**< TCD Current Major Loop Count (Minor Loop Channel Linking Enabled) Register, array offset: 0x36, array step: 0x1000 */ + }; + __IO uint32_t DLAST_SGA; /**< TCD Last Destination Address Adjustment / Scatter Gather Address Register, array offset: 0x38, array step: 0x1000 */ + __IO uint16_t CSR; /**< TCD Control and Status Register, array offset: 0x3C, array step: 0x1000 */ + union { /* offset: 0x3E, array step: 0x1000 */ + __IO uint16_t BITER_ELINKNO; /**< TCD Beginning Major Loop Count (Minor Loop Channel Linking Disabled) Register, array offset: 0x3E, array step: 0x1000 */ + __IO uint16_t BITER_ELINKYES; /**< TCD Beginning Major Loop Count (Minor Loop Channel Linking Enabled) Register, array offset: 0x3E, array step: 0x1000 */ + }; + uint8_t RESERVED_1[4032]; + } TCD[64]; +} DMA4_TCD_Type; + +/* ---------------------------------------------------------------------------- + -- DMA4_TCD Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup DMA4_TCD_Register_Masks DMA4_TCD Register Masks + * @{ + */ + +/*! @name CH_CSR - Channel Control and Status Register */ +/*! @{ */ + +#define DMA4_TCD_CH_CSR_ERQ_MASK (0x1U) +#define DMA4_TCD_CH_CSR_ERQ_SHIFT (0U) +/*! ERQ - Enable DMA Request + * 0b0..The DMA hardware request signal for the corresponding channel is disabled. + * 0b1..The DMA hardware request signal for the corresponding channel is enabled. + */ +#define DMA4_TCD_CH_CSR_ERQ(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_CSR_ERQ_SHIFT)) & DMA4_TCD_CH_CSR_ERQ_MASK) + +#define DMA4_TCD_CH_CSR_EARQ_MASK (0x2U) +#define DMA4_TCD_CH_CSR_EARQ_SHIFT (1U) +/*! EARQ - Enable Asynchronous DMA Request + * 0b0..Disable asynchronous DMA request for the channel. + * 0b1..Enable asynchronous DMA request for the channel. + */ +#define DMA4_TCD_CH_CSR_EARQ(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_CSR_EARQ_SHIFT)) & DMA4_TCD_CH_CSR_EARQ_MASK) + +#define DMA4_TCD_CH_CSR_EEI_MASK (0x4U) +#define DMA4_TCD_CH_CSR_EEI_SHIFT (2U) +/*! EEI - Enable Error Interrupt + * 0b0..The error signal for corresponding channel does not generate an error interrupt + * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request + */ +#define DMA4_TCD_CH_CSR_EEI(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_CSR_EEI_SHIFT)) & DMA4_TCD_CH_CSR_EEI_MASK) + +#define DMA4_TCD_CH_CSR_SWAP_MASK (0xF000U) +#define DMA4_TCD_CH_CSR_SWAP_SHIFT (12U) +/*! SWAP - Swap size + * 0b0000..disabled + * 0b0001..read with 8-bit swap + * 0b0010..read with 16-bit swap + * 0b0011..read with 32-bit swap + * 0b0100-0b1000..reserved + * 0b1001..write with 8-bit swap + * 0b1010..write with 16-bit swap + * 0b1011..write with 32-bit swap + * 0b1100-0b1111..reserved + */ +#define DMA4_TCD_CH_CSR_SWAP(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_CSR_SWAP_SHIFT)) & DMA4_TCD_CH_CSR_SWAP_MASK) + +#define DMA4_TCD_CH_CSR_SIGNEXT_MASK (0x3F0000U) +#define DMA4_TCD_CH_CSR_SIGNEXT_SHIFT (16U) +/*! SIGNEXT - Sign Extension + * 0b000000..disabled + * 0b000001..A non-zero value specifying the sign extend bit position + */ +#define DMA4_TCD_CH_CSR_SIGNEXT(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_CSR_SIGNEXT_SHIFT)) & DMA4_TCD_CH_CSR_SIGNEXT_MASK) + +#define DMA4_TCD_CH_CSR_DONE_MASK (0x40000000U) +#define DMA4_TCD_CH_CSR_DONE_SHIFT (30U) +/*! DONE - Channel Done */ +#define DMA4_TCD_CH_CSR_DONE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_CSR_DONE_SHIFT)) & DMA4_TCD_CH_CSR_DONE_MASK) + +#define DMA4_TCD_CH_CSR_ACTIVE_MASK (0x80000000U) +#define DMA4_TCD_CH_CSR_ACTIVE_SHIFT (31U) +/*! ACTIVE - Channel Active */ +#define DMA4_TCD_CH_CSR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_CSR_ACTIVE_SHIFT)) & DMA4_TCD_CH_CSR_ACTIVE_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CH_CSR */ +#define DMA4_TCD_CH_CSR_COUNT (64U) + +/*! @name CH_ES - Channel Error Status Register */ +/*! @{ */ + +#define DMA4_TCD_CH_ES_DBE_MASK (0x1U) +#define DMA4_TCD_CH_ES_DBE_SHIFT (0U) +/*! DBE - Destination Bus Error + * 0b0..No destination bus error + * 0b1..The last recorded error was a bus error on a destination write + */ +#define DMA4_TCD_CH_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_DBE_SHIFT)) & DMA4_TCD_CH_ES_DBE_MASK) + +#define DMA4_TCD_CH_ES_SBE_MASK (0x2U) +#define DMA4_TCD_CH_ES_SBE_SHIFT (1U) +/*! SBE - Source Bus Error + * 0b0..No source bus error + * 0b1..The last recorded error was a bus error on a source read + */ +#define DMA4_TCD_CH_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_SBE_SHIFT)) & DMA4_TCD_CH_ES_SBE_MASK) + +#define DMA4_TCD_CH_ES_SGE_MASK (0x4U) +#define DMA4_TCD_CH_ES_SGE_SHIFT (2U) +/*! SGE - Scatter/Gather Configuration Error + * 0b0..No scatter/gather configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_DLASTSGA field. This field is + * checked at the beginning of a scatter/gather operation after major loop completion if TCDn_CSR[ESG] is + * enabled. TCDn_DLASTSGA is not on a 32 byte boundary. + */ +#define DMA4_TCD_CH_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_SGE_SHIFT)) & DMA4_TCD_CH_ES_SGE_MASK) + +#define DMA4_TCD_CH_ES_NCE_MASK (0x8U) +#define DMA4_TCD_CH_ES_NCE_SHIFT (3U) +/*! NCE - NBYTES/CITER Configuration Error + * 0b0..No NBYTES/CITER configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_NBYTES or TCDn_CITER fields. + * TCDn_NBYTES is not a multiple of TCDn_ATTR[SSIZE] and TCDn_ATTR[DSIZE], or TCDn_CITER[CITER] is equal to zero, + * or TCDn_CITER[ELINK] is not equal to TCDn_BITER[ELINK] + */ +#define DMA4_TCD_CH_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_NCE_SHIFT)) & DMA4_TCD_CH_ES_NCE_MASK) + +#define DMA4_TCD_CH_ES_DOE_MASK (0x10U) +#define DMA4_TCD_CH_ES_DOE_SHIFT (4U) +/*! DOE - Destination Offset Error + * 0b0..No destination offset configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE]. + */ +#define DMA4_TCD_CH_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_DOE_SHIFT)) & DMA4_TCD_CH_ES_DOE_MASK) + +#define DMA4_TCD_CH_ES_DAE_MASK (0x20U) +#define DMA4_TCD_CH_ES_DAE_SHIFT (5U) +/*! DAE - Destination Address Error + * 0b0..No destination address configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR is inconsistent with TCDn_ATTR[DSIZE]. + */ +#define DMA4_TCD_CH_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_DAE_SHIFT)) & DMA4_TCD_CH_ES_DAE_MASK) + +#define DMA4_TCD_CH_ES_SOE_MASK (0x40U) +#define DMA4_TCD_CH_ES_SOE_SHIFT (6U) +/*! SOE - Source Offset Error + * 0b0..No source offset configuration error + * 0b1..The last recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE]. + */ +#define DMA4_TCD_CH_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_SOE_SHIFT)) & DMA4_TCD_CH_ES_SOE_MASK) + +#define DMA4_TCD_CH_ES_SAE_MASK (0x80U) +#define DMA4_TCD_CH_ES_SAE_SHIFT (7U) +/*! SAE - Source Address Error + * 0b0..No source address configuration error. + * 0b1..The last recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR is inconsistent with TCDn_ATTR[SSIZE]. + */ +#define DMA4_TCD_CH_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_SAE_SHIFT)) & DMA4_TCD_CH_ES_SAE_MASK) + +#define DMA4_TCD_CH_ES_ERR_MASK (0x80000000U) +#define DMA4_TCD_CH_ES_ERR_SHIFT (31U) +/*! ERR - Error In Channel + * 0b0..An error in this channel has not occurred + * 0b1..An error in this channel has occurred + */ +#define DMA4_TCD_CH_ES_ERR(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_ES_ERR_SHIFT)) & DMA4_TCD_CH_ES_ERR_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CH_ES */ +#define DMA4_TCD_CH_ES_COUNT (64U) + +/*! @name CH_INT - Channel Interrupt Status Register */ +/*! @{ */ + +#define DMA4_TCD_CH_INT_INT_MASK (0x1U) +#define DMA4_TCD_CH_INT_INT_SHIFT (0U) +/*! INT - Interrupt Request + * 0b0..The interrupt request for corresponding channel is cleared + * 0b1..The interrupt request for corresponding channel is active + */ +#define DMA4_TCD_CH_INT_INT(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_INT_INT_SHIFT)) & DMA4_TCD_CH_INT_INT_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CH_INT */ +#define DMA4_TCD_CH_INT_COUNT (64U) + +/*! @name CH_SBR - Channel System Bus Register */ +/*! @{ */ + +#define DMA4_TCD_CH_SBR_MID_MASK (0xFU) +#define DMA4_TCD_CH_SBR_MID_SHIFT (0U) +/*! MID - Master ID */ +#define DMA4_TCD_CH_SBR_MID(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_SBR_MID_SHIFT)) & DMA4_TCD_CH_SBR_MID_MASK) + +#define DMA4_TCD_CH_SBR_INSTR_MASK (0x2000U) +#define DMA4_TCD_CH_SBR_INSTR_SHIFT (13U) +/*! INSTR - Instruction/Data Access + * 0b0..Data access for DMA transfers + * 0b1..Instruction access for DMA transfers + */ +#define DMA4_TCD_CH_SBR_INSTR(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_SBR_INSTR_SHIFT)) & DMA4_TCD_CH_SBR_INSTR_MASK) + +#define DMA4_TCD_CH_SBR_SEC_MASK (0x4000U) +#define DMA4_TCD_CH_SBR_SEC_SHIFT (14U) +/*! SEC - Security Level + * 0b0..Nonsecure protection level for DMA transfers + * 0b1..Secure protection level for DMA transfers + */ +#define DMA4_TCD_CH_SBR_SEC(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_SBR_SEC_SHIFT)) & DMA4_TCD_CH_SBR_SEC_MASK) + +#define DMA4_TCD_CH_SBR_PAL_MASK (0x8000U) +#define DMA4_TCD_CH_SBR_PAL_SHIFT (15U) +/*! PAL - Privileged Access Level + * 0b0..User protection level for DMA transfers + * 0b1..Privileged protection level for DMA transfers + */ +#define DMA4_TCD_CH_SBR_PAL(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_SBR_PAL_SHIFT)) & DMA4_TCD_CH_SBR_PAL_MASK) + +#define DMA4_TCD_CH_SBR_EMI_MASK (0x10000U) +#define DMA4_TCD_CH_SBR_EMI_SHIFT (16U) +/*! EMI - Enable Master ID replication + * 0b0..Master ID replication is disabled + * 0b1..Master ID replication is enabled + */ +#define DMA4_TCD_CH_SBR_EMI(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_SBR_EMI_SHIFT)) & DMA4_TCD_CH_SBR_EMI_MASK) + +#define DMA4_TCD_CH_SBR_ATTR_MASK (0x7E0000U) +#define DMA4_TCD_CH_SBR_ATTR_SHIFT (17U) +/*! ATTR - Attribute Output */ +#define DMA4_TCD_CH_SBR_ATTR(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_SBR_ATTR_SHIFT)) & DMA4_TCD_CH_SBR_ATTR_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CH_SBR */ +#define DMA4_TCD_CH_SBR_COUNT (64U) + +/*! @name CH_PRI - Channel Priority Register */ +/*! @{ */ + +#define DMA4_TCD_CH_PRI_APL_MASK (0x7U) +#define DMA4_TCD_CH_PRI_APL_SHIFT (0U) +/*! APL - Arbitration Priority Level */ +#define DMA4_TCD_CH_PRI_APL(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_PRI_APL_SHIFT)) & DMA4_TCD_CH_PRI_APL_MASK) + +#define DMA4_TCD_CH_PRI_DPA_MASK (0x40000000U) +#define DMA4_TCD_CH_PRI_DPA_SHIFT (30U) +/*! DPA - Disable Preempt Ability. + * 0b0..The channel can suspend a lower priority channel. + * 0b1..The channel cannot suspend any other channel, regardless of channel priority. + */ +#define DMA4_TCD_CH_PRI_DPA(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_PRI_DPA_SHIFT)) & DMA4_TCD_CH_PRI_DPA_MASK) + +#define DMA4_TCD_CH_PRI_ECP_MASK (0x80000000U) +#define DMA4_TCD_CH_PRI_ECP_SHIFT (31U) +/*! ECP - Enable Channel Preemption. + * 0b0..The channel cannot be suspended by a higher priority channel's service request. + * 0b1..The channel can be temporarily suspended by the service request of a higher priority channel. + */ +#define DMA4_TCD_CH_PRI_ECP(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_PRI_ECP_SHIFT)) & DMA4_TCD_CH_PRI_ECP_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CH_PRI */ +#define DMA4_TCD_CH_PRI_COUNT (64U) + +/*! @name CH_MUX - Channel Multiplexor Configuration */ +/*! @{ */ + +#define DMA4_TCD_CH_MUX_SRC_MASK (0x7FU) +#define DMA4_TCD_CH_MUX_SRC_SHIFT (0U) +/*! SRC - Service Request Source */ +#define DMA4_TCD_CH_MUX_SRC(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_CH_MUX_SRC_SHIFT)) & DMA4_TCD_CH_MUX_SRC_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CH_MUX */ +#define DMA4_TCD_CH_MUX_COUNT (64U) + +/*! @name CH_MATTR - Memory Attributes Register */ +/*! @{ */ + +#define DMA4_TCD_CH_MATTR_RCACHE_MASK (0xFU) +#define DMA4_TCD_CH_MATTR_RCACHE_SHIFT (0U) +/*! RCACHE - Read Cache Attributes */ +#define DMA4_TCD_CH_MATTR_RCACHE(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CH_MATTR_RCACHE_SHIFT)) & DMA4_TCD_CH_MATTR_RCACHE_MASK) + +#define DMA4_TCD_CH_MATTR_WCACHE_MASK (0xF0U) +#define DMA4_TCD_CH_MATTR_WCACHE_SHIFT (4U) +/*! WCACHE - Write Cache Attributes */ +#define DMA4_TCD_CH_MATTR_WCACHE(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CH_MATTR_WCACHE_SHIFT)) & DMA4_TCD_CH_MATTR_WCACHE_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CH_MATTR */ +#define DMA4_TCD_CH_MATTR_COUNT (64U) + +/*! @name SADDR - TCD Source Address Register */ +/*! @{ */ + +#define DMA4_TCD_SADDR_SADDR_MASK (0xFFFFFFFFU) +#define DMA4_TCD_SADDR_SADDR_SHIFT (0U) +/*! SADDR - Source Address */ +#define DMA4_TCD_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_SADDR_SADDR_SHIFT)) & DMA4_TCD_SADDR_SADDR_MASK) +/*! @} */ + +/* The count of DMA4_TCD_SADDR */ +#define DMA4_TCD_SADDR_COUNT (64U) + +/*! @name SOFF - TCD Signed Source Address Offset Register */ +/*! @{ */ + +#define DMA4_TCD_SOFF_SOFF_MASK (0xFFFFU) +#define DMA4_TCD_SOFF_SOFF_SHIFT (0U) +/*! SOFF - Source address signed offset */ +#define DMA4_TCD_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_SOFF_SOFF_SHIFT)) & DMA4_TCD_SOFF_SOFF_MASK) +/*! @} */ + +/* The count of DMA4_TCD_SOFF */ +#define DMA4_TCD_SOFF_COUNT (64U) + +/*! @name ATTR - TCD Transfer Attributes Register */ +/*! @{ */ + +#define DMA4_TCD_ATTR_DSIZE_MASK (0x7U) +#define DMA4_TCD_ATTR_DSIZE_SHIFT (0U) +/*! DSIZE - Destination data transfer size + * 0b000..8-bit + * 0b001..16-bit + * 0b010..32-bit + * 0b011..64-bit + * 0b100..16-byte + * 0b101..32-byte + * 0b110..64-byte + * 0b111..128-byte + */ +#define DMA4_TCD_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_ATTR_DSIZE_SHIFT)) & DMA4_TCD_ATTR_DSIZE_MASK) + +#define DMA4_TCD_ATTR_DMOD_MASK (0xF8U) +#define DMA4_TCD_ATTR_DMOD_SHIFT (3U) +/*! DMOD - Destination address modulo */ +#define DMA4_TCD_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_ATTR_DMOD_SHIFT)) & DMA4_TCD_ATTR_DMOD_MASK) + +#define DMA4_TCD_ATTR_SSIZE_MASK (0x700U) +#define DMA4_TCD_ATTR_SSIZE_SHIFT (8U) +/*! SSIZE - Source data transfer size + * 0b000..8-bit + * 0b001..16-bit + * 0b010..32-bit + * 0b011..64-bit + * 0b100..16-byte + * 0b101..32-byte + * 0b110..64-byte + * 0b111..128-byte + */ +#define DMA4_TCD_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_ATTR_SSIZE_SHIFT)) & DMA4_TCD_ATTR_SSIZE_MASK) + +#define DMA4_TCD_ATTR_SMOD_MASK (0xF800U) +#define DMA4_TCD_ATTR_SMOD_SHIFT (11U) +/*! SMOD - Source address modulo + * 0b00000..Source address modulo feature is disabled + * 0b00001..Source address modulo feature is enabled for any non-zero value [1-31] + */ +#define DMA4_TCD_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_ATTR_SMOD_SHIFT)) & DMA4_TCD_ATTR_SMOD_MASK) +/*! @} */ + +/* The count of DMA4_TCD_ATTR */ +#define DMA4_TCD_ATTR_COUNT (64U) + +/*! @name NBYTES_MLOFFNO - TCD Transfer Size without Minor Loop Offsets Register */ +/*! @{ */ + +#define DMA4_TCD_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU) +#define DMA4_TCD_NBYTES_MLOFFNO_NBYTES_SHIFT (0U) +/*! NBYTES - Number of Bytes to transfer per service request */ +#define DMA4_TCD_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_NBYTES_MLOFFNO_NBYTES_SHIFT)) & DMA4_TCD_NBYTES_MLOFFNO_NBYTES_MASK) + +#define DMA4_TCD_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U) +#define DMA4_TCD_NBYTES_MLOFFNO_DMLOE_SHIFT (30U) +/*! DMLOE - Destination Minor Loop Offset Enable + * 0b0..The minor loop offset is not applied to the DADDR + * 0b1..The minor loop offset is applied to the DADDR + */ +#define DMA4_TCD_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_NBYTES_MLOFFNO_DMLOE_SHIFT)) & DMA4_TCD_NBYTES_MLOFFNO_DMLOE_MASK) + +#define DMA4_TCD_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U) +#define DMA4_TCD_NBYTES_MLOFFNO_SMLOE_SHIFT (31U) +/*! SMLOE - Source Minor Loop Offset Enable + * 0b0..The minor loop offset is not applied to the SADDR + * 0b1..The minor loop offset is applied to the SADDR + */ +#define DMA4_TCD_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_NBYTES_MLOFFNO_SMLOE_SHIFT)) & DMA4_TCD_NBYTES_MLOFFNO_SMLOE_MASK) +/*! @} */ + +/* The count of DMA4_TCD_NBYTES_MLOFFNO */ +#define DMA4_TCD_NBYTES_MLOFFNO_COUNT (64U) + +/*! @name NBYTES_MLOFFYES - TCD Transfer Size with Minor Loop Offsets Register */ +/*! @{ */ + +#define DMA4_TCD_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU) +#define DMA4_TCD_NBYTES_MLOFFYES_NBYTES_SHIFT (0U) +/*! NBYTES - Number of Bytes to transfer per service request */ +#define DMA4_TCD_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_NBYTES_MLOFFYES_NBYTES_SHIFT)) & DMA4_TCD_NBYTES_MLOFFYES_NBYTES_MASK) + +#define DMA4_TCD_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U) +#define DMA4_TCD_NBYTES_MLOFFYES_MLOFF_SHIFT (10U) +/*! MLOFF - Minor Loop Offset */ +#define DMA4_TCD_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_NBYTES_MLOFFYES_MLOFF_SHIFT)) & DMA4_TCD_NBYTES_MLOFFYES_MLOFF_MASK) + +#define DMA4_TCD_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U) +#define DMA4_TCD_NBYTES_MLOFFYES_DMLOE_SHIFT (30U) +/*! DMLOE - Destination Minor Loop Offset Enable + * 0b0..The minor loop offset is not applied to the DADDR + * 0b1..The minor loop offset is applied to the DADDR + */ +#define DMA4_TCD_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_NBYTES_MLOFFYES_DMLOE_SHIFT)) & DMA4_TCD_NBYTES_MLOFFYES_DMLOE_MASK) + +#define DMA4_TCD_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U) +#define DMA4_TCD_NBYTES_MLOFFYES_SMLOE_SHIFT (31U) +/*! SMLOE - Source Minor Loop Offset Enable + * 0b0..The minor loop offset is not applied to the SADDR + * 0b1..The minor loop offset is applied to the SADDR + */ +#define DMA4_TCD_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_NBYTES_MLOFFYES_SMLOE_SHIFT)) & DMA4_TCD_NBYTES_MLOFFYES_SMLOE_MASK) +/*! @} */ + +/* The count of DMA4_TCD_NBYTES_MLOFFYES */ +#define DMA4_TCD_NBYTES_MLOFFYES_COUNT (64U) + +/*! @name SLAST_SDA - TCD Last Source Address Adjustment / Store DADDR Address Register */ +/*! @{ */ + +#define DMA4_TCD_SLAST_SDA_SLAST_SDA_MASK (0xFFFFFFFFU) +#define DMA4_TCD_SLAST_SDA_SLAST_SDA_SHIFT (0U) +/*! SLAST_SDA - Last Source Address Adjustment / Store DADDR Address */ +#define DMA4_TCD_SLAST_SDA_SLAST_SDA(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_SLAST_SDA_SLAST_SDA_SHIFT)) & DMA4_TCD_SLAST_SDA_SLAST_SDA_MASK) +/*! @} */ + +/* The count of DMA4_TCD_SLAST_SDA */ +#define DMA4_TCD_SLAST_SDA_COUNT (64U) + +/*! @name DADDR - TCD Destination Address Register */ +/*! @{ */ + +#define DMA4_TCD_DADDR_DADDR_MASK (0xFFFFFFFFU) +#define DMA4_TCD_DADDR_DADDR_SHIFT (0U) +/*! DADDR - Destination Address */ +#define DMA4_TCD_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_DADDR_DADDR_SHIFT)) & DMA4_TCD_DADDR_DADDR_MASK) +/*! @} */ + +/* The count of DMA4_TCD_DADDR */ +#define DMA4_TCD_DADDR_COUNT (64U) + +/*! @name DOFF - TCD Signed Destination Address Offset Register */ +/*! @{ */ + +#define DMA4_TCD_DOFF_DOFF_MASK (0xFFFFU) +#define DMA4_TCD_DOFF_DOFF_SHIFT (0U) +/*! DOFF - Destination Address Signed Offset */ +#define DMA4_TCD_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_DOFF_DOFF_SHIFT)) & DMA4_TCD_DOFF_DOFF_MASK) +/*! @} */ + +/* The count of DMA4_TCD_DOFF */ +#define DMA4_TCD_DOFF_COUNT (64U) + +/*! @name CITER_ELINKNO - TCD Current Major Loop Count (Minor Loop Channel Linking Disabled) Register */ +/*! @{ */ + +#define DMA4_TCD_CITER_ELINKNO_CITER_MASK (0x7FFFU) +#define DMA4_TCD_CITER_ELINKNO_CITER_SHIFT (0U) +/*! CITER - Current Major Iteration Count */ +#define DMA4_TCD_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CITER_ELINKNO_CITER_SHIFT)) & DMA4_TCD_CITER_ELINKNO_CITER_MASK) + +#define DMA4_TCD_CITER_ELINKNO_ELINK_MASK (0x8000U) +#define DMA4_TCD_CITER_ELINKNO_ELINK_SHIFT (15U) +/*! ELINK - Enable channel-to-channel linking on minor-loop complete + * 0b0..The channel-to-channel linking is disabled + * 0b1..The channel-to-channel linking is enabled + */ +#define DMA4_TCD_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CITER_ELINKNO_ELINK_SHIFT)) & DMA4_TCD_CITER_ELINKNO_ELINK_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CITER_ELINKNO */ +#define DMA4_TCD_CITER_ELINKNO_COUNT (64U) + +/*! @name CITER_ELINKYES - TCD Current Major Loop Count (Minor Loop Channel Linking Enabled) Register */ +/*! @{ */ + +#define DMA4_TCD_CITER_ELINKYES_CITER_MASK (0x1FFU) +#define DMA4_TCD_CITER_ELINKYES_CITER_SHIFT (0U) +/*! CITER - Current Major Iteration Count */ +#define DMA4_TCD_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CITER_ELINKYES_CITER_SHIFT)) & DMA4_TCD_CITER_ELINKYES_CITER_MASK) + +#define DMA4_TCD_CITER_ELINKYES_LINKCH_MASK (0x7E00U) +#define DMA4_TCD_CITER_ELINKYES_LINKCH_SHIFT (9U) +/*! LINKCH - Minor Loop Link Channel Number */ +#define DMA4_TCD_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CITER_ELINKYES_LINKCH_SHIFT)) & DMA4_TCD_CITER_ELINKYES_LINKCH_MASK) + +#define DMA4_TCD_CITER_ELINKYES_ELINK_MASK (0x8000U) +#define DMA4_TCD_CITER_ELINKYES_ELINK_SHIFT (15U) +/*! ELINK - Enable channel-to-channel linking on minor-loop complete + * 0b0..The channel-to-channel linking is disabled + * 0b1..The channel-to-channel linking is enabled + */ +#define DMA4_TCD_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CITER_ELINKYES_ELINK_SHIFT)) & DMA4_TCD_CITER_ELINKYES_ELINK_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CITER_ELINKYES */ +#define DMA4_TCD_CITER_ELINKYES_COUNT (64U) + +/*! @name DLAST_SGA - TCD Last Destination Address Adjustment / Scatter Gather Address Register */ +/*! @{ */ + +#define DMA4_TCD_DLAST_SGA_DLAST_SGA_MASK (0xFFFFFFFFU) +#define DMA4_TCD_DLAST_SGA_DLAST_SGA_SHIFT (0U) +/*! DLAST_SGA - Final Destination Address Adjustment / Scatter Gather Address */ +#define DMA4_TCD_DLAST_SGA_DLAST_SGA(x) (((uint32_t)(((uint32_t)(x)) << DMA4_TCD_DLAST_SGA_DLAST_SGA_SHIFT)) & DMA4_TCD_DLAST_SGA_DLAST_SGA_MASK) +/*! @} */ + +/* The count of DMA4_TCD_DLAST_SGA */ +#define DMA4_TCD_DLAST_SGA_COUNT (64U) + +/*! @name CSR - TCD Control and Status Register */ +/*! @{ */ + +#define DMA4_TCD_CSR_START_MASK (0x1U) +#define DMA4_TCD_CSR_START_SHIFT (0U) +/*! START - Channel Start + * 0b0..The channel is not explicitly started. + * 0b1..The channel is explicitly started via a software initiated service request. + */ +#define DMA4_TCD_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_START_SHIFT)) & DMA4_TCD_CSR_START_MASK) + +#define DMA4_TCD_CSR_INTMAJOR_MASK (0x2U) +#define DMA4_TCD_CSR_INTMAJOR_SHIFT (1U) +/*! INTMAJOR - Enable an interrupt when major iteration count completes. + * 0b0..The end-of-major loop interrupt is disabled. + * 0b1..The end-of-major loop interrupt is enabled. + */ +#define DMA4_TCD_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_INTMAJOR_SHIFT)) & DMA4_TCD_CSR_INTMAJOR_MASK) + +#define DMA4_TCD_CSR_INTHALF_MASK (0x4U) +#define DMA4_TCD_CSR_INTHALF_SHIFT (2U) +/*! INTHALF - Enable an interrupt when major counter is half complete. + * 0b0..The half-point interrupt is disabled. + * 0b1..The half-point interrupt is enabled. + */ +#define DMA4_TCD_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_INTHALF_SHIFT)) & DMA4_TCD_CSR_INTHALF_MASK) + +#define DMA4_TCD_CSR_DREQ_MASK (0x8U) +#define DMA4_TCD_CSR_DREQ_SHIFT (3U) +/*! DREQ - Disable request + * 0b0..No operation + * 0b1..Clear the ERQ bit upon major loop completion, thus disabling hardware service requests. + */ +#define DMA4_TCD_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_DREQ_SHIFT)) & DMA4_TCD_CSR_DREQ_MASK) + +#define DMA4_TCD_CSR_ESG_MASK (0x10U) +#define DMA4_TCD_CSR_ESG_SHIFT (4U) +/*! ESG - Enable Scatter/Gather processing + * 0b0..The current channel's TCD is normal format. + * 0b1..The current channel's TCD specifies a scatter gather format. The DLASTSGA field provides a memory pointer + * to the next TCD to be loaded into this channel after the major loop completes its execution. + */ +#define DMA4_TCD_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_ESG_SHIFT)) & DMA4_TCD_CSR_ESG_MASK) + +#define DMA4_TCD_CSR_MAJORELINK_MASK (0x20U) +#define DMA4_TCD_CSR_MAJORELINK_SHIFT (5U) +/*! MAJORELINK - Enable channel-to-channel linking on major loop complete + * 0b0..The channel-to-channel linking is disabled. + * 0b1..The channel-to-channel linking is enabled. + */ +#define DMA4_TCD_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_MAJORELINK_SHIFT)) & DMA4_TCD_CSR_MAJORELINK_MASK) + +#define DMA4_TCD_CSR_EEOP_MASK (0x40U) +#define DMA4_TCD_CSR_EEOP_SHIFT (6U) +/*! EEOP - Enable end-of-packet processing + * 0b0..The end-of-packet operation is disabled. + * 0b1..The end-of-packet hardware input signal is enabled. + */ +#define DMA4_TCD_CSR_EEOP(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_EEOP_SHIFT)) & DMA4_TCD_CSR_EEOP_MASK) + +#define DMA4_TCD_CSR_ESDA_MASK (0x80U) +#define DMA4_TCD_CSR_ESDA_SHIFT (7U) +/*! ESDA - Enable store destination address + * 0b0..The store destination address to system memory operation is disabled. + * 0b1..The store destination address to system memory operation is enabled. + */ +#define DMA4_TCD_CSR_ESDA(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_ESDA_SHIFT)) & DMA4_TCD_CSR_ESDA_MASK) + +#define DMA4_TCD_CSR_MAJORLINKCH_MASK (0x3F00U) +#define DMA4_TCD_CSR_MAJORLINKCH_SHIFT (8U) +/*! MAJORLINKCH - Major loop link channel number */ +#define DMA4_TCD_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_MAJORLINKCH_SHIFT)) & DMA4_TCD_CSR_MAJORLINKCH_MASK) + +#define DMA4_TCD_CSR_TMC_MASK (0xC000U) +#define DMA4_TCD_CSR_TMC_SHIFT (14U) +/*! TMC - Transfer Mode Control + * 0b00..Read/Write + * 0b01..Read Only + * 0b10..Write Only + * 0b11..Reserved + */ +#define DMA4_TCD_CSR_TMC(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_CSR_TMC_SHIFT)) & DMA4_TCD_CSR_TMC_MASK) +/*! @} */ + +/* The count of DMA4_TCD_CSR */ +#define DMA4_TCD_CSR_COUNT (64U) + +/*! @name BITER_ELINKNO - TCD Beginning Major Loop Count (Minor Loop Channel Linking Disabled) Register */ +/*! @{ */ + +#define DMA4_TCD_BITER_ELINKNO_BITER_MASK (0x7FFFU) +#define DMA4_TCD_BITER_ELINKNO_BITER_SHIFT (0U) +/*! BITER - Starting Major Iteration Count */ +#define DMA4_TCD_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_BITER_ELINKNO_BITER_SHIFT)) & DMA4_TCD_BITER_ELINKNO_BITER_MASK) + +#define DMA4_TCD_BITER_ELINKNO_ELINK_MASK (0x8000U) +#define DMA4_TCD_BITER_ELINKNO_ELINK_SHIFT (15U) +/*! ELINK - Enables channel-to-channel linking on minor loop complete + * 0b0..The channel-to-channel linking is disabled + * 0b1..The channel-to-channel linking is enabled + */ +#define DMA4_TCD_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_BITER_ELINKNO_ELINK_SHIFT)) & DMA4_TCD_BITER_ELINKNO_ELINK_MASK) +/*! @} */ + +/* The count of DMA4_TCD_BITER_ELINKNO */ +#define DMA4_TCD_BITER_ELINKNO_COUNT (64U) + +/*! @name BITER_ELINKYES - TCD Beginning Major Loop Count (Minor Loop Channel Linking Enabled) Register */ +/*! @{ */ + +#define DMA4_TCD_BITER_ELINKYES_BITER_MASK (0x1FFU) +#define DMA4_TCD_BITER_ELINKYES_BITER_SHIFT (0U) +/*! BITER - Starting major iteration count */ +#define DMA4_TCD_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_BITER_ELINKYES_BITER_SHIFT)) & DMA4_TCD_BITER_ELINKYES_BITER_MASK) + +#define DMA4_TCD_BITER_ELINKYES_LINKCH_MASK (0x7E00U) +#define DMA4_TCD_BITER_ELINKYES_LINKCH_SHIFT (9U) +/*! LINKCH - Link Channel Number */ +#define DMA4_TCD_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_BITER_ELINKYES_LINKCH_SHIFT)) & DMA4_TCD_BITER_ELINKYES_LINKCH_MASK) + +#define DMA4_TCD_BITER_ELINKYES_ELINK_MASK (0x8000U) +#define DMA4_TCD_BITER_ELINKYES_ELINK_SHIFT (15U) +/*! ELINK - Enables channel-to-channel linking on minor loop complete + * 0b0..The channel-to-channel linking is disabled + * 0b1..The channel-to-channel linking is enabled + */ +#define DMA4_TCD_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA4_TCD_BITER_ELINKYES_ELINK_SHIFT)) & DMA4_TCD_BITER_ELINKYES_ELINK_MASK) +/*! @} */ + +/* The count of DMA4_TCD_BITER_ELINKYES */ +#define DMA4_TCD_BITER_ELINKYES_COUNT (64U) + + +/*! + * @} + */ /* end of group DMA4_TCD_Register_Masks */ + + +/* DMA4_TCD - Peripheral instance base addresses */ +/** Peripheral EDMA4_2__TCD base address */ +#define EDMA4_2__TCD_BASE (0u) +/** Peripheral EDMA4_2__TCD base pointer */ +#define EDMA4_2__TCD ((DMA4_TCD_Type *)EDMA4_2__TCD_BASE) +/** Array initializer of DMA4_TCD peripheral base addresses */ +#define DMA4_TCD_BASE_ADDRS { EDMA4_2__TCD_BASE } +/** Array initializer of DMA4_TCD peripheral base pointers */ +#define DMA4_TCD_BASE_PTRS { EDMA4_2__TCD } + +/*! + * @} + */ /* end of group DMA4_TCD_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- ENET Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ENET_Peripheral_Access_Layer ENET Peripheral Access Layer + * @{ + */ + +/** ENET - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[4]; + __IO uint32_t EIR; /**< Interrupt Event Register, offset: 0x4 */ + __IO uint32_t EIMR; /**< Interrupt Mask Register, offset: 0x8 */ + uint8_t RESERVED_1[4]; + __IO uint32_t RDAR; /**< Receive Descriptor Active Register - Ring 0, offset: 0x10 */ + __IO uint32_t TDAR; /**< Transmit Descriptor Active Register - Ring 0, offset: 0x14 */ + uint8_t RESERVED_2[12]; + __IO uint32_t ECR; /**< Ethernet Control Register, offset: 0x24 */ + uint8_t RESERVED_3[24]; + __IO uint32_t MMFR; /**< MII Management Frame Register, offset: 0x40 */ + __IO uint32_t MSCR; /**< MII Speed Control Register, offset: 0x44 */ + uint8_t RESERVED_4[28]; + __IO uint32_t MIBC; /**< MIB Control Register, offset: 0x64 */ + uint8_t RESERVED_5[28]; + __IO uint32_t RCR; /**< Receive Control Register, offset: 0x84 */ + uint8_t RESERVED_6[60]; + __IO uint32_t TCR; /**< Transmit Control Register, offset: 0xC4 */ + uint8_t RESERVED_7[28]; + __IO uint32_t PALR; /**< Physical Address Lower Register, offset: 0xE4 */ + __IO uint32_t PAUR; /**< Physical Address Upper Register, offset: 0xE8 */ + __IO uint32_t OPD; /**< Opcode/Pause Duration Register, offset: 0xEC */ + __IO uint32_t TXIC[3]; /**< Transmit Interrupt Coalescing Register, array offset: 0xF0, array step: 0x4 */ + uint8_t RESERVED_8[4]; + __IO uint32_t RXIC[3]; /**< Receive Interrupt Coalescing Register, array offset: 0x100, array step: 0x4 */ + uint8_t RESERVED_9[12]; + __IO uint32_t IAUR; /**< Descriptor Individual Upper Address Register, offset: 0x118 */ + __IO uint32_t IALR; /**< Descriptor Individual Lower Address Register, offset: 0x11C */ + __IO uint32_t GAUR; /**< Descriptor Group Upper Address Register, offset: 0x120 */ + __IO uint32_t GALR; /**< Descriptor Group Lower Address Register, offset: 0x124 */ + uint8_t RESERVED_10[28]; + __IO uint32_t TFWR; /**< Transmit FIFO Watermark Register, offset: 0x144 */ + uint8_t RESERVED_11[24]; + __IO uint32_t RDSR1; /**< Receive Descriptor Ring 1 Start Register, offset: 0x160 */ + __IO uint32_t TDSR1; /**< Transmit Buffer Descriptor Ring 1 Start Register, offset: 0x164 */ + __IO uint32_t MRBR1; /**< Maximum Receive Buffer Size Register - Ring 1, offset: 0x168 */ + __IO uint32_t RDSR2; /**< Receive Descriptor Ring 2 Start Register, offset: 0x16C */ + __IO uint32_t TDSR2; /**< Transmit Buffer Descriptor Ring 2 Start Register, offset: 0x170 */ + __IO uint32_t MRBR2; /**< Maximum Receive Buffer Size Register - Ring 2, offset: 0x174 */ + uint8_t RESERVED_12[8]; + __IO uint32_t RDSR; /**< Receive Descriptor Ring 0 Start Register, offset: 0x180 */ + __IO uint32_t TDSR; /**< Transmit Buffer Descriptor Ring 0 Start Register, offset: 0x184 */ + __IO uint32_t MRBR; /**< Maximum Receive Buffer Size Register - Ring 0, offset: 0x188 */ + uint8_t RESERVED_13[4]; + __IO uint32_t RSFL; /**< Receive FIFO Section Full Threshold, offset: 0x190 */ + __IO uint32_t RSEM; /**< Receive FIFO Section Empty Threshold, offset: 0x194 */ + __IO uint32_t RAEM; /**< Receive FIFO Almost Empty Threshold, offset: 0x198 */ + __IO uint32_t RAFL; /**< Receive FIFO Almost Full Threshold, offset: 0x19C */ + __IO uint32_t TSEM; /**< Transmit FIFO Section Empty Threshold, offset: 0x1A0 */ + __IO uint32_t TAEM; /**< Transmit FIFO Almost Empty Threshold, offset: 0x1A4 */ + __IO uint32_t TAFL; /**< Transmit FIFO Almost Full Threshold, offset: 0x1A8 */ + __IO uint32_t TIPG; /**< Transmit Inter-Packet Gap, offset: 0x1AC */ + __IO uint32_t FTRL; /**< Frame Truncation Length, offset: 0x1B0 */ + uint8_t RESERVED_14[12]; + __IO uint32_t TACC; /**< Transmit Accelerator Function Configuration, offset: 0x1C0 */ + __IO uint32_t RACC; /**< Receive Accelerator Function Configuration, offset: 0x1C4 */ + __IO uint32_t RCMR[2]; /**< Receive Classification Match Register for Class n, array offset: 0x1C8, array step: 0x4 */ + uint8_t RESERVED_15[8]; + __IO uint32_t DMACFG[2]; /**< DMA Class Based Configuration, array offset: 0x1D8, array step: 0x4 */ + __IO uint32_t RDAR1; /**< Receive Descriptor Active Register - Ring 1, offset: 0x1E0 */ + __IO uint32_t TDAR1; /**< Transmit Descriptor Active Register - Ring 1, offset: 0x1E4 */ + __IO uint32_t RDAR2; /**< Receive Descriptor Active Register - Ring 2, offset: 0x1E8 */ + __IO uint32_t TDAR2; /**< Transmit Descriptor Active Register - Ring 2, offset: 0x1EC */ + __IO uint32_t QOS; /**< QOS Scheme, offset: 0x1F0 */ + uint8_t RESERVED_16[16]; + __I uint32_t RMON_T_PACKETS; /**< Tx Packet Count Statistic Register, offset: 0x204 */ + __I uint32_t RMON_T_BC_PKT; /**< Tx Broadcast Packets Statistic Register, offset: 0x208 */ + __I uint32_t RMON_T_MC_PKT; /**< Tx Multicast Packets Statistic Register, offset: 0x20C */ + __I uint32_t RMON_T_CRC_ALIGN; /**< Tx Packets with CRC/Align Error Statistic Register, offset: 0x210 */ + __I uint32_t RMON_T_UNDERSIZE; /**< Tx Packets Less Than Bytes and Good CRC Statistic Register, offset: 0x214 */ + __I uint32_t RMON_T_OVERSIZE; /**< Tx Packets GT MAX_FL bytes and Good CRC Statistic Register, offset: 0x218 */ + __I uint32_t RMON_T_FRAG; /**< Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x21C */ + __I uint32_t RMON_T_JAB; /**< Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register, offset: 0x220 */ + __I uint32_t RMON_T_COL; /**< Tx Collision Count Statistic Register, offset: 0x224 */ + __I uint32_t RMON_T_P64; /**< Tx 64-Byte Packets Statistic Register, offset: 0x228 */ + __I uint32_t RMON_T_P65TO127; /**< Tx 65- to 127-byte Packets Statistic Register, offset: 0x22C */ + __I uint32_t RMON_T_P128TO255; /**< Tx 128- to 255-byte Packets Statistic Register, offset: 0x230 */ + __I uint32_t RMON_T_P256TO511; /**< Tx 256- to 511-byte Packets Statistic Register, offset: 0x234 */ + __I uint32_t RMON_T_P512TO1023; /**< Tx 512- to 1023-byte Packets Statistic Register, offset: 0x238 */ + __I uint32_t RMON_T_P1024TO2047; /**< Tx 1024- to 2047-byte Packets Statistic Register, offset: 0x23C */ + __I uint32_t RMON_T_P_GTE2048; /**< Tx Packets Greater Than 2048 Bytes Statistic Register, offset: 0x240 */ + __I uint32_t RMON_T_OCTETS; /**< Tx Octets Statistic Register, offset: 0x244 */ + uint8_t RESERVED_17[4]; + __I uint32_t IEEE_T_FRAME_OK; /**< Frames Transmitted OK Statistic Register, offset: 0x24C */ + __I uint32_t IEEE_T_1COL; /**< Frames Transmitted with Single Collision Statistic Register, offset: 0x250 */ + __I uint32_t IEEE_T_MCOL; /**< Frames Transmitted with Multiple Collisions Statistic Register, offset: 0x254 */ + __I uint32_t IEEE_T_DEF; /**< Frames Transmitted after Deferral Delay Statistic Register, offset: 0x258 */ + __I uint32_t IEEE_T_LCOL; /**< Frames Transmitted with Late Collision Statistic Register, offset: 0x25C */ + __I uint32_t IEEE_T_EXCOL; /**< Frames Transmitted with Excessive Collisions Statistic Register, offset: 0x260 */ + __I uint32_t IEEE_T_MACERR; /**< Frames Transmitted with Tx FIFO Underrun Statistic Register, offset: 0x264 */ + __I uint32_t IEEE_T_CSERR; /**< Frames Transmitted with Carrier Sense Error Statistic Register, offset: 0x268 */ + __I uint32_t IEEE_T_SQE; /**< Reserved Statistic Register, offset: 0x26C */ + __I uint32_t IEEE_T_FDXFC; /**< Flow Control Pause Frames Transmitted Statistic Register, offset: 0x270 */ + __I uint32_t IEEE_T_OCTETS_OK; /**< Octet Count for Frames Transmitted w/o Error Statistic Register, offset: 0x274 */ + uint8_t RESERVED_18[12]; + __I uint32_t RMON_R_PACKETS; /**< Rx Packet Count Statistic Register, offset: 0x284 */ + __I uint32_t RMON_R_BC_PKT; /**< Rx Broadcast Packets Statistic Register, offset: 0x288 */ + __I uint32_t RMON_R_MC_PKT; /**< Rx Multicast Packets Statistic Register, offset: 0x28C */ + __I uint32_t RMON_R_CRC_ALIGN; /**< Rx Packets with CRC/Align Error Statistic Register, offset: 0x290 */ + __I uint32_t RMON_R_UNDERSIZE; /**< Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register, offset: 0x294 */ + __I uint32_t RMON_R_OVERSIZE; /**< Rx Packets Greater Than MAX_FL and Good CRC Statistic Register, offset: 0x298 */ + __I uint32_t RMON_R_FRAG; /**< Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x29C */ + __I uint32_t RMON_R_JAB; /**< Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register, offset: 0x2A0 */ + uint8_t RESERVED_19[4]; + __I uint32_t RMON_R_P64; /**< Rx 64-Byte Packets Statistic Register, offset: 0x2A8 */ + __I uint32_t RMON_R_P65TO127; /**< Rx 65- to 127-Byte Packets Statistic Register, offset: 0x2AC */ + __I uint32_t RMON_R_P128TO255; /**< Rx 128- to 255-Byte Packets Statistic Register, offset: 0x2B0 */ + __I uint32_t RMON_R_P256TO511; /**< Rx 256- to 511-Byte Packets Statistic Register, offset: 0x2B4 */ + __I uint32_t RMON_R_P512TO1023; /**< Rx 512- to 1023-Byte Packets Statistic Register, offset: 0x2B8 */ + __I uint32_t RMON_R_P1024TO2047; /**< Rx 1024- to 2047-Byte Packets Statistic Register, offset: 0x2BC */ + __I uint32_t RMON_R_P_GTE2048; /**< Rx Packets Greater than 2048 Bytes Statistic Register, offset: 0x2C0 */ + __I uint32_t RMON_R_OCTETS; /**< Rx Octets Statistic Register, offset: 0x2C4 */ + __I uint32_t IEEE_R_DROP; /**< Frames not Counted Correctly Statistic Register, offset: 0x2C8 */ + __I uint32_t IEEE_R_FRAME_OK; /**< Frames Received OK Statistic Register, offset: 0x2CC */ + __I uint32_t IEEE_R_CRC; /**< Frames Received with CRC Error Statistic Register, offset: 0x2D0 */ + __I uint32_t IEEE_R_ALIGN; /**< Frames Received with Alignment Error Statistic Register, offset: 0x2D4 */ + __I uint32_t IEEE_R_MACERR; /**< Receive FIFO Overflow Count Statistic Register, offset: 0x2D8 */ + __I uint32_t IEEE_R_FDXFC; /**< Flow Control Pause Frames Received Statistic Register, offset: 0x2DC */ + __I uint32_t IEEE_R_OCTETS_OK; /**< Octet Count for Frames Received without Error Statistic Register, offset: 0x2E0 */ + uint8_t RESERVED_20[284]; + __IO uint32_t ATCR; /**< Adjustable Timer Control Register, offset: 0x400 */ + __IO uint32_t ATVR; /**< Timer Value Register, offset: 0x404 */ + __IO uint32_t ATOFF; /**< Timer Offset Register, offset: 0x408 */ + __IO uint32_t ATPER; /**< Timer Period Register, offset: 0x40C */ + __IO uint32_t ATCOR; /**< Timer Correction Register, offset: 0x410 */ + __IO uint32_t ATINC; /**< Time-Stamping Clock Period Register, offset: 0x414 */ + __I uint32_t ATSTMP; /**< Timestamp of Last Transmitted Frame, offset: 0x418 */ + uint8_t RESERVED_21[488]; + __IO uint32_t TGSR; /**< Timer Global Status Register, offset: 0x604 */ + struct { /* offset: 0x608, array step: 0x8 */ + __IO uint32_t TCSR; /**< Timer Control Status Register, array offset: 0x608, array step: 0x8 */ + __IO uint32_t TCCR; /**< Timer Compare Capture Register, array offset: 0x60C, array step: 0x8 */ + } CHANNEL[4]; +} ENET_Type; + +/* ---------------------------------------------------------------------------- + -- ENET Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ENET_Register_Masks ENET Register Masks + * @{ + */ + +/*! @name EIR - Interrupt Event Register */ +/*! @{ */ + +#define ENET_EIR_RXB1_MASK (0x1U) +#define ENET_EIR_RXB1_SHIFT (0U) +/*! RXB1 - Receive buffer interrupt, class 1 */ +#define ENET_EIR_RXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB1_SHIFT)) & ENET_EIR_RXB1_MASK) + +#define ENET_EIR_RXF1_MASK (0x2U) +#define ENET_EIR_RXF1_SHIFT (1U) +/*! RXF1 - Receive frame interrupt, class 1 */ +#define ENET_EIR_RXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF1_SHIFT)) & ENET_EIR_RXF1_MASK) + +#define ENET_EIR_TXB1_MASK (0x4U) +#define ENET_EIR_TXB1_SHIFT (2U) +/*! TXB1 - Transmit buffer interrupt, class 1 */ +#define ENET_EIR_TXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB1_SHIFT)) & ENET_EIR_TXB1_MASK) + +#define ENET_EIR_TXF1_MASK (0x8U) +#define ENET_EIR_TXF1_SHIFT (3U) +/*! TXF1 - Transmit frame interrupt, class 1 */ +#define ENET_EIR_TXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF1_SHIFT)) & ENET_EIR_TXF1_MASK) + +#define ENET_EIR_RXB2_MASK (0x10U) +#define ENET_EIR_RXB2_SHIFT (4U) +/*! RXB2 - Receive buffer interrupt, class 2 */ +#define ENET_EIR_RXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB2_SHIFT)) & ENET_EIR_RXB2_MASK) + +#define ENET_EIR_RXF2_MASK (0x20U) +#define ENET_EIR_RXF2_SHIFT (5U) +/*! RXF2 - Receive frame interrupt, class 2 */ +#define ENET_EIR_RXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF2_SHIFT)) & ENET_EIR_RXF2_MASK) + +#define ENET_EIR_TXB2_MASK (0x40U) +#define ENET_EIR_TXB2_SHIFT (6U) +/*! TXB2 - Transmit buffer interrupt, class 2 */ +#define ENET_EIR_TXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB2_SHIFT)) & ENET_EIR_TXB2_MASK) + +#define ENET_EIR_TXF2_MASK (0x80U) +#define ENET_EIR_TXF2_SHIFT (7U) +/*! TXF2 - Transmit frame interrupt, class 2 */ +#define ENET_EIR_TXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF2_SHIFT)) & ENET_EIR_TXF2_MASK) + +#define ENET_EIR_RXFLUSH_0_MASK (0x1000U) +#define ENET_EIR_RXFLUSH_0_SHIFT (12U) +#define ENET_EIR_RXFLUSH_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_0_SHIFT)) & ENET_EIR_RXFLUSH_0_MASK) + +#define ENET_EIR_RXFLUSH_1_MASK (0x2000U) +#define ENET_EIR_RXFLUSH_1_SHIFT (13U) +#define ENET_EIR_RXFLUSH_1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_1_SHIFT)) & ENET_EIR_RXFLUSH_1_MASK) + +#define ENET_EIR_RXFLUSH_2_MASK (0x4000U) +#define ENET_EIR_RXFLUSH_2_SHIFT (14U) +#define ENET_EIR_RXFLUSH_2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_2_SHIFT)) & ENET_EIR_RXFLUSH_2_MASK) + +#define ENET_EIR_TS_TIMER_MASK (0x8000U) +#define ENET_EIR_TS_TIMER_SHIFT (15U) +/*! TS_TIMER - Timestamp Timer */ +#define ENET_EIR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_TIMER_SHIFT)) & ENET_EIR_TS_TIMER_MASK) + +#define ENET_EIR_TS_AVAIL_MASK (0x10000U) +#define ENET_EIR_TS_AVAIL_SHIFT (16U) +/*! TS_AVAIL - Transmit Timestamp Available */ +#define ENET_EIR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_AVAIL_SHIFT)) & ENET_EIR_TS_AVAIL_MASK) + +#define ENET_EIR_WAKEUP_MASK (0x20000U) +#define ENET_EIR_WAKEUP_SHIFT (17U) +/*! WAKEUP - Node Wakeup Request Indication */ +#define ENET_EIR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_WAKEUP_SHIFT)) & ENET_EIR_WAKEUP_MASK) + +#define ENET_EIR_PLR_MASK (0x40000U) +#define ENET_EIR_PLR_SHIFT (18U) +/*! PLR - Payload Receive Error */ +#define ENET_EIR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_PLR_SHIFT)) & ENET_EIR_PLR_MASK) + +#define ENET_EIR_UN_MASK (0x80000U) +#define ENET_EIR_UN_SHIFT (19U) +/*! UN - Transmit FIFO Underrun */ +#define ENET_EIR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_UN_SHIFT)) & ENET_EIR_UN_MASK) + +#define ENET_EIR_RL_MASK (0x100000U) +#define ENET_EIR_RL_SHIFT (20U) +/*! RL - Collision Retry Limit */ +#define ENET_EIR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RL_SHIFT)) & ENET_EIR_RL_MASK) + +#define ENET_EIR_LC_MASK (0x200000U) +#define ENET_EIR_LC_SHIFT (21U) +/*! LC - Late Collision */ +#define ENET_EIR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_LC_SHIFT)) & ENET_EIR_LC_MASK) + +#define ENET_EIR_EBERR_MASK (0x400000U) +#define ENET_EIR_EBERR_SHIFT (22U) +/*! EBERR - Ethernet Bus Error */ +#define ENET_EIR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_EBERR_SHIFT)) & ENET_EIR_EBERR_MASK) + +#define ENET_EIR_MII_MASK (0x800000U) +#define ENET_EIR_MII_SHIFT (23U) +/*! MII - MII Interrupt. */ +#define ENET_EIR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_MII_SHIFT)) & ENET_EIR_MII_MASK) + +#define ENET_EIR_RXB_MASK (0x1000000U) +#define ENET_EIR_RXB_SHIFT (24U) +/*! RXB - Receive Buffer Interrupt */ +#define ENET_EIR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB_SHIFT)) & ENET_EIR_RXB_MASK) + +#define ENET_EIR_RXF_MASK (0x2000000U) +#define ENET_EIR_RXF_SHIFT (25U) +/*! RXF - Receive Frame Interrupt */ +#define ENET_EIR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF_SHIFT)) & ENET_EIR_RXF_MASK) + +#define ENET_EIR_TXB_MASK (0x4000000U) +#define ENET_EIR_TXB_SHIFT (26U) +/*! TXB - Transmit Buffer Interrupt */ +#define ENET_EIR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB_SHIFT)) & ENET_EIR_TXB_MASK) + +#define ENET_EIR_TXF_MASK (0x8000000U) +#define ENET_EIR_TXF_SHIFT (27U) +/*! TXF - Transmit Frame Interrupt */ +#define ENET_EIR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF_SHIFT)) & ENET_EIR_TXF_MASK) + +#define ENET_EIR_GRA_MASK (0x10000000U) +#define ENET_EIR_GRA_SHIFT (28U) +/*! GRA - Graceful Stop Complete */ +#define ENET_EIR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_GRA_SHIFT)) & ENET_EIR_GRA_MASK) + +#define ENET_EIR_BABT_MASK (0x20000000U) +#define ENET_EIR_BABT_SHIFT (29U) +/*! BABT - Babbling Transmit Error */ +#define ENET_EIR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABT_SHIFT)) & ENET_EIR_BABT_MASK) + +#define ENET_EIR_BABR_MASK (0x40000000U) +#define ENET_EIR_BABR_SHIFT (30U) +/*! BABR - Babbling Receive Error */ +#define ENET_EIR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABR_SHIFT)) & ENET_EIR_BABR_MASK) +/*! @} */ + +/*! @name EIMR - Interrupt Mask Register */ +/*! @{ */ + +#define ENET_EIMR_RXB1_MASK (0x1U) +#define ENET_EIMR_RXB1_SHIFT (0U) +/*! RXB1 - Receive buffer interrupt, class 1 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB1_SHIFT)) & ENET_EIMR_RXB1_MASK) + +#define ENET_EIMR_RXF1_MASK (0x2U) +#define ENET_EIMR_RXF1_SHIFT (1U) +/*! RXF1 - Receive frame interrupt, class 1 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF1_SHIFT)) & ENET_EIMR_RXF1_MASK) + +#define ENET_EIMR_TXB1_MASK (0x4U) +#define ENET_EIMR_TXB1_SHIFT (2U) +/*! TXB1 - Transmit buffer interrupt, class 1 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_TXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB1_SHIFT)) & ENET_EIMR_TXB1_MASK) + +#define ENET_EIMR_TXF1_MASK (0x8U) +#define ENET_EIMR_TXF1_SHIFT (3U) +/*! TXF1 - Transmit frame interrupt, class 1 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_TXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF1_SHIFT)) & ENET_EIMR_TXF1_MASK) + +#define ENET_EIMR_RXB2_MASK (0x10U) +#define ENET_EIMR_RXB2_SHIFT (4U) +/*! RXB2 - Receive buffer interrupt, class 2 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB2_SHIFT)) & ENET_EIMR_RXB2_MASK) + +#define ENET_EIMR_RXF2_MASK (0x20U) +#define ENET_EIMR_RXF2_SHIFT (5U) +/*! RXF2 - Receive frame interrupt, class 2 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF2_SHIFT)) & ENET_EIMR_RXF2_MASK) + +#define ENET_EIMR_TXB2_MASK (0x40U) +#define ENET_EIMR_TXB2_SHIFT (6U) +/*! TXB2 - Transmit buffer interrupt, class 2 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_TXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB2_SHIFT)) & ENET_EIMR_TXB2_MASK) + +#define ENET_EIMR_TXF2_MASK (0x80U) +#define ENET_EIMR_TXF2_SHIFT (7U) +/*! TXF2 - Transmit frame interrupt, class 2 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_TXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF2_SHIFT)) & ENET_EIMR_TXF2_MASK) + +#define ENET_EIMR_RXFLUSH_0_MASK (0x1000U) +#define ENET_EIMR_RXFLUSH_0_SHIFT (12U) +/*! RXFLUSH_0 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXFLUSH_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_0_SHIFT)) & ENET_EIMR_RXFLUSH_0_MASK) + +#define ENET_EIMR_RXFLUSH_1_MASK (0x2000U) +#define ENET_EIMR_RXFLUSH_1_SHIFT (13U) +/*! RXFLUSH_1 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXFLUSH_1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_1_SHIFT)) & ENET_EIMR_RXFLUSH_1_MASK) + +#define ENET_EIMR_RXFLUSH_2_MASK (0x4000U) +#define ENET_EIMR_RXFLUSH_2_SHIFT (14U) +/*! RXFLUSH_2 + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXFLUSH_2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_2_SHIFT)) & ENET_EIMR_RXFLUSH_2_MASK) + +#define ENET_EIMR_TS_TIMER_MASK (0x8000U) +#define ENET_EIMR_TS_TIMER_SHIFT (15U) +/*! TS_TIMER - TS_TIMER Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_TIMER_SHIFT)) & ENET_EIMR_TS_TIMER_MASK) + +#define ENET_EIMR_TS_AVAIL_MASK (0x10000U) +#define ENET_EIMR_TS_AVAIL_SHIFT (16U) +/*! TS_AVAIL - TS_AVAIL Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_AVAIL_SHIFT)) & ENET_EIMR_TS_AVAIL_MASK) + +#define ENET_EIMR_WAKEUP_MASK (0x20000U) +#define ENET_EIMR_WAKEUP_SHIFT (17U) +/*! WAKEUP - WAKEUP Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_WAKEUP_SHIFT)) & ENET_EIMR_WAKEUP_MASK) + +#define ENET_EIMR_PLR_MASK (0x40000U) +#define ENET_EIMR_PLR_SHIFT (18U) +/*! PLR - PLR Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_PLR_SHIFT)) & ENET_EIMR_PLR_MASK) + +#define ENET_EIMR_UN_MASK (0x80000U) +#define ENET_EIMR_UN_SHIFT (19U) +/*! UN - UN Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_UN_SHIFT)) & ENET_EIMR_UN_MASK) + +#define ENET_EIMR_RL_MASK (0x100000U) +#define ENET_EIMR_RL_SHIFT (20U) +/*! RL - RL Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RL_SHIFT)) & ENET_EIMR_RL_MASK) + +#define ENET_EIMR_LC_MASK (0x200000U) +#define ENET_EIMR_LC_SHIFT (21U) +/*! LC - LC Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_LC_SHIFT)) & ENET_EIMR_LC_MASK) + +#define ENET_EIMR_EBERR_MASK (0x400000U) +#define ENET_EIMR_EBERR_SHIFT (22U) +/*! EBERR - EBERR Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_EBERR_SHIFT)) & ENET_EIMR_EBERR_MASK) + +#define ENET_EIMR_MII_MASK (0x800000U) +#define ENET_EIMR_MII_SHIFT (23U) +/*! MII - MII Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_MII_SHIFT)) & ENET_EIMR_MII_MASK) + +#define ENET_EIMR_RXB_MASK (0x1000000U) +#define ENET_EIMR_RXB_SHIFT (24U) +/*! RXB - RXB Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB_SHIFT)) & ENET_EIMR_RXB_MASK) + +#define ENET_EIMR_RXF_MASK (0x2000000U) +#define ENET_EIMR_RXF_SHIFT (25U) +/*! RXF - RXF Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF_SHIFT)) & ENET_EIMR_RXF_MASK) + +#define ENET_EIMR_TXB_MASK (0x4000000U) +#define ENET_EIMR_TXB_SHIFT (26U) +/*! TXB - TXB Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB_SHIFT)) & ENET_EIMR_TXB_MASK) + +#define ENET_EIMR_TXF_MASK (0x8000000U) +#define ENET_EIMR_TXF_SHIFT (27U) +/*! TXF - TXF Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF_SHIFT)) & ENET_EIMR_TXF_MASK) + +#define ENET_EIMR_GRA_MASK (0x10000000U) +#define ENET_EIMR_GRA_SHIFT (28U) +/*! GRA - GRA Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_GRA_SHIFT)) & ENET_EIMR_GRA_MASK) + +#define ENET_EIMR_BABT_MASK (0x20000000U) +#define ENET_EIMR_BABT_SHIFT (29U) +/*! BABT - BABT Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABT_SHIFT)) & ENET_EIMR_BABT_MASK) + +#define ENET_EIMR_BABR_MASK (0x40000000U) +#define ENET_EIMR_BABR_SHIFT (30U) +/*! BABR - BABR Interrupt Mask + * 0b0..The corresponding interrupt source is masked. + * 0b1..The corresponding interrupt source is not masked. + */ +#define ENET_EIMR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABR_SHIFT)) & ENET_EIMR_BABR_MASK) +/*! @} */ + +/*! @name RDAR - Receive Descriptor Active Register - Ring 0 */ +/*! @{ */ + +#define ENET_RDAR_RDAR_MASK (0x1000000U) +#define ENET_RDAR_RDAR_SHIFT (24U) +/*! RDAR - Receive Descriptor Active */ +#define ENET_RDAR_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR_RDAR_SHIFT)) & ENET_RDAR_RDAR_MASK) +/*! @} */ + +/*! @name TDAR - Transmit Descriptor Active Register - Ring 0 */ +/*! @{ */ + +#define ENET_TDAR_TDAR_MASK (0x1000000U) +#define ENET_TDAR_TDAR_SHIFT (24U) +/*! TDAR - Transmit Descriptor Active */ +#define ENET_TDAR_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR_TDAR_SHIFT)) & ENET_TDAR_TDAR_MASK) +/*! @} */ + +/*! @name ECR - Ethernet Control Register */ +/*! @{ */ + +#define ENET_ECR_RESET_MASK (0x1U) +#define ENET_ECR_RESET_SHIFT (0U) +/*! RESET - Ethernet MAC Reset */ +#define ENET_ECR_RESET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_RESET_SHIFT)) & ENET_ECR_RESET_MASK) + +#define ENET_ECR_ETHEREN_MASK (0x2U) +#define ENET_ECR_ETHEREN_SHIFT (1U) +/*! ETHEREN - Ethernet Enable + * 0b0..Reception immediately stops and transmission stops after a bad CRC is appended to any currently transmitted frame. + * 0b1..MAC is enabled, and reception and transmission are possible. + */ +#define ENET_ECR_ETHEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_ETHEREN_SHIFT)) & ENET_ECR_ETHEREN_MASK) + +#define ENET_ECR_MAGICEN_MASK (0x4U) +#define ENET_ECR_MAGICEN_SHIFT (2U) +/*! MAGICEN - Magic Packet Detection Enable + * 0b0..Magic detection logic disabled. + * 0b1..The MAC core detects magic packets and asserts EIR[WAKEUP] when a frame is detected. + */ +#define ENET_ECR_MAGICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_MAGICEN_SHIFT)) & ENET_ECR_MAGICEN_MASK) + +#define ENET_ECR_SLEEP_MASK (0x8U) +#define ENET_ECR_SLEEP_SHIFT (3U) +/*! SLEEP - Sleep Mode Enable + * 0b0..Normal operating mode. + * 0b1..Sleep mode. + */ +#define ENET_ECR_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SLEEP_SHIFT)) & ENET_ECR_SLEEP_MASK) + +#define ENET_ECR_EN1588_MASK (0x10U) +#define ENET_ECR_EN1588_SHIFT (4U) +/*! EN1588 - EN1588 Enable + * 0b0..Legacy FEC buffer descriptors and functions enabled. + * 0b1..Enhanced frame time-stamping functions enabled. Has no effect within the MAC besides controlling the DMA control bit ena_1588. + */ +#define ENET_ECR_EN1588(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_EN1588_SHIFT)) & ENET_ECR_EN1588_MASK) + +#define ENET_ECR_SPEED_MASK (0x20U) +#define ENET_ECR_SPEED_SHIFT (5U) +/*! SPEED + * 0b0..10/100-Mbit/s mode + * 0b1..1000-Mbit/s mode + */ +#define ENET_ECR_SPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SPEED_SHIFT)) & ENET_ECR_SPEED_MASK) + +#define ENET_ECR_DBGEN_MASK (0x40U) +#define ENET_ECR_DBGEN_SHIFT (6U) +/*! DBGEN - Debug Enable + * 0b0..MAC continues operation in debug mode. + * 0b1..MAC enters hardware freeze mode when the processor is in debug mode. + */ +#define ENET_ECR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBGEN_SHIFT)) & ENET_ECR_DBGEN_MASK) + +#define ENET_ECR_DBSWP_MASK (0x100U) +#define ENET_ECR_DBSWP_SHIFT (8U) +/*! DBSWP - Descriptor Byte Swapping Enable + * 0b0..The buffer descriptor bytes are not swapped to support big-endian devices. + * 0b1..The buffer descriptor bytes are swapped to support little-endian devices. + */ +#define ENET_ECR_DBSWP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBSWP_SHIFT)) & ENET_ECR_DBSWP_MASK) + +#define ENET_ECR_SVLANEN_MASK (0x200U) +#define ENET_ECR_SVLANEN_SHIFT (9U) +/*! SVLANEN - S-VLAN enable + * 0b0..Only the EtherType 0x8100 will be considered for VLAN detection. + * 0b1..The EtherType 0x88a8 will be considered in addition to 0x8100 (C-VLAN) to identify a VLAN frame in + * receive. When a VLAN frame is identified, the two bytes following the VLAN type are extracted and used by the + * classification match comparators, RCMRn. + */ +#define ENET_ECR_SVLANEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SVLANEN_SHIFT)) & ENET_ECR_SVLANEN_MASK) + +#define ENET_ECR_VLANUSE2ND_MASK (0x400U) +#define ENET_ECR_VLANUSE2ND_SHIFT (10U) +/*! VLANUSE2ND - VLAN use second tag + * 0b0..Always extract data from the first VLAN tag if it exists. + * 0b1..When a double-tagged frame is detected, the data of the second tag is extracted for further processing. A + * double-tagged frame is defined as: The first tag can be a C-VLAN or a S-VLAN (if SVLAN_ENA = 1) The + * second tag must be a C-VLAN + */ +#define ENET_ECR_VLANUSE2ND(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_VLANUSE2ND_SHIFT)) & ENET_ECR_VLANUSE2ND_MASK) + +#define ENET_ECR_SVLANDBL_MASK (0x800U) +#define ENET_ECR_SVLANDBL_SHIFT (11U) +/*! SVLANDBL - S-VLAN double tag + * 0b0..Disable S-VLAN double tag + * 0b1..Enable S-VLAN double tag + */ +#define ENET_ECR_SVLANDBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SVLANDBL_SHIFT)) & ENET_ECR_SVLANDBL_MASK) + +#define ENET_ECR_TXC_DLY_MASK (0x10000U) +#define ENET_ECR_TXC_DLY_SHIFT (16U) +/*! TXC_DLY - Transmit clock delay + * 0b0..RGMII_TXC is not delayed. + * 0b1..Generate delayed version of RGMII_TXC. + */ +#define ENET_ECR_TXC_DLY(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_TXC_DLY_SHIFT)) & ENET_ECR_TXC_DLY_MASK) + +#define ENET_ECR_RXC_DLY_MASK (0x20000U) +#define ENET_ECR_RXC_DLY_SHIFT (17U) +/*! RXC_DLY - Receive clock delay + * 0b0..Use non-delayed version of RGMII_RXC. + * 0b1..Use delayed version of RGMII_RXC. + */ +#define ENET_ECR_RXC_DLY(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_RXC_DLY_SHIFT)) & ENET_ECR_RXC_DLY_MASK) +/*! @} */ + +/*! @name MMFR - MII Management Frame Register */ +/*! @{ */ + +#define ENET_MMFR_DATA_MASK (0xFFFFU) +#define ENET_MMFR_DATA_SHIFT (0U) +/*! DATA - Management Frame Data */ +#define ENET_MMFR_DATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_DATA_SHIFT)) & ENET_MMFR_DATA_MASK) + +#define ENET_MMFR_TA_MASK (0x30000U) +#define ENET_MMFR_TA_SHIFT (16U) +/*! TA - Turn Around */ +#define ENET_MMFR_TA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_TA_SHIFT)) & ENET_MMFR_TA_MASK) + +#define ENET_MMFR_RA_MASK (0x7C0000U) +#define ENET_MMFR_RA_SHIFT (18U) +/*! RA - Register Address */ +#define ENET_MMFR_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_RA_SHIFT)) & ENET_MMFR_RA_MASK) + +#define ENET_MMFR_PA_MASK (0xF800000U) +#define ENET_MMFR_PA_SHIFT (23U) +/*! PA - PHY Address */ +#define ENET_MMFR_PA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_PA_SHIFT)) & ENET_MMFR_PA_MASK) + +#define ENET_MMFR_OP_MASK (0x30000000U) +#define ENET_MMFR_OP_SHIFT (28U) +/*! OP - Operation Code */ +#define ENET_MMFR_OP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_OP_SHIFT)) & ENET_MMFR_OP_MASK) + +#define ENET_MMFR_ST_MASK (0xC0000000U) +#define ENET_MMFR_ST_SHIFT (30U) +/*! ST - Start Of Frame Delimiter */ +#define ENET_MMFR_ST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_ST_SHIFT)) & ENET_MMFR_ST_MASK) +/*! @} */ + +/*! @name MSCR - MII Speed Control Register */ +/*! @{ */ + +#define ENET_MSCR_MII_SPEED_MASK (0x7EU) +#define ENET_MSCR_MII_SPEED_SHIFT (1U) +/*! MII_SPEED - MII Speed */ +#define ENET_MSCR_MII_SPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_MII_SPEED_SHIFT)) & ENET_MSCR_MII_SPEED_MASK) + +#define ENET_MSCR_DIS_PRE_MASK (0x80U) +#define ENET_MSCR_DIS_PRE_SHIFT (7U) +/*! DIS_PRE - Disable Preamble + * 0b0..Preamble enabled. + * 0b1..Preamble (32 ones) is not prepended to the MII management frame. + */ +#define ENET_MSCR_DIS_PRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_DIS_PRE_SHIFT)) & ENET_MSCR_DIS_PRE_MASK) + +#define ENET_MSCR_HOLDTIME_MASK (0x700U) +#define ENET_MSCR_HOLDTIME_SHIFT (8U) +/*! HOLDTIME - Hold time On MDIO Output + * 0b000..1 internal module clock cycle + * 0b001..2 internal module clock cycles + * 0b010..3 internal module clock cycles + * 0b111..8 internal module clock cycles + */ +#define ENET_MSCR_HOLDTIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_HOLDTIME_SHIFT)) & ENET_MSCR_HOLDTIME_MASK) +/*! @} */ + +/*! @name MIBC - MIB Control Register */ +/*! @{ */ + +#define ENET_MIBC_MIB_CLEAR_MASK (0x20000000U) +#define ENET_MIBC_MIB_CLEAR_SHIFT (29U) +/*! MIB_CLEAR - MIB Clear + * 0b0..See note above. + * 0b1..All statistics counters are reset to 0. + */ +#define ENET_MIBC_MIB_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_CLEAR_SHIFT)) & ENET_MIBC_MIB_CLEAR_MASK) + +#define ENET_MIBC_MIB_IDLE_MASK (0x40000000U) +#define ENET_MIBC_MIB_IDLE_SHIFT (30U) +/*! MIB_IDLE - MIB Idle + * 0b0..The MIB block is updating MIB counters. + * 0b1..The MIB block is not currently updating any MIB counters. + */ +#define ENET_MIBC_MIB_IDLE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_IDLE_SHIFT)) & ENET_MIBC_MIB_IDLE_MASK) + +#define ENET_MIBC_MIB_DIS_MASK (0x80000000U) +#define ENET_MIBC_MIB_DIS_SHIFT (31U) +/*! MIB_DIS - Disable MIB Logic + * 0b0..MIB logic is enabled. + * 0b1..MIB logic is disabled. The MIB logic halts and does not update any MIB counters. + */ +#define ENET_MIBC_MIB_DIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_DIS_SHIFT)) & ENET_MIBC_MIB_DIS_MASK) +/*! @} */ + +/*! @name RCR - Receive Control Register */ +/*! @{ */ + +#define ENET_RCR_LOOP_MASK (0x1U) +#define ENET_RCR_LOOP_SHIFT (0U) +/*! LOOP - Internal Loopback + * 0b0..Loopback disabled. + * 0b1..Transmitted frames are looped back internal to the device and transmit MII output signals are not asserted. DRT must be cleared. + */ +#define ENET_RCR_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_LOOP_SHIFT)) & ENET_RCR_LOOP_MASK) + +#define ENET_RCR_DRT_MASK (0x2U) +#define ENET_RCR_DRT_SHIFT (1U) +/*! DRT - Disable Receive On Transmit + * 0b0..Receive path operates independently of transmit (i.e., full-duplex mode). Can also be used to monitor transmit activity in half-duplex mode. + * 0b1..Disable reception of frames while transmitting. (Normally used for half-duplex mode.) + */ +#define ENET_RCR_DRT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_DRT_SHIFT)) & ENET_RCR_DRT_MASK) + +#define ENET_RCR_MII_MODE_MASK (0x4U) +#define ENET_RCR_MII_MODE_SHIFT (2U) +/*! MII_MODE - Media Independent Interface Mode + * 0b0..Reserved. + * 0b1..MII or RMII mode, as indicated by the RMII_MODE field. + */ +#define ENET_RCR_MII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MII_MODE_SHIFT)) & ENET_RCR_MII_MODE_MASK) + +#define ENET_RCR_PROM_MASK (0x8U) +#define ENET_RCR_PROM_SHIFT (3U) +/*! PROM - Promiscuous Mode + * 0b0..Disabled. + * 0b1..Enabled. + */ +#define ENET_RCR_PROM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PROM_SHIFT)) & ENET_RCR_PROM_MASK) + +#define ENET_RCR_BC_REJ_MASK (0x10U) +#define ENET_RCR_BC_REJ_SHIFT (4U) +/*! BC_REJ - Broadcast Frame Reject + * 0b0..Will not reject frames as described above + * 0b1..Will reject frames as described above + */ +#define ENET_RCR_BC_REJ(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_BC_REJ_SHIFT)) & ENET_RCR_BC_REJ_MASK) + +#define ENET_RCR_FCE_MASK (0x20U) +#define ENET_RCR_FCE_SHIFT (5U) +/*! FCE - Flow Control Enable + * 0b0..Disable flow control + * 0b1..Enable flow control + */ +#define ENET_RCR_FCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_FCE_SHIFT)) & ENET_RCR_FCE_MASK) + +#define ENET_RCR_RGMII_EN_MASK (0x40U) +#define ENET_RCR_RGMII_EN_SHIFT (6U) +/*! RGMII_EN - RGMII Mode Enable + * 0b0..MAC configured for non-RGMII operation + * 0b1..MAC configured for RGMII operation. If ECR[SPEED] is set, the MAC is in RGMII 1000-Mbit/s mode. If + * ECR[SPEED] is cleared, the MAC is in RGMII 10/100-Mbit/s mode. + */ +#define ENET_RCR_RGMII_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RGMII_EN_SHIFT)) & ENET_RCR_RGMII_EN_MASK) + +#define ENET_RCR_RMII_MODE_MASK (0x100U) +#define ENET_RCR_RMII_MODE_SHIFT (8U) +/*! RMII_MODE - RMII Mode Enable + * 0b0..MAC configured for MII mode. + * 0b1..MAC configured for RMII operation. + */ +#define ENET_RCR_RMII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_MODE_SHIFT)) & ENET_RCR_RMII_MODE_MASK) + +#define ENET_RCR_RMII_10T_MASK (0x200U) +#define ENET_RCR_RMII_10T_SHIFT (9U) +/*! RMII_10T + * 0b0..100-Mbit/s or 1-Gbit/s operation. + * 0b1..10-Mbit/s operation. + */ +#define ENET_RCR_RMII_10T(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_10T_SHIFT)) & ENET_RCR_RMII_10T_MASK) + +#define ENET_RCR_PADEN_MASK (0x1000U) +#define ENET_RCR_PADEN_SHIFT (12U) +/*! PADEN - Enable Frame Padding Remove On Receive + * 0b0..No padding is removed on receive by the MAC. + * 0b1..Padding is removed from received frames. + */ +#define ENET_RCR_PADEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PADEN_SHIFT)) & ENET_RCR_PADEN_MASK) + +#define ENET_RCR_PAUFWD_MASK (0x2000U) +#define ENET_RCR_PAUFWD_SHIFT (13U) +/*! PAUFWD - Terminate/Forward Pause Frames + * 0b0..Pause frames are terminated and discarded in the MAC. + * 0b1..Pause frames are forwarded to the user application. + */ +#define ENET_RCR_PAUFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PAUFWD_SHIFT)) & ENET_RCR_PAUFWD_MASK) + +#define ENET_RCR_CRCFWD_MASK (0x4000U) +#define ENET_RCR_CRCFWD_SHIFT (14U) +/*! CRCFWD - Terminate/Forward Received CRC + * 0b0..The CRC field of received frames is transmitted to the user application. + * 0b1..The CRC field is stripped from the frame. + */ +#define ENET_RCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CRCFWD_SHIFT)) & ENET_RCR_CRCFWD_MASK) + +#define ENET_RCR_CFEN_MASK (0x8000U) +#define ENET_RCR_CFEN_SHIFT (15U) +/*! CFEN - MAC Control Frame Enable + * 0b0..MAC control frames with any opcode other than 0x0001 (pause frame) are accepted and forwarded to the client interface. + * 0b1..MAC control frames with any opcode other than 0x0001 (pause frame) are silently discarded. + */ +#define ENET_RCR_CFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CFEN_SHIFT)) & ENET_RCR_CFEN_MASK) + +#define ENET_RCR_MAX_FL_MASK (0x3FFF0000U) +#define ENET_RCR_MAX_FL_SHIFT (16U) +/*! MAX_FL - Maximum Frame Length */ +#define ENET_RCR_MAX_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MAX_FL_SHIFT)) & ENET_RCR_MAX_FL_MASK) + +#define ENET_RCR_NLC_MASK (0x40000000U) +#define ENET_RCR_NLC_SHIFT (30U) +/*! NLC - Payload Length Check Disable + * 0b0..The payload length check is disabled. + * 0b1..The core checks the frame's payload length with the frame length/type field. Errors are indicated in the EIR[PLR] field. + */ +#define ENET_RCR_NLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_NLC_SHIFT)) & ENET_RCR_NLC_MASK) + +#define ENET_RCR_GRS_MASK (0x80000000U) +#define ENET_RCR_GRS_SHIFT (31U) +/*! GRS - Graceful Receive Stopped + * 0b0..Receive not stopped + * 0b1..Receive stopped + */ +#define ENET_RCR_GRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_GRS_SHIFT)) & ENET_RCR_GRS_MASK) +/*! @} */ + +/*! @name TCR - Transmit Control Register */ +/*! @{ */ + +#define ENET_TCR_GTS_MASK (0x1U) +#define ENET_TCR_GTS_SHIFT (0U) +/*! GTS - Graceful Transmit Stop + * 0b0..Disable graceful transmit stop + * 0b1..Enable graceful transmit stop + */ +#define ENET_TCR_GTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_GTS_SHIFT)) & ENET_TCR_GTS_MASK) + +#define ENET_TCR_FDEN_MASK (0x4U) +#define ENET_TCR_FDEN_SHIFT (2U) +/*! FDEN - Full-Duplex Enable + * 0b0..Disable full-duplex + * 0b1..Enable full-duplex + */ +#define ENET_TCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_FDEN_SHIFT)) & ENET_TCR_FDEN_MASK) + +#define ENET_TCR_TFC_PAUSE_MASK (0x8U) +#define ENET_TCR_TFC_PAUSE_SHIFT (3U) +/*! TFC_PAUSE - Transmit Frame Control Pause + * 0b0..No PAUSE frame transmitted. + * 0b1..The MAC stops transmission of data frames after the current transmission is complete. + */ +#define ENET_TCR_TFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_TFC_PAUSE_SHIFT)) & ENET_TCR_TFC_PAUSE_MASK) + +#define ENET_TCR_RFC_PAUSE_MASK (0x10U) +#define ENET_TCR_RFC_PAUSE_SHIFT (4U) +/*! RFC_PAUSE - Receive Frame Control Pause */ +#define ENET_TCR_RFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_RFC_PAUSE_SHIFT)) & ENET_TCR_RFC_PAUSE_MASK) + +#define ENET_TCR_ADDSEL_MASK (0xE0U) +#define ENET_TCR_ADDSEL_SHIFT (5U) +/*! ADDSEL - Source MAC Address Select On Transmit + * 0b000..Node MAC address programmed on PADDR1/2 registers. + * 0b100..Reserved. + * 0b101..Reserved. + * 0b110..Reserved. + */ +#define ENET_TCR_ADDSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDSEL_SHIFT)) & ENET_TCR_ADDSEL_MASK) + +#define ENET_TCR_ADDINS_MASK (0x100U) +#define ENET_TCR_ADDINS_SHIFT (8U) +/*! ADDINS - Set MAC Address On Transmit + * 0b0..The source MAC address is not modified by the MAC. + * 0b1..The MAC overwrites the source MAC address with the programmed MAC address according to ADDSEL. + */ +#define ENET_TCR_ADDINS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDINS_SHIFT)) & ENET_TCR_ADDINS_MASK) + +#define ENET_TCR_CRCFWD_MASK (0x200U) +#define ENET_TCR_CRCFWD_SHIFT (9U) +/*! CRCFWD - Forward Frame From Application With CRC + * 0b0..TxBD[TC] controls whether the frame has a CRC from the application. + * 0b1..The transmitter does not append any CRC to transmitted frames, as it is expecting a frame with CRC from the application. + */ +#define ENET_TCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_CRCFWD_SHIFT)) & ENET_TCR_CRCFWD_MASK) +/*! @} */ + +/*! @name PALR - Physical Address Lower Register */ +/*! @{ */ + +#define ENET_PALR_PADDR1_MASK (0xFFFFFFFFU) +#define ENET_PALR_PADDR1_SHIFT (0U) +/*! PADDR1 - Pause Address */ +#define ENET_PALR_PADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_PALR_PADDR1_SHIFT)) & ENET_PALR_PADDR1_MASK) +/*! @} */ + +/*! @name PAUR - Physical Address Upper Register */ +/*! @{ */ + +#define ENET_PAUR_TYPE_MASK (0xFFFFU) +#define ENET_PAUR_TYPE_SHIFT (0U) +/*! TYPE - Type Field In PAUSE Frames */ +#define ENET_PAUR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_TYPE_SHIFT)) & ENET_PAUR_TYPE_MASK) + +#define ENET_PAUR_PADDR2_MASK (0xFFFF0000U) +#define ENET_PAUR_PADDR2_SHIFT (16U) +#define ENET_PAUR_PADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_PADDR2_SHIFT)) & ENET_PAUR_PADDR2_MASK) +/*! @} */ + +/*! @name OPD - Opcode/Pause Duration Register */ +/*! @{ */ + +#define ENET_OPD_PAUSE_DUR_MASK (0xFFFFU) +#define ENET_OPD_PAUSE_DUR_SHIFT (0U) +/*! PAUSE_DUR - Pause Duration */ +#define ENET_OPD_PAUSE_DUR(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_PAUSE_DUR_SHIFT)) & ENET_OPD_PAUSE_DUR_MASK) + +#define ENET_OPD_OPCODE_MASK (0xFFFF0000U) +#define ENET_OPD_OPCODE_SHIFT (16U) +/*! OPCODE - Opcode Field In PAUSE Frames */ +#define ENET_OPD_OPCODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_OPCODE_SHIFT)) & ENET_OPD_OPCODE_MASK) +/*! @} */ + +/*! @name TXIC - Transmit Interrupt Coalescing Register */ +/*! @{ */ + +#define ENET_TXIC_ICTT_MASK (0xFFFFU) +#define ENET_TXIC_ICTT_SHIFT (0U) +/*! ICTT - Interrupt coalescing timer threshold */ +#define ENET_TXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICTT_SHIFT)) & ENET_TXIC_ICTT_MASK) + +#define ENET_TXIC_ICFT_MASK (0xFF00000U) +#define ENET_TXIC_ICFT_SHIFT (20U) +/*! ICFT - Interrupt coalescing frame count threshold */ +#define ENET_TXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICFT_SHIFT)) & ENET_TXIC_ICFT_MASK) + +#define ENET_TXIC_ICCS_MASK (0x40000000U) +#define ENET_TXIC_ICCS_SHIFT (30U) +/*! ICCS - Interrupt Coalescing Timer Clock Source Select + * 0b0..Use MII/GMII TX clocks. + * 0b1..Use ENET system clock. + */ +#define ENET_TXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICCS_SHIFT)) & ENET_TXIC_ICCS_MASK) + +#define ENET_TXIC_ICEN_MASK (0x80000000U) +#define ENET_TXIC_ICEN_SHIFT (31U) +/*! ICEN - Interrupt Coalescing Enable + * 0b0..Disable Interrupt coalescing. + * 0b1..Enable Interrupt coalescing. + */ +#define ENET_TXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICEN_SHIFT)) & ENET_TXIC_ICEN_MASK) +/*! @} */ + +/* The count of ENET_TXIC */ +#define ENET_TXIC_COUNT (3U) + +/*! @name RXIC - Receive Interrupt Coalescing Register */ +/*! @{ */ + +#define ENET_RXIC_ICTT_MASK (0xFFFFU) +#define ENET_RXIC_ICTT_SHIFT (0U) +/*! ICTT - Interrupt coalescing timer threshold */ +#define ENET_RXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICTT_SHIFT)) & ENET_RXIC_ICTT_MASK) + +#define ENET_RXIC_ICFT_MASK (0xFF00000U) +#define ENET_RXIC_ICFT_SHIFT (20U) +/*! ICFT - Interrupt coalescing frame count threshold */ +#define ENET_RXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICFT_SHIFT)) & ENET_RXIC_ICFT_MASK) + +#define ENET_RXIC_ICCS_MASK (0x40000000U) +#define ENET_RXIC_ICCS_SHIFT (30U) +/*! ICCS - Interrupt Coalescing Timer Clock Source Select + * 0b0..Use MII/GMII TX clocks. + * 0b1..Use ENET system clock. + */ +#define ENET_RXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICCS_SHIFT)) & ENET_RXIC_ICCS_MASK) + +#define ENET_RXIC_ICEN_MASK (0x80000000U) +#define ENET_RXIC_ICEN_SHIFT (31U) +/*! ICEN - Interrupt Coalescing Enable + * 0b0..Disable Interrupt coalescing. + * 0b1..Enable Interrupt coalescing. + */ +#define ENET_RXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICEN_SHIFT)) & ENET_RXIC_ICEN_MASK) +/*! @} */ + +/* The count of ENET_RXIC */ +#define ENET_RXIC_COUNT (3U) + +/*! @name IAUR - Descriptor Individual Upper Address Register */ +/*! @{ */ + +#define ENET_IAUR_IADDR1_MASK (0xFFFFFFFFU) +#define ENET_IAUR_IADDR1_SHIFT (0U) +#define ENET_IAUR_IADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_IAUR_IADDR1_SHIFT)) & ENET_IAUR_IADDR1_MASK) +/*! @} */ + +/*! @name IALR - Descriptor Individual Lower Address Register */ +/*! @{ */ + +#define ENET_IALR_IADDR2_MASK (0xFFFFFFFFU) +#define ENET_IALR_IADDR2_SHIFT (0U) +#define ENET_IALR_IADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_IALR_IADDR2_SHIFT)) & ENET_IALR_IADDR2_MASK) +/*! @} */ + +/*! @name GAUR - Descriptor Group Upper Address Register */ +/*! @{ */ + +#define ENET_GAUR_GADDR1_MASK (0xFFFFFFFFU) +#define ENET_GAUR_GADDR1_SHIFT (0U) +#define ENET_GAUR_GADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_GAUR_GADDR1_SHIFT)) & ENET_GAUR_GADDR1_MASK) +/*! @} */ + +/*! @name GALR - Descriptor Group Lower Address Register */ +/*! @{ */ + +#define ENET_GALR_GADDR2_MASK (0xFFFFFFFFU) +#define ENET_GALR_GADDR2_SHIFT (0U) +#define ENET_GALR_GADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_GALR_GADDR2_SHIFT)) & ENET_GALR_GADDR2_MASK) +/*! @} */ + +/*! @name TFWR - Transmit FIFO Watermark Register */ +/*! @{ */ + +#define ENET_TFWR_TFWR_MASK (0x3FU) +#define ENET_TFWR_TFWR_SHIFT (0U) +/*! TFWR - Transmit FIFO Write + * 0b000000..64 bytes written. + * 0b000001..64 bytes written. + * 0b000010..128 bytes written. + * 0b000011..192 bytes written. + * 0b111111..4032 bytes written. + */ +#define ENET_TFWR_TFWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_TFWR_SHIFT)) & ENET_TFWR_TFWR_MASK) + +#define ENET_TFWR_STRFWD_MASK (0x100U) +#define ENET_TFWR_STRFWD_SHIFT (8U) +/*! STRFWD - Store And Forward Enable + * 0b0..Reset. The transmission start threshold is programmed in TFWR[TFWR]. + * 0b1..Enabled. + */ +#define ENET_TFWR_STRFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_STRFWD_SHIFT)) & ENET_TFWR_STRFWD_MASK) +/*! @} */ + +/*! @name RDSR1 - Receive Descriptor Ring 1 Start Register */ +/*! @{ */ + +#define ENET_RDSR1_R_DES_START_MASK (0xFFFFFFF8U) +#define ENET_RDSR1_R_DES_START_SHIFT (3U) +#define ENET_RDSR1_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR1_R_DES_START_SHIFT)) & ENET_RDSR1_R_DES_START_MASK) +/*! @} */ + +/*! @name TDSR1 - Transmit Buffer Descriptor Ring 1 Start Register */ +/*! @{ */ + +#define ENET_TDSR1_X_DES_START_MASK (0xFFFFFFF8U) +#define ENET_TDSR1_X_DES_START_SHIFT (3U) +#define ENET_TDSR1_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR1_X_DES_START_SHIFT)) & ENET_TDSR1_X_DES_START_MASK) +/*! @} */ + +/*! @name MRBR1 - Maximum Receive Buffer Size Register - Ring 1 */ +/*! @{ */ + +#define ENET_MRBR1_R_BUF_SIZE_MASK (0x3FF0U) +#define ENET_MRBR1_R_BUF_SIZE_SHIFT (4U) +#define ENET_MRBR1_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR1_R_BUF_SIZE_SHIFT)) & ENET_MRBR1_R_BUF_SIZE_MASK) +/*! @} */ + +/*! @name RDSR2 - Receive Descriptor Ring 2 Start Register */ +/*! @{ */ + +#define ENET_RDSR2_R_DES_START_MASK (0xFFFFFFF8U) +#define ENET_RDSR2_R_DES_START_SHIFT (3U) +#define ENET_RDSR2_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR2_R_DES_START_SHIFT)) & ENET_RDSR2_R_DES_START_MASK) +/*! @} */ + +/*! @name TDSR2 - Transmit Buffer Descriptor Ring 2 Start Register */ +/*! @{ */ + +#define ENET_TDSR2_X_DES_START_MASK (0xFFFFFFF8U) +#define ENET_TDSR2_X_DES_START_SHIFT (3U) +#define ENET_TDSR2_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR2_X_DES_START_SHIFT)) & ENET_TDSR2_X_DES_START_MASK) +/*! @} */ + +/*! @name MRBR2 - Maximum Receive Buffer Size Register - Ring 2 */ +/*! @{ */ + +#define ENET_MRBR2_R_BUF_SIZE_MASK (0x3FF0U) +#define ENET_MRBR2_R_BUF_SIZE_SHIFT (4U) +#define ENET_MRBR2_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR2_R_BUF_SIZE_SHIFT)) & ENET_MRBR2_R_BUF_SIZE_MASK) +/*! @} */ + +/*! @name RDSR - Receive Descriptor Ring 0 Start Register */ +/*! @{ */ + +#define ENET_RDSR_R_DES_START_MASK (0xFFFFFFF8U) +#define ENET_RDSR_R_DES_START_SHIFT (3U) +#define ENET_RDSR_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR_R_DES_START_SHIFT)) & ENET_RDSR_R_DES_START_MASK) +/*! @} */ + +/*! @name TDSR - Transmit Buffer Descriptor Ring 0 Start Register */ +/*! @{ */ + +#define ENET_TDSR_X_DES_START_MASK (0xFFFFFFF8U) +#define ENET_TDSR_X_DES_START_SHIFT (3U) +#define ENET_TDSR_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR_X_DES_START_SHIFT)) & ENET_TDSR_X_DES_START_MASK) +/*! @} */ + +/*! @name MRBR - Maximum Receive Buffer Size Register - Ring 0 */ +/*! @{ */ + +#define ENET_MRBR_R_BUF_SIZE_MASK (0x3FF0U) +#define ENET_MRBR_R_BUF_SIZE_SHIFT (4U) +#define ENET_MRBR_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR_R_BUF_SIZE_SHIFT)) & ENET_MRBR_R_BUF_SIZE_MASK) +/*! @} */ + +/*! @name RSFL - Receive FIFO Section Full Threshold */ +/*! @{ */ + +#define ENET_RSFL_RX_SECTION_FULL_MASK (0x3FFU) +#define ENET_RSFL_RX_SECTION_FULL_SHIFT (0U) +/*! RX_SECTION_FULL - Value Of Receive FIFO Section Full Threshold */ +#define ENET_RSFL_RX_SECTION_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSFL_RX_SECTION_FULL_SHIFT)) & ENET_RSFL_RX_SECTION_FULL_MASK) +/*! @} */ + +/*! @name RSEM - Receive FIFO Section Empty Threshold */ +/*! @{ */ + +#define ENET_RSEM_RX_SECTION_EMPTY_MASK (0x3FFU) +#define ENET_RSEM_RX_SECTION_EMPTY_SHIFT (0U) +/*! RX_SECTION_EMPTY - Value Of The Receive FIFO Section Empty Threshold */ +#define ENET_RSEM_RX_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_RX_SECTION_EMPTY_SHIFT)) & ENET_RSEM_RX_SECTION_EMPTY_MASK) + +#define ENET_RSEM_STAT_SECTION_EMPTY_MASK (0x1F0000U) +#define ENET_RSEM_STAT_SECTION_EMPTY_SHIFT (16U) +/*! STAT_SECTION_EMPTY - RX Status FIFO Section Empty Threshold */ +#define ENET_RSEM_STAT_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_STAT_SECTION_EMPTY_SHIFT)) & ENET_RSEM_STAT_SECTION_EMPTY_MASK) +/*! @} */ + +/*! @name RAEM - Receive FIFO Almost Empty Threshold */ +/*! @{ */ + +#define ENET_RAEM_RX_ALMOST_EMPTY_MASK (0x3FFU) +#define ENET_RAEM_RX_ALMOST_EMPTY_SHIFT (0U) +/*! RX_ALMOST_EMPTY - Value Of The Receive FIFO Almost Empty Threshold */ +#define ENET_RAEM_RX_ALMOST_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RAEM_RX_ALMOST_EMPTY_SHIFT)) & ENET_RAEM_RX_ALMOST_EMPTY_MASK) +/*! @} */ + +/*! @name RAFL - Receive FIFO Almost Full Threshold */ +/*! @{ */ + +#define ENET_RAFL_RX_ALMOST_FULL_MASK (0x3FFU) +#define ENET_RAFL_RX_ALMOST_FULL_SHIFT (0U) +/*! RX_ALMOST_FULL - Value Of The Receive FIFO Almost Full Threshold */ +#define ENET_RAFL_RX_ALMOST_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RAFL_RX_ALMOST_FULL_SHIFT)) & ENET_RAFL_RX_ALMOST_FULL_MASK) +/*! @} */ + +/*! @name TSEM - Transmit FIFO Section Empty Threshold */ +/*! @{ */ + +#define ENET_TSEM_TX_SECTION_EMPTY_MASK (0x3FFU) +#define ENET_TSEM_TX_SECTION_EMPTY_SHIFT (0U) +/*! TX_SECTION_EMPTY - Value Of The Transmit FIFO Section Empty Threshold */ +#define ENET_TSEM_TX_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_TSEM_TX_SECTION_EMPTY_SHIFT)) & ENET_TSEM_TX_SECTION_EMPTY_MASK) +/*! @} */ + +/*! @name TAEM - Transmit FIFO Almost Empty Threshold */ +/*! @{ */ + +#define ENET_TAEM_TX_ALMOST_EMPTY_MASK (0x3FFU) +#define ENET_TAEM_TX_ALMOST_EMPTY_SHIFT (0U) +/*! TX_ALMOST_EMPTY - Value of Transmit FIFO Almost Empty Threshold */ +#define ENET_TAEM_TX_ALMOST_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_TAEM_TX_ALMOST_EMPTY_SHIFT)) & ENET_TAEM_TX_ALMOST_EMPTY_MASK) +/*! @} */ + +/*! @name TAFL - Transmit FIFO Almost Full Threshold */ +/*! @{ */ + +#define ENET_TAFL_TX_ALMOST_FULL_MASK (0x3FFU) +#define ENET_TAFL_TX_ALMOST_FULL_SHIFT (0U) +/*! TX_ALMOST_FULL - Value Of The Transmit FIFO Almost Full Threshold */ +#define ENET_TAFL_TX_ALMOST_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TAFL_TX_ALMOST_FULL_SHIFT)) & ENET_TAFL_TX_ALMOST_FULL_MASK) +/*! @} */ + +/*! @name TIPG - Transmit Inter-Packet Gap */ +/*! @{ */ + +#define ENET_TIPG_IPG_MASK (0x1FU) +#define ENET_TIPG_IPG_SHIFT (0U) +/*! IPG - Transmit Inter-Packet Gap */ +#define ENET_TIPG_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_TIPG_IPG_SHIFT)) & ENET_TIPG_IPG_MASK) +/*! @} */ + +/*! @name FTRL - Frame Truncation Length */ +/*! @{ */ + +#define ENET_FTRL_TRUNC_FL_MASK (0x3FFFU) +#define ENET_FTRL_TRUNC_FL_SHIFT (0U) +/*! TRUNC_FL - Frame Truncation Length */ +#define ENET_FTRL_TRUNC_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_FTRL_TRUNC_FL_SHIFT)) & ENET_FTRL_TRUNC_FL_MASK) +/*! @} */ + +/*! @name TACC - Transmit Accelerator Function Configuration */ +/*! @{ */ + +#define ENET_TACC_SHIFT16_MASK (0x1U) +#define ENET_TACC_SHIFT16_SHIFT (0U) +/*! SHIFT16 - TX FIFO Shift-16 + * 0b0..Disabled. + * 0b1..Indicates to the transmit data FIFO that the written frames contain two additional octets before the + * frame data. This means the actual frame begins at bit 16 of the first word written into the FIFO. This + * function allows putting the frame payload on a 32-bit boundary in memory, as the 14-byte Ethernet header is + * extended to a 16-byte header. + */ +#define ENET_TACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_SHIFT16_SHIFT)) & ENET_TACC_SHIFT16_MASK) + +#define ENET_TACC_IPCHK_MASK (0x8U) +#define ENET_TACC_IPCHK_SHIFT (3U) +/*! IPCHK + * 0b0..Checksum is not inserted. + * 0b1..If an IP frame is transmitted, the checksum is inserted automatically. The IP header checksum field must + * be cleared. If a non-IP frame is transmitted the frame is not modified. + */ +#define ENET_TACC_IPCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_IPCHK_SHIFT)) & ENET_TACC_IPCHK_MASK) + +#define ENET_TACC_PROCHK_MASK (0x10U) +#define ENET_TACC_PROCHK_SHIFT (4U) +/*! PROCHK + * 0b0..Checksum not inserted. + * 0b1..If an IP frame with a known protocol is transmitted, the checksum is inserted automatically into the + * frame. The checksum field must be cleared. The other frames are not modified. + */ +#define ENET_TACC_PROCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_PROCHK_SHIFT)) & ENET_TACC_PROCHK_MASK) +/*! @} */ + +/*! @name RACC - Receive Accelerator Function Configuration */ +/*! @{ */ + +#define ENET_RACC_PADREM_MASK (0x1U) +#define ENET_RACC_PADREM_SHIFT (0U) +/*! PADREM - Enable Padding Removal For Short IP Frames + * 0b0..Padding not removed. + * 0b1..Any bytes following the IP payload section of the frame are removed from the frame. + */ +#define ENET_RACC_PADREM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PADREM_SHIFT)) & ENET_RACC_PADREM_MASK) + +#define ENET_RACC_IPDIS_MASK (0x2U) +#define ENET_RACC_IPDIS_SHIFT (1U) +/*! IPDIS - Enable Discard Of Frames With Wrong IPv4 Header Checksum + * 0b0..Frames with wrong IPv4 header checksum are not discarded. + * 0b1..If an IPv4 frame is received with a mismatching header checksum, the frame is discarded. IPv6 has no + * header checksum and is not affected by this setting. Discarding is only available when the RX FIFO operates in + * store and forward mode (RSFL cleared). + */ +#define ENET_RACC_IPDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_IPDIS_SHIFT)) & ENET_RACC_IPDIS_MASK) + +#define ENET_RACC_PRODIS_MASK (0x4U) +#define ENET_RACC_PRODIS_SHIFT (2U) +/*! PRODIS - Enable Discard Of Frames With Wrong Protocol Checksum + * 0b0..Frames with wrong checksum are not discarded. + * 0b1..If a TCP/IP, UDP/IP, or ICMP/IP frame is received that has a wrong TCP, UDP, or ICMP checksum, the frame + * is discarded. Discarding is only available when the RX FIFO operates in store and forward mode (RSFL + * cleared). + */ +#define ENET_RACC_PRODIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PRODIS_SHIFT)) & ENET_RACC_PRODIS_MASK) + +#define ENET_RACC_LINEDIS_MASK (0x40U) +#define ENET_RACC_LINEDIS_SHIFT (6U) +/*! LINEDIS - Enable Discard Of Frames With MAC Layer Errors + * 0b0..Frames with errors are not discarded. + * 0b1..Any frame received with a CRC, length, or PHY error is automatically discarded and not forwarded to the user application interface. + */ +#define ENET_RACC_LINEDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_LINEDIS_SHIFT)) & ENET_RACC_LINEDIS_MASK) + +#define ENET_RACC_SHIFT16_MASK (0x80U) +#define ENET_RACC_SHIFT16_SHIFT (7U) +/*! SHIFT16 - RX FIFO Shift-16 + * 0b0..Disabled. + * 0b1..Instructs the MAC to write two additional bytes in front of each frame received into the RX FIFO. + */ +#define ENET_RACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_SHIFT16_SHIFT)) & ENET_RACC_SHIFT16_MASK) +/*! @} */ + +/*! @name RCMR - Receive Classification Match Register for Class n */ +/*! @{ */ + +#define ENET_RCMR_CMP0_MASK (0x7U) +#define ENET_RCMR_CMP0_SHIFT (0U) +/*! CMP0 - Compare 0 */ +#define ENET_RCMR_CMP0(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP0_SHIFT)) & ENET_RCMR_CMP0_MASK) + +#define ENET_RCMR_CMP1_MASK (0x70U) +#define ENET_RCMR_CMP1_SHIFT (4U) +/*! CMP1 - Compare 1 */ +#define ENET_RCMR_CMP1(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP1_SHIFT)) & ENET_RCMR_CMP1_MASK) + +#define ENET_RCMR_CMP2_MASK (0x700U) +#define ENET_RCMR_CMP2_SHIFT (8U) +/*! CMP2 - Compare 2 */ +#define ENET_RCMR_CMP2(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP2_SHIFT)) & ENET_RCMR_CMP2_MASK) + +#define ENET_RCMR_CMP3_MASK (0x7000U) +#define ENET_RCMR_CMP3_SHIFT (12U) +/*! CMP3 - Compare 3 */ +#define ENET_RCMR_CMP3(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP3_SHIFT)) & ENET_RCMR_CMP3_MASK) + +#define ENET_RCMR_MATCHEN_MASK (0x10000U) +#define ENET_RCMR_MATCHEN_SHIFT (16U) +/*! MATCHEN - Match Enable + * 0b0..Disabled (default): no compares will occur and the classification indicator for this class will never assert. + * 0b1..The register contents are valid and a comparison with all compare values is done when a VLAN frame is received. + */ +#define ENET_RCMR_MATCHEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_MATCHEN_SHIFT)) & ENET_RCMR_MATCHEN_MASK) +/*! @} */ + +/* The count of ENET_RCMR */ +#define ENET_RCMR_COUNT (2U) + +/*! @name DMACFG - DMA Class Based Configuration */ +/*! @{ */ + +#define ENET_DMACFG_IDLE_SLOPE_MASK (0xFFFFU) +#define ENET_DMACFG_IDLE_SLOPE_SHIFT (0U) +/*! IDLE_SLOPE - Idle slope */ +#define ENET_DMACFG_IDLE_SLOPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_IDLE_SLOPE_SHIFT)) & ENET_DMACFG_IDLE_SLOPE_MASK) + +#define ENET_DMACFG_DMA_CLASS_EN_MASK (0x10000U) +#define ENET_DMACFG_DMA_CLASS_EN_SHIFT (16U) +/*! DMA_CLASS_EN - DMA class enable + * 0b0..The DMA controller's channel for the class is not used. Disabling the DMA controller of a class also + * requires disabling the class match comparator for the class (see registers RCMRn). When class 1 and class 2 + * queues are disabled then their frames will be placed in queue 0. + * 0b1..Enable the DMA controller to support the corresponding descriptor ring for this class of traffic. + */ +#define ENET_DMACFG_DMA_CLASS_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_DMA_CLASS_EN_SHIFT)) & ENET_DMACFG_DMA_CLASS_EN_MASK) + +#define ENET_DMACFG_CALC_NOIPG_MASK (0x20000U) +#define ENET_DMACFG_CALC_NOIPG_SHIFT (17U) +/*! CALC_NOIPG - Calculate no IPG + * 0b0..The traffic shaper function should consider 12 octets of IPG in addition to the frame data transferred + * for a frame when doing bandwidth calculations. This is the default. + * 0b1..Addition of 12 bytes for the IPG should be omitted when calculating the bandwidth (for traffic shaping, + * when writing a frame into the transmit FIFO, the shaper will usually consider 12 bytes of IPG for every + * frame as part of the bandwidth allocated by the frame. This addition can be suppressed, meaning short frames + * will become more bandwidth than large frames due to the relation of data to IPG overhead). + */ +#define ENET_DMACFG_CALC_NOIPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_CALC_NOIPG_SHIFT)) & ENET_DMACFG_CALC_NOIPG_MASK) +/*! @} */ + +/* The count of ENET_DMACFG */ +#define ENET_DMACFG_COUNT (2U) + +/*! @name RDAR1 - Receive Descriptor Active Register - Ring 1 */ +/*! @{ */ + +#define ENET_RDAR1_RDAR_MASK (0x1000000U) +#define ENET_RDAR1_RDAR_SHIFT (24U) +/*! RDAR - Receive Descriptor Active */ +#define ENET_RDAR1_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR1_RDAR_SHIFT)) & ENET_RDAR1_RDAR_MASK) +/*! @} */ + +/*! @name TDAR1 - Transmit Descriptor Active Register - Ring 1 */ +/*! @{ */ + +#define ENET_TDAR1_TDAR_MASK (0x1000000U) +#define ENET_TDAR1_TDAR_SHIFT (24U) +/*! TDAR - Transmit Descriptor Active */ +#define ENET_TDAR1_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR1_TDAR_SHIFT)) & ENET_TDAR1_TDAR_MASK) +/*! @} */ + +/*! @name RDAR2 - Receive Descriptor Active Register - Ring 2 */ +/*! @{ */ + +#define ENET_RDAR2_RDAR_MASK (0x1000000U) +#define ENET_RDAR2_RDAR_SHIFT (24U) +/*! RDAR - Receive Descriptor Active */ +#define ENET_RDAR2_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR2_RDAR_SHIFT)) & ENET_RDAR2_RDAR_MASK) +/*! @} */ + +/*! @name TDAR2 - Transmit Descriptor Active Register - Ring 2 */ +/*! @{ */ + +#define ENET_TDAR2_TDAR_MASK (0x1000000U) +#define ENET_TDAR2_TDAR_SHIFT (24U) +/*! TDAR - Transmit Descriptor Active */ +#define ENET_TDAR2_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR2_TDAR_SHIFT)) & ENET_TDAR2_TDAR_MASK) +/*! @} */ + +/*! @name QOS - QOS Scheme */ +/*! @{ */ + +#define ENET_QOS_TX_SCHEME_MASK (0x7U) +#define ENET_QOS_TX_SCHEME_SHIFT (0U) +/*! TX_SCHEME - TX scheme configuration + * 0b000..Credit-based scheme + * 0b001..Round-robin scheme + * 0b010-0b111..Reserved + */ +#define ENET_QOS_TX_SCHEME(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_TX_SCHEME_SHIFT)) & ENET_QOS_TX_SCHEME_MASK) + +#define ENET_QOS_RX_FLUSH0_MASK (0x8U) +#define ENET_QOS_RX_FLUSH0_SHIFT (3U) +/*! RX_FLUSH0 - RX Flush Ring 0 + * 0b0..Disable + * 0b1..Enable + */ +#define ENET_QOS_RX_FLUSH0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH0_SHIFT)) & ENET_QOS_RX_FLUSH0_MASK) + +#define ENET_QOS_RX_FLUSH1_MASK (0x10U) +#define ENET_QOS_RX_FLUSH1_SHIFT (4U) +/*! RX_FLUSH1 - RX Flush Ring 1 + * 0b0..Disable + * 0b1..Enable + */ +#define ENET_QOS_RX_FLUSH1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH1_SHIFT)) & ENET_QOS_RX_FLUSH1_MASK) + +#define ENET_QOS_RX_FLUSH2_MASK (0x20U) +#define ENET_QOS_RX_FLUSH2_SHIFT (5U) +/*! RX_FLUSH2 - RX Flush Ring 2 + * 0b0..Disable + * 0b1..Enable + */ +#define ENET_QOS_RX_FLUSH2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH2_SHIFT)) & ENET_QOS_RX_FLUSH2_MASK) +/*! @} */ + +/*! @name RMON_T_PACKETS - Tx Packet Count Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_PACKETS_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_PACKETS_TXPKTS_SHIFT (0U) +/*! TXPKTS - Packet count */ +#define ENET_RMON_T_PACKETS_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_PACKETS_TXPKTS_SHIFT)) & ENET_RMON_T_PACKETS_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_BC_PKT - Tx Broadcast Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_BC_PKT_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_BC_PKT_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of broadcast packets */ +#define ENET_RMON_T_BC_PKT_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_BC_PKT_TXPKTS_SHIFT)) & ENET_RMON_T_BC_PKT_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_MC_PKT - Tx Multicast Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_MC_PKT_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_MC_PKT_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of multicast packets */ +#define ENET_RMON_T_MC_PKT_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_MC_PKT_TXPKTS_SHIFT)) & ENET_RMON_T_MC_PKT_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_CRC_ALIGN - Tx Packets with CRC/Align Error Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_CRC_ALIGN_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_CRC_ALIGN_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of packets with CRC/align error */ +#define ENET_RMON_T_CRC_ALIGN_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_CRC_ALIGN_TXPKTS_SHIFT)) & ENET_RMON_T_CRC_ALIGN_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_UNDERSIZE - Tx Packets Less Than Bytes and Good CRC Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_UNDERSIZE_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of transmit packets less than 64 bytes with good CRC */ +#define ENET_RMON_T_UNDERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_UNDERSIZE_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_OVERSIZE - Tx Packets GT MAX_FL bytes and Good CRC Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_OVERSIZE_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of transmit packets greater than MAX_FL bytes with good CRC */ +#define ENET_RMON_T_OVERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_OVERSIZE_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_FRAG - Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_FRAG_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_FRAG_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of packets less than 64 bytes with bad CRC */ +#define ENET_RMON_T_FRAG_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_FRAG_TXPKTS_SHIFT)) & ENET_RMON_T_FRAG_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_JAB - Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_JAB_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_JAB_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of transmit packets greater than MAX_FL bytes and bad CRC */ +#define ENET_RMON_T_JAB_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_JAB_TXPKTS_SHIFT)) & ENET_RMON_T_JAB_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_COL - Tx Collision Count Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_COL_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_COL_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of transmit collisions */ +#define ENET_RMON_T_COL_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_COL_TXPKTS_SHIFT)) & ENET_RMON_T_COL_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_P64 - Tx 64-Byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_P64_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_P64_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of 64-byte transmit packets */ +#define ENET_RMON_T_P64_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P64_TXPKTS_SHIFT)) & ENET_RMON_T_P64_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_P65TO127 - Tx 65- to 127-byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_P65TO127_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_P65TO127_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of 65- to 127-byte transmit packets */ +#define ENET_RMON_T_P65TO127_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P65TO127_TXPKTS_SHIFT)) & ENET_RMON_T_P65TO127_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_P128TO255 - Tx 128- to 255-byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_P128TO255_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_P128TO255_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of 128- to 255-byte transmit packets */ +#define ENET_RMON_T_P128TO255_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P128TO255_TXPKTS_SHIFT)) & ENET_RMON_T_P128TO255_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_P256TO511 - Tx 256- to 511-byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_P256TO511_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_P256TO511_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of 256- to 511-byte transmit packets */ +#define ENET_RMON_T_P256TO511_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P256TO511_TXPKTS_SHIFT)) & ENET_RMON_T_P256TO511_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_P512TO1023 - Tx 512- to 1023-byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_P512TO1023_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_P512TO1023_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of 512- to 1023-byte transmit packets */ +#define ENET_RMON_T_P512TO1023_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P512TO1023_TXPKTS_SHIFT)) & ENET_RMON_T_P512TO1023_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_P1024TO2047 - Tx 1024- to 2047-byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_P1024TO2047_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of 1024- to 2047-byte transmit packets */ +#define ENET_RMON_T_P1024TO2047_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT)) & ENET_RMON_T_P1024TO2047_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_P_GTE2048 - Tx Packets Greater Than 2048 Bytes Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_P_GTE2048_TXPKTS_MASK (0xFFFFU) +#define ENET_RMON_T_P_GTE2048_TXPKTS_SHIFT (0U) +/*! TXPKTS - Number of transmit packets greater than 2048 bytes */ +#define ENET_RMON_T_P_GTE2048_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P_GTE2048_TXPKTS_SHIFT)) & ENET_RMON_T_P_GTE2048_TXPKTS_MASK) +/*! @} */ + +/*! @name RMON_T_OCTETS - Tx Octets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_T_OCTETS_TXOCTS_MASK (0xFFFFFFFFU) +#define ENET_RMON_T_OCTETS_TXOCTS_SHIFT (0U) +/*! TXOCTS - Number of transmit octets */ +#define ENET_RMON_T_OCTETS_TXOCTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OCTETS_TXOCTS_SHIFT)) & ENET_RMON_T_OCTETS_TXOCTS_MASK) +/*! @} */ + +/*! @name IEEE_T_FRAME_OK - Frames Transmitted OK Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_FRAME_OK_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_FRAME_OK_COUNT_SHIFT (0U) +/*! COUNT - Number of frames transmitted OK */ +#define ENET_IEEE_T_FRAME_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_FRAME_OK_COUNT_SHIFT)) & ENET_IEEE_T_FRAME_OK_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_1COL - Frames Transmitted with Single Collision Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_1COL_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_1COL_COUNT_SHIFT (0U) +/*! COUNT - Number of frames transmitted with one collision */ +#define ENET_IEEE_T_1COL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_1COL_COUNT_SHIFT)) & ENET_IEEE_T_1COL_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_MCOL - Frames Transmitted with Multiple Collisions Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_MCOL_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_MCOL_COUNT_SHIFT (0U) +/*! COUNT - Number of frames transmitted with multiple collisions */ +#define ENET_IEEE_T_MCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MCOL_COUNT_SHIFT)) & ENET_IEEE_T_MCOL_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_DEF - Frames Transmitted after Deferral Delay Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_DEF_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_DEF_COUNT_SHIFT (0U) +/*! COUNT - Number of frames transmitted with deferral delay */ +#define ENET_IEEE_T_DEF_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_DEF_COUNT_SHIFT)) & ENET_IEEE_T_DEF_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_LCOL - Frames Transmitted with Late Collision Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_LCOL_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_LCOL_COUNT_SHIFT (0U) +/*! COUNT - Number of frames transmitted with late collision */ +#define ENET_IEEE_T_LCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_LCOL_COUNT_SHIFT)) & ENET_IEEE_T_LCOL_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_EXCOL - Frames Transmitted with Excessive Collisions Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_EXCOL_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_EXCOL_COUNT_SHIFT (0U) +/*! COUNT - Number of frames transmitted with excessive collisions */ +#define ENET_IEEE_T_EXCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_EXCOL_COUNT_SHIFT)) & ENET_IEEE_T_EXCOL_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_MACERR - Frames Transmitted with Tx FIFO Underrun Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_MACERR_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_MACERR_COUNT_SHIFT (0U) +/*! COUNT - Number of frames transmitted with transmit FIFO underrun */ +#define ENET_IEEE_T_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MACERR_COUNT_SHIFT)) & ENET_IEEE_T_MACERR_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_CSERR - Frames Transmitted with Carrier Sense Error Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_CSERR_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_CSERR_COUNT_SHIFT (0U) +/*! COUNT - Number of frames transmitted with carrier sense error */ +#define ENET_IEEE_T_CSERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_CSERR_COUNT_SHIFT)) & ENET_IEEE_T_CSERR_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_SQE - Reserved Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_SQE_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_SQE_COUNT_SHIFT (0U) +/*! COUNT - This read-only field is reserved and always has the value 0 */ +#define ENET_IEEE_T_SQE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_SQE_COUNT_SHIFT)) & ENET_IEEE_T_SQE_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_FDXFC - Flow Control Pause Frames Transmitted Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_FDXFC_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_T_FDXFC_COUNT_SHIFT (0U) +/*! COUNT - Number of flow-control pause frames transmitted */ +#define ENET_IEEE_T_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_FDXFC_COUNT_SHIFT)) & ENET_IEEE_T_FDXFC_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_T_OCTETS_OK - Octet Count for Frames Transmitted w/o Error Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_T_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU) +#define ENET_IEEE_T_OCTETS_OK_COUNT_SHIFT (0U) +/*! COUNT - Octet count for frames transmitted without error Counts total octets (includes header and FCS fields). */ +#define ENET_IEEE_T_OCTETS_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_OCTETS_OK_COUNT_SHIFT)) & ENET_IEEE_T_OCTETS_OK_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_PACKETS - Rx Packet Count Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_PACKETS_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_PACKETS_COUNT_SHIFT (0U) +/*! COUNT - Number of packets received */ +#define ENET_RMON_R_PACKETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_PACKETS_COUNT_SHIFT)) & ENET_RMON_R_PACKETS_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_BC_PKT - Rx Broadcast Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_BC_PKT_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_BC_PKT_COUNT_SHIFT (0U) +/*! COUNT - Number of receive broadcast packets */ +#define ENET_RMON_R_BC_PKT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_BC_PKT_COUNT_SHIFT)) & ENET_RMON_R_BC_PKT_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_MC_PKT - Rx Multicast Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_MC_PKT_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_MC_PKT_COUNT_SHIFT (0U) +/*! COUNT - Number of receive multicast packets */ +#define ENET_RMON_R_MC_PKT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_MC_PKT_COUNT_SHIFT)) & ENET_RMON_R_MC_PKT_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_CRC_ALIGN - Rx Packets with CRC/Align Error Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_CRC_ALIGN_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_CRC_ALIGN_COUNT_SHIFT (0U) +/*! COUNT - Number of receive packets with CRC or align error */ +#define ENET_RMON_R_CRC_ALIGN_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_CRC_ALIGN_COUNT_SHIFT)) & ENET_RMON_R_CRC_ALIGN_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_UNDERSIZE - Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_UNDERSIZE_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_UNDERSIZE_COUNT_SHIFT (0U) +/*! COUNT - Number of receive packets with less than 64 bytes and good CRC */ +#define ENET_RMON_R_UNDERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_UNDERSIZE_COUNT_SHIFT)) & ENET_RMON_R_UNDERSIZE_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_OVERSIZE - Rx Packets Greater Than MAX_FL and Good CRC Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_OVERSIZE_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_OVERSIZE_COUNT_SHIFT (0U) +/*! COUNT - Number of receive packets greater than MAX_FL and good CRC */ +#define ENET_RMON_R_OVERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OVERSIZE_COUNT_SHIFT)) & ENET_RMON_R_OVERSIZE_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_FRAG - Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_FRAG_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_FRAG_COUNT_SHIFT (0U) +/*! COUNT - Number of receive packets with less than 64 bytes and bad CRC */ +#define ENET_RMON_R_FRAG_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_FRAG_COUNT_SHIFT)) & ENET_RMON_R_FRAG_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_JAB - Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_JAB_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_JAB_COUNT_SHIFT (0U) +/*! COUNT - Number of receive packets greater than MAX_FL and bad CRC */ +#define ENET_RMON_R_JAB_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_JAB_COUNT_SHIFT)) & ENET_RMON_R_JAB_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_P64 - Rx 64-Byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_P64_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_P64_COUNT_SHIFT (0U) +/*! COUNT - Number of 64-byte receive packets */ +#define ENET_RMON_R_P64_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P64_COUNT_SHIFT)) & ENET_RMON_R_P64_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_P65TO127 - Rx 65- to 127-Byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_P65TO127_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_P65TO127_COUNT_SHIFT (0U) +/*! COUNT - Number of 65- to 127-byte receive packets */ +#define ENET_RMON_R_P65TO127_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P65TO127_COUNT_SHIFT)) & ENET_RMON_R_P65TO127_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_P128TO255 - Rx 128- to 255-Byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_P128TO255_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_P128TO255_COUNT_SHIFT (0U) +/*! COUNT - Number of 128- to 255-byte receive packets */ +#define ENET_RMON_R_P128TO255_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P128TO255_COUNT_SHIFT)) & ENET_RMON_R_P128TO255_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_P256TO511 - Rx 256- to 511-Byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_P256TO511_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_P256TO511_COUNT_SHIFT (0U) +/*! COUNT - Number of 256- to 511-byte receive packets */ +#define ENET_RMON_R_P256TO511_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P256TO511_COUNT_SHIFT)) & ENET_RMON_R_P256TO511_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_P512TO1023 - Rx 512- to 1023-Byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_P512TO1023_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_P512TO1023_COUNT_SHIFT (0U) +/*! COUNT - Number of 512- to 1023-byte receive packets */ +#define ENET_RMON_R_P512TO1023_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P512TO1023_COUNT_SHIFT)) & ENET_RMON_R_P512TO1023_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_P1024TO2047 - Rx 1024- to 2047-Byte Packets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_P1024TO2047_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_P1024TO2047_COUNT_SHIFT (0U) +/*! COUNT - Number of 1024- to 2047-byte receive packets */ +#define ENET_RMON_R_P1024TO2047_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P1024TO2047_COUNT_SHIFT)) & ENET_RMON_R_P1024TO2047_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_P_GTE2048 - Rx Packets Greater than 2048 Bytes Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_P_GTE2048_COUNT_MASK (0xFFFFU) +#define ENET_RMON_R_P_GTE2048_COUNT_SHIFT (0U) +/*! COUNT - Number of greater-than-2048-byte receive packets */ +#define ENET_RMON_R_P_GTE2048_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P_GTE2048_COUNT_SHIFT)) & ENET_RMON_R_P_GTE2048_COUNT_MASK) +/*! @} */ + +/*! @name RMON_R_OCTETS - Rx Octets Statistic Register */ +/*! @{ */ + +#define ENET_RMON_R_OCTETS_COUNT_MASK (0xFFFFFFFFU) +#define ENET_RMON_R_OCTETS_COUNT_SHIFT (0U) +/*! COUNT - Number of receive octets */ +#define ENET_RMON_R_OCTETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OCTETS_COUNT_SHIFT)) & ENET_RMON_R_OCTETS_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_R_DROP - Frames not Counted Correctly Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_R_DROP_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_R_DROP_COUNT_SHIFT (0U) +/*! COUNT - Frame count */ +#define ENET_IEEE_R_DROP_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_DROP_COUNT_SHIFT)) & ENET_IEEE_R_DROP_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_R_FRAME_OK - Frames Received OK Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_R_FRAME_OK_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_R_FRAME_OK_COUNT_SHIFT (0U) +/*! COUNT - Number of frames received OK */ +#define ENET_IEEE_R_FRAME_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_FRAME_OK_COUNT_SHIFT)) & ENET_IEEE_R_FRAME_OK_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_R_CRC - Frames Received with CRC Error Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_R_CRC_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_R_CRC_COUNT_SHIFT (0U) +/*! COUNT - Number of frames received with CRC error */ +#define ENET_IEEE_R_CRC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_CRC_COUNT_SHIFT)) & ENET_IEEE_R_CRC_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_R_ALIGN - Frames Received with Alignment Error Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_R_ALIGN_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_R_ALIGN_COUNT_SHIFT (0U) +/*! COUNT - Number of frames received with alignment error */ +#define ENET_IEEE_R_ALIGN_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_ALIGN_COUNT_SHIFT)) & ENET_IEEE_R_ALIGN_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_R_MACERR - Receive FIFO Overflow Count Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_R_MACERR_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_R_MACERR_COUNT_SHIFT (0U) +/*! COUNT - Receive FIFO overflow count */ +#define ENET_IEEE_R_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_MACERR_COUNT_SHIFT)) & ENET_IEEE_R_MACERR_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_R_FDXFC - Flow Control Pause Frames Received Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_R_FDXFC_COUNT_MASK (0xFFFFU) +#define ENET_IEEE_R_FDXFC_COUNT_SHIFT (0U) +/*! COUNT - Number of flow-control pause frames received */ +#define ENET_IEEE_R_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_FDXFC_COUNT_SHIFT)) & ENET_IEEE_R_FDXFC_COUNT_MASK) +/*! @} */ + +/*! @name IEEE_R_OCTETS_OK - Octet Count for Frames Received without Error Statistic Register */ +/*! @{ */ + +#define ENET_IEEE_R_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU) +#define ENET_IEEE_R_OCTETS_OK_COUNT_SHIFT (0U) +/*! COUNT - Number of octets for frames received without error */ +#define ENET_IEEE_R_OCTETS_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_OCTETS_OK_COUNT_SHIFT)) & ENET_IEEE_R_OCTETS_OK_COUNT_MASK) +/*! @} */ + +/*! @name ATCR - Adjustable Timer Control Register */ +/*! @{ */ + +#define ENET_ATCR_EN_MASK (0x1U) +#define ENET_ATCR_EN_SHIFT (0U) +/*! EN - Enable Timer + * 0b0..The timer stops at the current value. + * 0b1..The timer starts incrementing. + */ +#define ENET_ATCR_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_EN_SHIFT)) & ENET_ATCR_EN_MASK) + +#define ENET_ATCR_OFFEN_MASK (0x4U) +#define ENET_ATCR_OFFEN_SHIFT (2U) +/*! OFFEN - Enable One-Shot Offset Event + * 0b0..Disable. + * 0b1..The timer can be reset to zero when the given offset time is reached (offset event). The field is cleared + * when the offset event is reached, so no further event occurs until the field is set again. The timer + * offset value must be set before setting this field. + */ +#define ENET_ATCR_OFFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFEN_SHIFT)) & ENET_ATCR_OFFEN_MASK) + +#define ENET_ATCR_OFFRST_MASK (0x8U) +#define ENET_ATCR_OFFRST_SHIFT (3U) +/*! OFFRST - Reset Timer On Offset Event + * 0b0..The timer is not affected and no action occurs, besides clearing OFFEN, when the offset is reached. + * 0b1..If OFFEN is set, the timer resets to zero when the offset setting is reached. The offset event does not cause a timer interrupt. + */ +#define ENET_ATCR_OFFRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFRST_SHIFT)) & ENET_ATCR_OFFRST_MASK) + +#define ENET_ATCR_PEREN_MASK (0x10U) +#define ENET_ATCR_PEREN_SHIFT (4U) +/*! PEREN - Enable Periodical Event + * 0b0..Disable. + * 0b1..A period event interrupt can be generated (EIR[TS_TIMER]) and the event signal output is asserted when + * the timer wraps around according to the periodic setting ATPER. The timer period value must be set before + * setting this bit. Not all devices contain the event signal output. See the chip configuration details. + */ +#define ENET_ATCR_PEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PEREN_SHIFT)) & ENET_ATCR_PEREN_MASK) + +#define ENET_ATCR_PINPER_MASK (0x80U) +#define ENET_ATCR_PINPER_SHIFT (7U) +/*! PINPER - Enables event signal output external pin frc_evt_period assertion on period event + * 0b0..Disable. + * 0b1..Enable. + */ +#define ENET_ATCR_PINPER(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PINPER_SHIFT)) & ENET_ATCR_PINPER_MASK) + +#define ENET_ATCR_RESTART_MASK (0x200U) +#define ENET_ATCR_RESTART_SHIFT (9U) +/*! RESTART - Reset Timer */ +#define ENET_ATCR_RESTART(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_RESTART_SHIFT)) & ENET_ATCR_RESTART_MASK) + +#define ENET_ATCR_CAPTURE_MASK (0x800U) +#define ENET_ATCR_CAPTURE_SHIFT (11U) +/*! CAPTURE - Capture Timer Value + * 0b0..No effect. + * 0b1..The current time is captured and can be read from the ATVR register. + */ +#define ENET_ATCR_CAPTURE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_CAPTURE_SHIFT)) & ENET_ATCR_CAPTURE_MASK) + +#define ENET_ATCR_SLAVE_MASK (0x2000U) +#define ENET_ATCR_SLAVE_SHIFT (13U) +/*! SLAVE - Enable Timer Slave Mode + * 0b0..The timer is active and all configuration fields in this register are relevant. + * 0b1..The internal timer is disabled and the externally provided timer value is used. All other fields, except + * CAPTURE, in this register have no effect. CAPTURE can still be used to capture the current timer value. + */ +#define ENET_ATCR_SLAVE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_SLAVE_SHIFT)) & ENET_ATCR_SLAVE_MASK) +/*! @} */ + +/*! @name ATVR - Timer Value Register */ +/*! @{ */ + +#define ENET_ATVR_ATIME_MASK (0xFFFFFFFFU) +#define ENET_ATVR_ATIME_SHIFT (0U) +#define ENET_ATVR_ATIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATVR_ATIME_SHIFT)) & ENET_ATVR_ATIME_MASK) +/*! @} */ + +/*! @name ATOFF - Timer Offset Register */ +/*! @{ */ + +#define ENET_ATOFF_OFFSET_MASK (0xFFFFFFFFU) +#define ENET_ATOFF_OFFSET_SHIFT (0U) +#define ENET_ATOFF_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATOFF_OFFSET_SHIFT)) & ENET_ATOFF_OFFSET_MASK) +/*! @} */ + +/*! @name ATPER - Timer Period Register */ +/*! @{ */ + +#define ENET_ATPER_PERIOD_MASK (0xFFFFFFFFU) +#define ENET_ATPER_PERIOD_SHIFT (0U) +/*! PERIOD - Value for generating periodic events */ +#define ENET_ATPER_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATPER_PERIOD_SHIFT)) & ENET_ATPER_PERIOD_MASK) +/*! @} */ + +/*! @name ATCOR - Timer Correction Register */ +/*! @{ */ + +#define ENET_ATCOR_COR_MASK (0x7FFFFFFFU) +#define ENET_ATCOR_COR_SHIFT (0U) +/*! COR - Correction Counter Wrap-Around Value */ +#define ENET_ATCOR_COR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCOR_COR_SHIFT)) & ENET_ATCOR_COR_MASK) +/*! @} */ + +/*! @name ATINC - Time-Stamping Clock Period Register */ +/*! @{ */ + +#define ENET_ATINC_INC_MASK (0x7FU) +#define ENET_ATINC_INC_SHIFT (0U) +/*! INC - Clock Period Of The Timestamping Clock (ts_clk) In Nanoseconds */ +#define ENET_ATINC_INC(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_SHIFT)) & ENET_ATINC_INC_MASK) + +#define ENET_ATINC_INC_CORR_MASK (0x7F00U) +#define ENET_ATINC_INC_CORR_SHIFT (8U) +/*! INC_CORR - Correction Increment Value */ +#define ENET_ATINC_INC_CORR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_CORR_SHIFT)) & ENET_ATINC_INC_CORR_MASK) +/*! @} */ + +/*! @name ATSTMP - Timestamp of Last Transmitted Frame */ +/*! @{ */ + +#define ENET_ATSTMP_TIMESTAMP_MASK (0xFFFFFFFFU) +#define ENET_ATSTMP_TIMESTAMP_SHIFT (0U) +/*! TIMESTAMP - Timestamp of the last frame transmitted by the core that had TxBD[TS] set the + * ff_tx_ts_frm signal asserted from the user application + */ +#define ENET_ATSTMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATSTMP_TIMESTAMP_SHIFT)) & ENET_ATSTMP_TIMESTAMP_MASK) +/*! @} */ + +/*! @name TGSR - Timer Global Status Register */ +/*! @{ */ + +#define ENET_TGSR_TF0_MASK (0x1U) +#define ENET_TGSR_TF0_SHIFT (0U) +/*! TF0 - Copy Of Timer Flag For Channel 0 + * 0b0..Timer Flag for Channel 0 is clear + * 0b1..Timer Flag for Channel 0 is set + */ +#define ENET_TGSR_TF0(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF0_SHIFT)) & ENET_TGSR_TF0_MASK) + +#define ENET_TGSR_TF1_MASK (0x2U) +#define ENET_TGSR_TF1_SHIFT (1U) +/*! TF1 - Copy Of Timer Flag For Channel 1 + * 0b0..Timer Flag for Channel 1 is clear + * 0b1..Timer Flag for Channel 1 is set + */ +#define ENET_TGSR_TF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF1_SHIFT)) & ENET_TGSR_TF1_MASK) + +#define ENET_TGSR_TF2_MASK (0x4U) +#define ENET_TGSR_TF2_SHIFT (2U) +/*! TF2 - Copy Of Timer Flag For Channel 2 + * 0b0..Timer Flag for Channel 2 is clear + * 0b1..Timer Flag for Channel 2 is set + */ +#define ENET_TGSR_TF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF2_SHIFT)) & ENET_TGSR_TF2_MASK) + +#define ENET_TGSR_TF3_MASK (0x8U) +#define ENET_TGSR_TF3_SHIFT (3U) +/*! TF3 - Copy Of Timer Flag For Channel 3 + * 0b0..Timer Flag for Channel 3 is clear + * 0b1..Timer Flag for Channel 3 is set + */ +#define ENET_TGSR_TF3(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF3_SHIFT)) & ENET_TGSR_TF3_MASK) +/*! @} */ + +/*! @name TCSR - Timer Control Status Register */ +/*! @{ */ + +#define ENET_TCSR_TDRE_MASK (0x1U) +#define ENET_TCSR_TDRE_SHIFT (0U) +/*! TDRE - Timer DMA Request Enable + * 0b0..DMA request is disabled + * 0b1..DMA request is enabled + */ +#define ENET_TCSR_TDRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TDRE_SHIFT)) & ENET_TCSR_TDRE_MASK) + +#define ENET_TCSR_TMODE_MASK (0x3CU) +#define ENET_TCSR_TMODE_SHIFT (2U) +/*! TMODE - Timer Mode + * 0b0000..Timer Channel is disabled. + * 0b0001..Timer Channel is configured for Input Capture on rising edge. + * 0b0010..Timer Channel is configured for Input Capture on falling edge. + * 0b0011..Timer Channel is configured for Input Capture on both edges. + * 0b0100..Timer Channel is configured for Output Compare - software only. + * 0b0101..Timer Channel is configured for Output Compare - toggle output on compare. + * 0b0110..Timer Channel is configured for Output Compare - clear output on compare. + * 0b0111..Timer Channel is configured for Output Compare - set output on compare. + * 0b1000..Reserved + * 0b1010..Timer Channel is configured for Output Compare - clear output on compare, set output on overflow. + * 0b10x1..Timer Channel is configured for Output Compare - set output on compare, clear output on overflow. + * 0b110x..Reserved + * 0b1110..Timer Channel is configured for Output Compare - pulse output low on compare for one 1588-clock cycle. + * 0b1111..Timer Channel is configured for Output Compare - pulse output high on compare for one 1588-clock cycle. + */ +#define ENET_TCSR_TMODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TMODE_SHIFT)) & ENET_TCSR_TMODE_MASK) + +#define ENET_TCSR_TIE_MASK (0x40U) +#define ENET_TCSR_TIE_SHIFT (6U) +/*! TIE - Timer Interrupt Enable + * 0b0..Interrupt is disabled + * 0b1..Interrupt is enabled + */ +#define ENET_TCSR_TIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TIE_SHIFT)) & ENET_TCSR_TIE_MASK) + +#define ENET_TCSR_TF_MASK (0x80U) +#define ENET_TCSR_TF_SHIFT (7U) +/*! TF - Timer Flag + * 0b0..Input Capture or Output Compare has not occurred. + * 0b1..Input Capture or Output Compare has occurred. + */ +#define ENET_TCSR_TF(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TF_SHIFT)) & ENET_TCSR_TF_MASK) +/*! @} */ + +/* The count of ENET_TCSR */ +#define ENET_TCSR_COUNT (4U) + +/*! @name TCCR - Timer Compare Capture Register */ +/*! @{ */ + +#define ENET_TCCR_TCC_MASK (0xFFFFFFFFU) +#define ENET_TCCR_TCC_SHIFT (0U) +/*! TCC - Timer Capture Compare */ +#define ENET_TCCR_TCC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCCR_TCC_SHIFT)) & ENET_TCCR_TCC_MASK) +/*! @} */ + +/* The count of ENET_TCCR */ +#define ENET_TCCR_COUNT (4U) + + +/*! + * @} + */ /* end of group ENET_Register_Masks */ + + +/* ENET - Peripheral instance base addresses */ +/** Peripheral ENET2 base address */ +#define ENET2_BASE (0x42890000u) +/** Peripheral ENET2 base pointer */ +#define ENET2 ((ENET_Type *)ENET2_BASE) +/** Array initializer of ENET peripheral base addresses */ +#define ENET_BASE_ADDRS { 0u, 0u, ENET2_BASE } +/** Array initializer of ENET peripheral base pointers */ +#define ENET_BASE_PTRS { (ENET_Type *)0u, (ENET_Type *)0u, ENET2 } +/* ENET Buffer Descriptor and Buffer Address Alignment. */ +#define ENET_BUFF_ALIGNMENT (64U) + + +/*! + * @} + */ /* end of group ENET_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- ENET_QOS Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ENET_QOS_Peripheral_Access_Layer ENET_QOS Peripheral Access Layer + * @{ + */ + +/** ENET_QOS - Register Layout Typedef */ +typedef struct { + __IO uint32_t MAC_CONFIGURATION; /**< MAC Configuration Register, offset: 0x0 */ + __IO uint32_t MAC_EXT_CONFIGURATION; /**< MAC Extended Configuration Register, offset: 0x4 */ + __IO uint32_t MAC_PACKET_FILTER; /**< MAC Packet Filter, offset: 0x8 */ + __IO uint32_t MAC_WATCHDOG_TIMEOUT; /**< Watchdog Timeout, offset: 0xC */ + __IO uint32_t MAC_HASH_TABLE_REG0; /**< MAC Hash Table Register 0, offset: 0x10 */ + __IO uint32_t MAC_HASH_TABLE_REG1; /**< MAC Hash Table Register 1, offset: 0x14 */ + uint8_t RESERVED_0[56]; + __IO uint32_t MAC_VLAN_TAG_CTRL; /**< MAC VLAN Tag Control, offset: 0x50 */ + __IO uint32_t MAC_VLAN_TAG_DATA; /**< MAC VLAN Tag Data, offset: 0x54 */ + __IO uint32_t MAC_VLAN_HASH_TABLE; /**< MAC VLAN Hash Table, offset: 0x58 */ + uint8_t RESERVED_1[4]; + __IO uint32_t MAC_VLAN_INCL; /**< VLAN Tag Inclusion or Replacement, offset: 0x60 */ + __IO uint32_t MAC_INNER_VLAN_INCL; /**< MAC Inner VLAN Tag Inclusion or Replacement, offset: 0x64 */ + uint8_t RESERVED_2[8]; + __IO uint32_t MAC_TX_FLOW_CTRL_Q[5]; /**< MAC Q0 Tx Flow Control..MAC Q4 Tx Flow Control, array offset: 0x70, array step: 0x4 */ + uint8_t RESERVED_3[12]; + __IO uint32_t MAC_RX_FLOW_CTRL; /**< MAC Rx Flow Control, offset: 0x90 */ + __IO uint32_t MAC_RXQ_CTRL4; /**< Receive Queue Control 4, offset: 0x94 */ + __IO uint32_t MAC_TXQ_PRTY_MAP0; /**< Transmit Queue Priority Mapping 0, offset: 0x98 */ + __IO uint32_t MAC_TXQ_PRTY_MAP1; /**< Transmit Queue Priority Mapping 1, offset: 0x9C */ + __IO uint32_t MAC_RXQ_CTRL[4]; /**< Receive Queue Control 0..Receive Queue Control 3, array offset: 0xA0, array step: 0x4 */ + __I uint32_t MAC_INTERRUPT_STATUS; /**< Interrupt Status, offset: 0xB0 */ + __IO uint32_t MAC_INTERRUPT_ENABLE; /**< Interrupt Enable, offset: 0xB4 */ + __I uint32_t MAC_RX_TX_STATUS; /**< Receive Transmit Status, offset: 0xB8 */ + uint8_t RESERVED_4[4]; + __IO uint32_t MAC_PMT_CONTROL_STATUS; /**< PMT Control and Status, offset: 0xC0 */ + __IO uint32_t MAC_RWK_PACKET_FILTER; /**< Remote Wakeup Filter, offset: 0xC4 */ + uint8_t RESERVED_5[8]; + __IO uint32_t MAC_LPI_CONTROL_STATUS; /**< LPI Control and Status, offset: 0xD0 */ + __IO uint32_t MAC_LPI_TIMERS_CONTROL; /**< LPI Timers Control, offset: 0xD4 */ + __IO uint32_t MAC_LPI_ENTRY_TIMER; /**< Tx LPI Entry Timer Control, offset: 0xD8 */ + __IO uint32_t MAC_ONEUS_TIC_COUNTER; /**< One-microsecond Reference Timer, offset: 0xDC */ + uint8_t RESERVED_6[24]; + __IO uint32_t MAC_PHYIF_CONTROL_STATUS; /**< PHY Interface Control and Status, offset: 0xF8 */ + uint8_t RESERVED_7[20]; + __I uint32_t MAC_VERSION; /**< MAC Version, offset: 0x110 */ + __I uint32_t MAC_DEBUG; /**< MAC Debug, offset: 0x114 */ + uint8_t RESERVED_8[4]; + __I uint32_t MAC_HW_FEAT[4]; /**< Optional Features or Functions 0..Optional Features or Functions 3, array offset: 0x11C, array step: 0x4 */ + uint8_t RESERVED_9[212]; + __IO uint32_t MAC_MDIO_ADDRESS; /**< MDIO Address, offset: 0x200 */ + __IO uint32_t MAC_MDIO_DATA; /**< MAC MDIO Data, offset: 0x204 */ + uint8_t RESERVED_10[40]; + __IO uint32_t MAC_CSR_SW_CTRL; /**< CSR Software Control, offset: 0x230 */ + __IO uint32_t MAC_FPE_CTRL_STS; /**< Frame Preemption Control, offset: 0x234 */ + uint8_t RESERVED_11[8]; + __I uint32_t MAC_PRESN_TIME_NS; /**< 32-bit Binary Rollover Equivalent Time, offset: 0x240 */ + __IO uint32_t MAC_PRESN_TIME_UPDT; /**< MAC 1722 Presentation Time, offset: 0x244 */ + uint8_t RESERVED_12[184]; + struct { /* offset: 0x300, array step: 0x8 */ + __IO uint32_t HIGH; /**< MAC Address0 High..MAC Address63 High, array offset: 0x300, array step: 0x8 */ + __IO uint32_t LOW; /**< MAC Address0 Low..MAC Address63 Low, array offset: 0x304, array step: 0x8 */ + } MAC_ADDRESS[64]; + uint8_t RESERVED_13[512]; + __IO uint32_t MAC_MMC_CONTROL; /**< MMC Control, offset: 0x700 */ + __I uint32_t MAC_MMC_RX_INTERRUPT; /**< MMC Rx Interrupt, offset: 0x704 */ + __I uint32_t MAC_MMC_TX_INTERRUPT; /**< MMC Tx Interrupt, offset: 0x708 */ + __IO uint32_t MAC_MMC_RX_INTERRUPT_MASK; /**< MMC Rx Interrupt Mask, offset: 0x70C */ + __IO uint32_t MAC_MMC_TX_INTERRUPT_MASK; /**< MMC Tx Interrupt Mask, offset: 0x710 */ + __I uint32_t MAC_TX_OCTET_COUNT_GOOD_BAD; /**< Tx Octet Count Good and Bad, offset: 0x714 */ + __I uint32_t MAC_TX_PACKET_COUNT_GOOD_BAD; /**< Tx Packet Count Good and Bad, offset: 0x718 */ + __I uint32_t MAC_TX_BROADCAST_PACKETS_GOOD; /**< Tx Broadcast Packets Good, offset: 0x71C */ + __I uint32_t MAC_TX_MULTICAST_PACKETS_GOOD; /**< Tx Multicast Packets Good, offset: 0x720 */ + __I uint32_t MAC_TX_64OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 64-Byte Packets, offset: 0x724 */ + __I uint32_t MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 65 to 127-Byte Packets, offset: 0x728 */ + __I uint32_t MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 128 to 255-Byte Packets, offset: 0x72C */ + __I uint32_t MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 256 to 511-Byte Packets, offset: 0x730 */ + __I uint32_t MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 512 to 1023-Byte Packets, offset: 0x734 */ + __I uint32_t MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 1024 to Max-Byte Packets, offset: 0x738 */ + __I uint32_t MAC_TX_UNICAST_PACKETS_GOOD_BAD; /**< Good and Bad Unicast Packets Transmitted, offset: 0x73C */ + __I uint32_t MAC_TX_MULTICAST_PACKETS_GOOD_BAD; /**< Good and Bad Multicast Packets Transmitted, offset: 0x740 */ + __I uint32_t MAC_TX_BROADCAST_PACKETS_GOOD_BAD; /**< Good and Bad Broadcast Packets Transmitted, offset: 0x744 */ + __I uint32_t MAC_TX_UNDERFLOW_ERROR_PACKETS; /**< Tx Packets Aborted By Underflow Error, offset: 0x748 */ + __I uint32_t MAC_TX_SINGLE_COLLISION_GOOD_PACKETS; /**< Single Collision Good Packets Transmitted, offset: 0x74C */ + __I uint32_t MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS; /**< Multiple Collision Good Packets Transmitted, offset: 0x750 */ + __I uint32_t MAC_TX_DEFERRED_PACKETS; /**< Deferred Packets Transmitted, offset: 0x754 */ + __I uint32_t MAC_TX_LATE_COLLISION_PACKETS; /**< Late Collision Packets Transmitted, offset: 0x758 */ + __I uint32_t MAC_TX_EXCESSIVE_COLLISION_PACKETS; /**< Excessive Collision Packets Transmitted, offset: 0x75C */ + __I uint32_t MAC_TX_CARRIER_ERROR_PACKETS; /**< Carrier Error Packets Transmitted, offset: 0x760 */ + __I uint32_t MAC_TX_OCTET_COUNT_GOOD; /**< Bytes Transmitted in Good Packets, offset: 0x764 */ + __I uint32_t MAC_TX_PACKET_COUNT_GOOD; /**< Good Packets Transmitted, offset: 0x768 */ + __I uint32_t MAC_TX_EXCESSIVE_DEFERRAL_ERROR; /**< Packets Aborted By Excessive Deferral Error, offset: 0x76C */ + __I uint32_t MAC_TX_PAUSE_PACKETS; /**< Pause Packets Transmitted, offset: 0x770 */ + __I uint32_t MAC_TX_VLAN_PACKETS_GOOD; /**< Good VLAN Packets Transmitted, offset: 0x774 */ + __I uint32_t MAC_TX_OSIZE_PACKETS_GOOD; /**< Good Oversize Packets Transmitted, offset: 0x778 */ + uint8_t RESERVED_14[4]; + __I uint32_t MAC_RX_PACKETS_COUNT_GOOD_BAD; /**< Good and Bad Packets Received, offset: 0x780 */ + __I uint32_t MAC_RX_OCTET_COUNT_GOOD_BAD; /**< Bytes in Good and Bad Packets Received, offset: 0x784 */ + __I uint32_t MAC_RX_OCTET_COUNT_GOOD; /**< Bytes in Good Packets Received, offset: 0x788 */ + __I uint32_t MAC_RX_BROADCAST_PACKETS_GOOD; /**< Good Broadcast Packets Received, offset: 0x78C */ + __I uint32_t MAC_RX_MULTICAST_PACKETS_GOOD; /**< Good Multicast Packets Received, offset: 0x790 */ + __I uint32_t MAC_RX_CRC_ERROR_PACKETS; /**< CRC Error Packets Received, offset: 0x794 */ + __I uint32_t MAC_RX_ALIGNMENT_ERROR_PACKETS; /**< Alignment Error Packets Received, offset: 0x798 */ + __I uint32_t MAC_RX_RUNT_ERROR_PACKETS; /**< Runt Error Packets Received, offset: 0x79C */ + __I uint32_t MAC_RX_JABBER_ERROR_PACKETS; /**< Jabber Error Packets Received, offset: 0x7A0 */ + __I uint32_t MAC_RX_UNDERSIZE_PACKETS_GOOD; /**< Good Undersize Packets Received, offset: 0x7A4 */ + __I uint32_t MAC_RX_OVERSIZE_PACKETS_GOOD; /**< Good Oversize Packets Received, offset: 0x7A8 */ + __I uint32_t MAC_RX_64OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 64-Byte Packets Received, offset: 0x7AC */ + __I uint32_t MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 64-to-127 Byte Packets Received, offset: 0x7B0 */ + __I uint32_t MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 128-to-255 Byte Packets Received, offset: 0x7B4 */ + __I uint32_t MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 256-to-511 Byte Packets Received, offset: 0x7B8 */ + __I uint32_t MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 512-to-1023 Byte Packets Received, offset: 0x7BC */ + __I uint32_t MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 1024-to-Max Byte Packets Received, offset: 0x7C0 */ + __I uint32_t MAC_RX_UNICAST_PACKETS_GOOD; /**< Good Unicast Packets Received, offset: 0x7C4 */ + __I uint32_t MAC_RX_LENGTH_ERROR_PACKETS; /**< Length Error Packets Received, offset: 0x7C8 */ + __I uint32_t MAC_RX_OUT_OF_RANGE_TYPE_PACKETS; /**< Out-of-range Type Packets Received, offset: 0x7CC */ + __I uint32_t MAC_RX_PAUSE_PACKETS; /**< Pause Packets Received, offset: 0x7D0 */ + __I uint32_t MAC_RX_FIFO_OVERFLOW_PACKETS; /**< Missed Packets Due to FIFO Overflow, offset: 0x7D4 */ + __I uint32_t MAC_RX_VLAN_PACKETS_GOOD_BAD; /**< Good and Bad VLAN Packets Received, offset: 0x7D8 */ + __I uint32_t MAC_RX_WATCHDOG_ERROR_PACKETS; /**< Watchdog Error Packets Received, offset: 0x7DC */ + __I uint32_t MAC_RX_RECEIVE_ERROR_PACKETS; /**< Receive Error Packets Received, offset: 0x7E0 */ + __I uint32_t MAC_RX_CONTROL_PACKETS_GOOD; /**< Good Control Packets Received, offset: 0x7E4 */ + uint8_t RESERVED_15[4]; + __I uint32_t MAC_TX_LPI_USEC_CNTR; /**< Microseconds Tx LPI Asserted, offset: 0x7EC */ + __I uint32_t MAC_TX_LPI_TRAN_CNTR; /**< Number of Times Tx LPI Asserted, offset: 0x7F0 */ + __I uint32_t MAC_RX_LPI_USEC_CNTR; /**< Microseconds Rx LPI Sampled, offset: 0x7F4 */ + __I uint32_t MAC_RX_LPI_TRAN_CNTR; /**< Number of Times Rx LPI Entered, offset: 0x7F8 */ + uint8_t RESERVED_16[4]; + __IO uint32_t MAC_MMC_IPC_RX_INTERRUPT_MASK; /**< MMC IPC Receive Interrupt Mask, offset: 0x800 */ + uint8_t RESERVED_17[4]; + __I uint32_t MAC_MMC_IPC_RX_INTERRUPT; /**< MMC IPC Receive Interrupt, offset: 0x808 */ + uint8_t RESERVED_18[4]; + __I uint32_t MAC_RXIPV4_GOOD_PACKETS; /**< Good IPv4 Datagrams Received, offset: 0x810 */ + __I uint32_t MAC_RXIPV4_HEADER_ERROR_PACKETS; /**< IPv4 Datagrams Received with Header Errors, offset: 0x814 */ + __I uint32_t MAC_RXIPV4_NO_PAYLOAD_PACKETS; /**< IPv4 Datagrams Received with No Payload, offset: 0x818 */ + __I uint32_t MAC_RXIPV4_FRAGMENTED_PACKETS; /**< IPv4 Datagrams Received with Fragmentation, offset: 0x81C */ + __I uint32_t MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS; /**< IPv4 Datagrams Received with UDP Checksum Disabled, offset: 0x820 */ + __I uint32_t MAC_RXIPV6_GOOD_PACKETS; /**< Good IPv6 Datagrams Received, offset: 0x824 */ + __I uint32_t MAC_RXIPV6_HEADER_ERROR_PACKETS; /**< IPv6 Datagrams Received with Header Errors, offset: 0x828 */ + __I uint32_t MAC_RXIPV6_NO_PAYLOAD_PACKETS; /**< IPv6 Datagrams Received with No Payload, offset: 0x82C */ + __I uint32_t MAC_RXUDP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good UDP, offset: 0x830 */ + __I uint32_t MAC_RXUDP_ERROR_PACKETS; /**< IPv6 Datagrams Received with UDP Checksum Error, offset: 0x834 */ + __I uint32_t MAC_RXTCP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good TCP Payload, offset: 0x838 */ + __I uint32_t MAC_RXTCP_ERROR_PACKETS; /**< IPv6 Datagrams Received with TCP Checksum Error, offset: 0x83C */ + __I uint32_t MAC_RXICMP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good ICMP Payload, offset: 0x840 */ + __I uint32_t MAC_RXICMP_ERROR_PACKETS; /**< IPv6 Datagrams Received with ICMP Checksum Error, offset: 0x844 */ + uint8_t RESERVED_19[8]; + __I uint32_t MAC_RXIPV4_GOOD_OCTETS; /**< Good Bytes Received in IPv4 Datagrams, offset: 0x850 */ + __I uint32_t MAC_RXIPV4_HEADER_ERROR_OCTETS; /**< Bytes Received in IPv4 Datagrams with Header Errors, offset: 0x854 */ + __I uint32_t MAC_RXIPV4_NO_PAYLOAD_OCTETS; /**< Bytes Received in IPv4 Datagrams with No Payload, offset: 0x858 */ + __I uint32_t MAC_RXIPV4_FRAGMENTED_OCTETS; /**< Bytes Received in Fragmented IPv4 Datagrams, offset: 0x85C */ + __I uint32_t MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS; /**< Bytes Received with UDP Checksum Disabled, offset: 0x860 */ + __I uint32_t MAC_RXIPV6_GOOD_OCTETS; /**< Bytes Received in Good IPv6 Datagrams, offset: 0x864 */ + __I uint32_t MAC_RXIPV6_HEADER_ERROR_OCTETS; /**< Bytes Received in IPv6 Datagrams with Data Errors, offset: 0x868 */ + __I uint32_t MAC_RXIPV6_NO_PAYLOAD_OCTETS; /**< Bytes Received in IPv6 Datagrams with No Payload, offset: 0x86C */ + __I uint32_t MAC_RXUDP_GOOD_OCTETS; /**< Bytes Received in Good UDP Segment, offset: 0x870 */ + __I uint32_t MAC_RXUDP_ERROR_OCTETS; /**< Bytes Received in UDP Segment with Checksum Errors, offset: 0x874 */ + __I uint32_t MAC_RXTCP_GOOD_OCTETS; /**< Bytes Received in Good TCP Segment, offset: 0x878 */ + __I uint32_t MAC_RXTCP_ERROR_OCTETS; /**< Bytes Received in TCP Segment with Checksum Errors, offset: 0x87C */ + __I uint32_t MAC_RXICMP_GOOD_OCTETS; /**< Bytes Received in Good ICMP Segment, offset: 0x880 */ + __I uint32_t MAC_RXICMP_ERROR_OCTETS; /**< Bytes Received in ICMP Segment with Checksum Errors, offset: 0x884 */ + uint8_t RESERVED_20[24]; + __I uint32_t MAC_MMC_FPE_TX_INTERRUPT; /**< MMC FPE Transmit Interrupt, offset: 0x8A0 */ + __IO uint32_t MAC_MMC_FPE_TX_INTERRUPT_MASK; /**< MMC FPE Transmit Mask Interrupt, offset: 0x8A4 */ + __I uint32_t MAC_MMC_TX_FPE_FRAGMENT_CNTR; /**< MMC FPE Transmitted Fragment Counter, offset: 0x8A8 */ + __I uint32_t MAC_MMC_TX_HOLD_REQ_CNTR; /**< MMC FPE Transmitted Hold Request Counter, offset: 0x8AC */ + uint8_t RESERVED_21[16]; + __I uint32_t MAC_MMC_FPE_RX_INTERRUPT; /**< MMC FPE Receive Interrupt, offset: 0x8C0 */ + __IO uint32_t MAC_MMC_FPE_RX_INTERRUPT_MASK; /**< MMC FPE Receive Interrupt Mask, offset: 0x8C4 */ + __I uint32_t MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR; /**< MMC Receive Packet Reassembly Error Counter, offset: 0x8C8 */ + __I uint32_t MAC_MMC_RX_PACKET_SMD_ERR_CNTR; /**< MMC Receive Packet SMD Error Counter, offset: 0x8CC */ + __I uint32_t MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR; /**< MMC Receive Packet Successful Reassembly Counter, offset: 0x8D0 */ + __I uint32_t MAC_MMC_RX_FPE_FRAGMENT_CNTR; /**< MMC FPE Received Fragment Counter, offset: 0x8D4 */ + uint8_t RESERVED_22[40]; + __IO uint32_t MAC_L3_L4_CONTROL0; /**< Layer 3 and Layer 4 Control of Filter 0, offset: 0x900 */ + __IO uint32_t MAC_LAYER4_ADDRESS0; /**< Layer 4 Address 0, offset: 0x904 */ + uint8_t RESERVED_23[8]; + __IO uint32_t MAC_LAYER3_ADDR0_REG0; /**< Layer 3 Address 0 Register 0, offset: 0x910 */ + __IO uint32_t MAC_LAYER3_ADDR1_REG0; /**< Layer 3 Address 1 Register 0, offset: 0x914 */ + __IO uint32_t MAC_LAYER3_ADDR2_REG0; /**< Layer 3 Address 2 Register 0, offset: 0x918 */ + __IO uint32_t MAC_LAYER3_ADDR3_REG0; /**< Layer 3 Address 3 Register 0, offset: 0x91C */ + uint8_t RESERVED_24[16]; + __IO uint32_t MAC_L3_L4_CONTROL1; /**< Layer 3 and Layer 4 Control of Filter 1, offset: 0x930 */ + __IO uint32_t MAC_LAYER4_ADDRESS1; /**< Layer 4 Address 0, offset: 0x934 */ + uint8_t RESERVED_25[8]; + __IO uint32_t MAC_LAYER3_ADDR0_REG1; /**< Layer 3 Address 0 Register 1, offset: 0x940 */ + __IO uint32_t MAC_LAYER3_ADDR1_REG1; /**< Layer 3 Address 1 Register 1, offset: 0x944 */ + __IO uint32_t MAC_LAYER3_ADDR2_REG1; /**< Layer 3 Address 2 Register 1, offset: 0x948 */ + __IO uint32_t MAC_LAYER3_ADDR3_REG1; /**< Layer 3 Address 3 Register 1, offset: 0x94C */ + uint8_t RESERVED_26[16]; + __IO uint32_t MAC_L3_L4_CONTROL2; /**< Layer 3 and Layer 4 Control of Filter 2, offset: 0x960 */ + __IO uint32_t MAC_LAYER4_ADDRESS2; /**< Layer 4 Address 2, offset: 0x964 */ + uint8_t RESERVED_27[8]; + __IO uint32_t MAC_LAYER3_ADDR0_REG2; /**< Layer 3 Address 0 Register 2, offset: 0x970 */ + __IO uint32_t MAC_LAYER3_ADDR1_REG2; /**< Layer 3 Address 0 Register 2, offset: 0x974 */ + __IO uint32_t MAC_LAYER3_ADDR2_REG2; /**< Layer 3 Address 2 Register 2, offset: 0x978 */ + __IO uint32_t MAC_LAYER3_ADDR3_REG2; /**< Layer 3 Address 3 Register 2, offset: 0x97C */ + uint8_t RESERVED_28[16]; + __IO uint32_t MAC_L3_L4_CONTROL3; /**< Layer 3 and Layer 4 Control of Filter 3, offset: 0x990 */ + __IO uint32_t MAC_LAYER4_ADDRESS3; /**< Layer 4 Address 3, offset: 0x994 */ + uint8_t RESERVED_29[8]; + __IO uint32_t MAC_LAYER3_ADDR0_REG3; /**< Layer 3 Address 0 Register 3, offset: 0x9A0 */ + __IO uint32_t MAC_LAYER3_ADDR1_REG3; /**< Layer 3 Address 1 Register 3, offset: 0x9A4 */ + __IO uint32_t MAC_LAYER3_ADDR2_REG3; /**< Layer 3 Address 2 Register 3, offset: 0x9A8 */ + __IO uint32_t MAC_LAYER3_ADDR3_REG3; /**< Layer 3 Address 3 Register 3, offset: 0x9AC */ + uint8_t RESERVED_30[16]; + __IO uint32_t MAC_L3_L4_CONTROL4; /**< Layer 3 and Layer 4 Control of Filter 4, offset: 0x9C0 */ + __IO uint32_t MAC_LAYER4_ADDRESS4; /**< Layer 4 Address 4, offset: 0x9C4 */ + uint8_t RESERVED_31[8]; + __IO uint32_t MAC_LAYER3_ADDR0_REG4; /**< Layer 3 Address 0 Register 4, offset: 0x9D0 */ + __IO uint32_t MAC_LAYER3_ADDR1_REG4; /**< Layer 3 Address 1 Register 4, offset: 0x9D4 */ + __IO uint32_t MAC_LAYER3_ADDR2_REG4; /**< Layer 3 Address 2 Register 4, offset: 0x9D8 */ + __IO uint32_t MAC_LAYER3_ADDR3_REG4; /**< Layer 3 Address 3 Register 4, offset: 0x9DC */ + uint8_t RESERVED_32[16]; + __IO uint32_t MAC_L3_L4_CONTROL5; /**< Layer 3 and Layer 4 Control of Filter 5, offset: 0x9F0 */ + __IO uint32_t MAC_LAYER4_ADDRESS5; /**< Layer 4 Address 5, offset: 0x9F4 */ + uint8_t RESERVED_33[8]; + __IO uint32_t MAC_LAYER3_ADDR0_REG5; /**< Layer 3 Address 0 Register 5, offset: 0xA00 */ + __IO uint32_t MAC_LAYER3_ADDR1_REG5; /**< Layer 3 Address 1 Register 5, offset: 0xA04 */ + __IO uint32_t MAC_LAYER3_ADDR2_REG5; /**< Layer 3 Address 2 Register 5, offset: 0xA08 */ + __IO uint32_t MAC_LAYER3_ADDR3_REG5; /**< Layer 3 Address 3 Register 5, offset: 0xA0C */ + uint8_t RESERVED_34[16]; + __IO uint32_t MAC_L3_L4_CONTROL6; /**< Layer 3 and Layer 4 Control of Filter 6, offset: 0xA20 */ + __IO uint32_t MAC_LAYER4_ADDRESS6; /**< Layer 4 Address 6, offset: 0xA24 */ + uint8_t RESERVED_35[8]; + __IO uint32_t MAC_LAYER3_ADDR0_REG6; /**< Layer 3 Address 0 Register 6, offset: 0xA30 */ + __IO uint32_t MAC_LAYER3_ADDR1_REG6; /**< Layer 3 Address 1 Register 6, offset: 0xA34 */ + __IO uint32_t MAC_LAYER3_ADDR2_REG6; /**< Layer 3 Address 2 Register 6, offset: 0xA38 */ + __IO uint32_t MAC_LAYER3_ADDR3_REG6; /**< Layer 3 Address 3 Register 6, offset: 0xA3C */ + uint8_t RESERVED_36[16]; + __IO uint32_t MAC_L3_L4_CONTROL7; /**< Layer 3 and Layer 4 Control of Filter 0, offset: 0xA50 */ + __IO uint32_t MAC_LAYER4_ADDRESS7; /**< Layer 4 Address 7, offset: 0xA54 */ + uint8_t RESERVED_37[8]; + __IO uint32_t MAC_LAYER3_ADDR0_REG7; /**< Layer 3 Address 0 Register 7, offset: 0xA60 */ + __IO uint32_t MAC_LAYER3_ADDR1_REG7; /**< Layer 3 Address 1 Register 7, offset: 0xA64 */ + __IO uint32_t MAC_LAYER3_ADDR2_REG7; /**< Layer 3 Address 2 Register 7, offset: 0xA68 */ + __IO uint32_t MAC_LAYER3_ADDR3_REG7; /**< Layer 3 Address 3 Register 7, offset: 0xA6C */ + __IO uint32_t MAC_INDIR_ACCESS_CTRL; /**< MAC_INDIR_ACCESS_CTRL, offset: 0xA70 */ + __IO uint32_t MAC_INDIR_ACCESS_DATA; /**< MAC_INDIR_ACCESS_DATA, offset: 0xA74 */ + uint8_t RESERVED_38[136]; + __IO uint32_t MAC_TIMESTAMP_CONTROL; /**< Timestamp Control, offset: 0xB00 */ + __IO uint32_t MAC_SUB_SECOND_INCREMENT; /**< Subsecond Increment, offset: 0xB04 */ + __I uint32_t MAC_SYSTEM_TIME_SECONDS; /**< System Time Seconds, offset: 0xB08 */ + __I uint32_t MAC_SYSTEM_TIME_NANOSECONDS; /**< System Time Nanoseconds, offset: 0xB0C */ + __IO uint32_t MAC_SYSTEM_TIME_SECONDS_UPDATE; /**< System Time Seconds Update, offset: 0xB10 */ + __IO uint32_t MAC_SYSTEM_TIME_NANOSECONDS_UPDATE; /**< System Time Nanoseconds Update, offset: 0xB14 */ + __IO uint32_t MAC_TIMESTAMP_ADDEND; /**< Timestamp Addend, offset: 0xB18 */ + __IO uint32_t MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS; /**< System Time - Higher Word Seconds, offset: 0xB1C */ + __I uint32_t MAC_TIMESTAMP_STATUS; /**< Timestamp Status, offset: 0xB20 */ + uint8_t RESERVED_39[12]; + __I uint32_t MAC_TX_TIMESTAMP_STATUS_NANOSECONDS; /**< Transmit Timestamp Status Nanoseconds, offset: 0xB30 */ + __I uint32_t MAC_TX_TIMESTAMP_STATUS_SECONDS; /**< Transmit Timestamp Status Seconds, offset: 0xB34 */ + uint8_t RESERVED_40[8]; + __IO uint32_t MAC_AUXILIARY_CONTROL; /**< Auxiliary Timestamp Control, offset: 0xB40 */ + uint8_t RESERVED_41[4]; + __I uint32_t MAC_AUXILIARY_TIMESTAMP_NANOSECONDS; /**< Auxiliary Timestamp Nanoseconds, offset: 0xB48 */ + __I uint32_t MAC_AUXILIARY_TIMESTAMP_SECONDS; /**< Auxiliary Timestamp Seconds, offset: 0xB4C */ + __IO uint32_t MAC_TIMESTAMP_INGRESS_ASYM_CORR; /**< Timestamp Ingress Asymmetry Correction, offset: 0xB50 */ + __IO uint32_t MAC_TIMESTAMP_EGRESS_ASYM_CORR; /**< Timestamp Egress Asymmetry Correction, offset: 0xB54 */ + __IO uint32_t MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND; /**< Timestamp Ingress Correction Nanosecond, offset: 0xB58 */ + __IO uint32_t MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND; /**< Timestamp Egress Correction Nanosecond, offset: 0xB5C */ + __IO uint32_t MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC; /**< Timestamp Ingress Correction Subnanosecond, offset: 0xB60 */ + __IO uint32_t MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC; /**< Timestamp Egress Correction Subnanosecond, offset: 0xB64 */ + __I uint32_t MAC_TIMESTAMP_INGRESS_LATENCY; /**< Timestamp Ingress Latency, offset: 0xB68 */ + __I uint32_t MAC_TIMESTAMP_EGRESS_LATENCY; /**< Timestamp Egress Latency, offset: 0xB6C */ + __IO uint32_t MAC_PPS_CONTROL; /**< PPS Control, offset: 0xB70 */ + uint8_t RESERVED_42[12]; + __IO uint32_t MAC_PPS0_TARGET_TIME_SECONDS; /**< PPS0 Target Time Seconds, offset: 0xB80 */ + __IO uint32_t MAC_PPS0_TARGET_TIME_NANOSECONDS; /**< PPS0 Target Time Nanoseconds, offset: 0xB84 */ + __IO uint32_t MAC_PPS0_INTERVAL; /**< PPS0 Interval, offset: 0xB88 */ + __IO uint32_t MAC_PPS0_WIDTH; /**< PPS0 Width, offset: 0xB8C */ + __IO uint32_t MAC_PPS1_TARGET_TIME_SECONDS; /**< PPS1 Target Time Seconds, offset: 0xB90 */ + __IO uint32_t MAC_PPS1_TARGET_TIME_NANOSECONDS; /**< PPS1 Target Time Nanoseconds, offset: 0xB94 */ + __IO uint32_t MAC_PPS1_INTERVAL; /**< PPS1 Interval, offset: 0xB98 */ + __IO uint32_t MAC_PPS1_WIDTH; /**< PPS1 Width, offset: 0xB9C */ + __IO uint32_t MAC_PPS2_TARGET_TIME_SECONDS; /**< PPS2 Target Time Seconds, offset: 0xBA0 */ + __IO uint32_t MAC_PPS2_TARGET_TIME_NANOSECONDS; /**< PPS2 Target Time Nanoseconds, offset: 0xBA4 */ + __IO uint32_t MAC_PPS2_INTERVAL; /**< PPS2 Interval, offset: 0xBA8 */ + __IO uint32_t MAC_PPS2_WIDTH; /**< PPS2 Width, offset: 0xBAC */ + __IO uint32_t MAC_PPS3_TARGET_TIME_SECONDS; /**< PPS3 Target Time Seconds, offset: 0xBB0 */ + __IO uint32_t MAC_PPS3_TARGET_TIME_NANOSECONDS; /**< PPS3 Target Time Nanoseconds, offset: 0xBB4 */ + __IO uint32_t MAC_PPS3_INTERVAL; /**< PPS3 Interval, offset: 0xBB8 */ + __IO uint32_t MAC_PPS3_WIDTH; /**< PPS3 Width, offset: 0xBBC */ + __IO uint32_t MAC_PTO_CONTROL; /**< PTP Offload Engine Control, offset: 0xBC0 */ + __IO uint32_t MAC_SOURCE_PORT_IDENTITY0; /**< Source Port Identity 0, offset: 0xBC4 */ + __IO uint32_t MAC_SOURCE_PORT_IDENTITY1; /**< Source Port Identity 1, offset: 0xBC8 */ + __IO uint32_t MAC_SOURCE_PORT_IDENTITY2; /**< Source Port Identity 2, offset: 0xBCC */ + __IO uint32_t MAC_LOG_MESSAGE_INTERVAL; /**< Log Message Interval, offset: 0xBD0 */ + uint8_t RESERVED_43[44]; + __IO uint32_t MTL_OPERATION_MODE; /**< MTL Operation Mode, offset: 0xC00 */ + uint8_t RESERVED_44[4]; + __IO uint32_t MTL_DBG_CTL; /**< FIFO Debug Access Control and Status, offset: 0xC08 */ + __IO uint32_t MTL_DBG_STS; /**< FIFO Debug Status, offset: 0xC0C */ + __IO uint32_t MTL_FIFO_DEBUG_DATA; /**< FIFO Debug Data, offset: 0xC10 */ + uint8_t RESERVED_45[12]; + __I uint32_t MTL_INTERRUPT_STATUS; /**< MTL Interrupt Status, offset: 0xC20 */ + uint8_t RESERVED_46[12]; + __IO uint32_t MTL_RXQ_DMA_MAP0; /**< Receive Queue and DMA Channel Mapping 0, offset: 0xC30 */ + __IO uint32_t MTL_RXQ_DMA_MAP1; /**< Receive Queue and DMA Channel Mapping 1, offset: 0xC34 */ + uint8_t RESERVED_47[8]; + __IO uint32_t MTL_TBS_CTRL; /**< Time Based Scheduling Control, offset: 0xC40 */ + uint8_t RESERVED_48[12]; + __IO uint32_t MTL_EST_CONTROL; /**< Enhancements to Scheduled Transmission Control, offset: 0xC50 */ + __IO uint32_t MTL_EST_EXT_CONTROL; /**< MTL_EST_EXT_CONTROL, offset: 0xC54 */ + __IO uint32_t MTL_EST_STATUS; /**< Enhancements to Scheduled Transmission Status, offset: 0xC58 */ + uint8_t RESERVED_49[4]; + __IO uint32_t MTL_EST_SCH_ERROR; /**< EST Scheduling Error, offset: 0xC60 */ + __IO uint32_t MTL_EST_FRM_SIZE_ERROR; /**< EST Frame Size Error, offset: 0xC64 */ + __I uint32_t MTL_EST_FRM_SIZE_CAPTURE; /**< EST Frame Size Capture, offset: 0xC68 */ + uint8_t RESERVED_50[4]; + __IO uint32_t MTL_EST_INTR_ENABLE; /**< EST Interrupt Enable, offset: 0xC70 */ + uint8_t RESERVED_51[12]; + __IO uint32_t MTL_EST_GCL_CONTROL; /**< EST GCL Control, offset: 0xC80 */ + __IO uint32_t MTL_EST_GCL_DATA; /**< EST GCL Data, offset: 0xC84 */ + uint8_t RESERVED_52[8]; + __IO uint32_t MTL_FPE_CTRL_STS; /**< Frame Preemption Control and Status, offset: 0xC90 */ + __IO uint32_t MTL_FPE_ADVANCE; /**< Frame Preemption Hold and Release Advance, offset: 0xC94 */ + uint8_t RESERVED_53[8]; + __IO uint32_t MTL_RXP_CONTROL_STATUS; /**< RXP Control Status, offset: 0xCA0 */ + __IO uint32_t MTL_RXP_INTERRUPT_CONTROL_STATUS; /**< RXP Interrupt Control Status, offset: 0xCA4 */ + __I uint32_t MTL_RXP_DROP_CNT; /**< RXP Drop Count, offset: 0xCA8 */ + __I uint32_t MTL_RXP_ERROR_CNT; /**< RXP Error Count, offset: 0xCAC */ + __IO uint32_t MTL_RXP_INDIRECT_ACC_CONTROL_STATUS; /**< RXP Indirect Access Control and Status, offset: 0xCB0 */ + __IO uint32_t MTL_RXP_INDIRECT_ACC_DATA; /**< RXP Indirect Access Data, offset: 0xCB4 */ + __I uint32_t MTL_RXP_BYPASS_CNT; /**< MTL_RXP_BYPASS_CNT, offset: 0xCB8 */ + uint8_t RESERVED_54[68]; + struct { /* offset: 0xD00, array step: 0x40 */ + __IO uint32_t MTL_TXQX_OP_MODE; /**< Queue 0 Transmit Operation Mode..Queue 4 Transmit Operation Mode, array offset: 0xD00, array step: 0x40 */ + __I uint32_t MTL_TXQX_UNDRFLW; /**< Queue 0 Underflow Counter..Queue 4 Underflow Counter, array offset: 0xD04, array step: 0x40 */ + __I uint32_t MTL_TXQX_DBG; /**< Queue 0 Transmit Debug..Queue 4 Transmit Debug, array offset: 0xD08, array step: 0x40 */ + uint8_t RESERVED_0[4]; + __IO uint32_t MTL_TXQX_ETS_CTRL; /**< Queue 1 ETS Control..Queue 4 ETS Control, array offset: 0xD10, array step: 0x40, valid indices: [1-4] */ + __I uint32_t MTL_TXQX_ETS_STAT; /**< Queue 0 ETS Status..Queue 4 ETS Status, array offset: 0xD14, array step: 0x40 */ + __IO uint32_t MTL_TXQX_QNTM_WGHT; /**< Queue 0 Quantum or Weights..Queue 4 idleSlopeCredit, Quantum or Weights, array offset: 0xD18, array step: 0x40 */ + __IO uint32_t MTL_TXQX_SNDSLP_CRDT; /**< Queue 1 sendSlopeCredit..Queue 4 sendSlopeCredit, array offset: 0xD1C, array step: 0x40, valid indices: [1-4] */ + __IO uint32_t MTL_TXQX_HI_CRDT; /**< Queue 1 hiCredit..Queue 4 hiCredit, array offset: 0xD20, array step: 0x40, valid indices: [1-4] */ + __IO uint32_t MTL_TXQX_LO_CRDT; /**< Queue 1 loCredit..Queue 4 loCredit, array offset: 0xD24, array step: 0x40, valid indices: [1-4] */ + uint8_t RESERVED_1[4]; + __IO uint32_t MTL_TXQX_INTCTRL_STAT; /**< Queue 0 Interrupt Control Status..Queue 4 Interrupt Control Status, array offset: 0xD2C, array step: 0x40 */ + __IO uint32_t MTL_RXQX_OP_MODE; /**< Queue 0 Receive Operation Mode..Queue 4 Receive Operation Mode, array offset: 0xD30, array step: 0x40 */ + __I uint32_t MTL_RXQX_MISSPKT_OVRFLW_CNT; /**< Queue 0 Missed Packet and Overflow Counter..Queue 4 Missed Packet and Overflow Counter, array offset: 0xD34, array step: 0x40 */ + __I uint32_t MTL_RXQX_DBG; /**< Queue 0 Receive Debug..Queue 4 Receive Debug, array offset: 0xD38, array step: 0x40 */ + __IO uint32_t MTL_RXQX_CTRL; /**< Queue 0 Receive Control..Queue 4 Receive Control, array offset: 0xD3C, array step: 0x40 */ + } MTL_QUEUE[5]; + uint8_t RESERVED_55[448]; + __IO uint32_t DMA_MODE; /**< DMA Bus Mode, offset: 0x1000 */ + __IO uint32_t DMA_SYSBUS_MODE; /**< DMA System Bus Mode, offset: 0x1004 */ + __I uint32_t DMA_INTERRUPT_STATUS; /**< DMA Interrupt Status, offset: 0x1008 */ + __I uint32_t DMA_DEBUG_STATUS0; /**< DMA Debug Status 0, offset: 0x100C */ + __I uint32_t DMA_DEBUG_STATUS1; /**< DMA Debug Status 1, offset: 0x1010 */ + uint8_t RESERVED_56[44]; + __IO uint32_t DMA_AXI_LPI_ENTRY_INTERVAL; /**< AXI LPI Entry Interval Control, offset: 0x1040 */ + uint8_t RESERVED_57[12]; + __IO uint32_t DMA_TBS_CTRL0; /**< DMA_TBS_CTRL0, offset: 0x1050 */ + __IO uint32_t DMA_TBS_CTRL1; /**< DMA_TBS_CTRL1, offset: 0x1054 */ + __IO uint32_t DMA_TBS_CTRL2; /**< DMA_TBS_CTRL2, offset: 0x1058 */ + __IO uint32_t DMA_TBS_CTRL3; /**< DMA_TBS_CTRL3, offset: 0x105C */ + uint8_t RESERVED_58[160]; + struct { /* offset: 0x1100, array step: 0x80 */ + __IO uint32_t DMA_CHX_CTRL; /**< DMA Channel 0 Control..Channel 4 Control, array offset: 0x1100, array step: 0x80 */ + __IO uint32_t DMA_CHX_TX_CTRL; /**< DMA Channel 0 Transmit Control..DMA Channel 4 Transmit Control, array offset: 0x1104, array step: 0x80 */ + __IO uint32_t DMA_CHX_RX_CTRL; /**< DMA Channel 0 Receive Control..DMA Channel 4 Receive Control, array offset: 0x1108, array step: 0x80 */ + uint8_t RESERVED_0[8]; + __IO uint32_t DMA_CHX_TXDESC_LIST_ADDR; /**< Channel 0 Tx Descriptor List Address register..Channel 4 Tx Descriptor List Address, array offset: 0x1114, array step: 0x80 */ + uint8_t RESERVED_1[4]; + __IO uint32_t DMA_CHX_RXDESC_LIST_ADDR; /**< Channel 0 Rx Descriptor List Address register..Channel 4 Rx Descriptor List Address, array offset: 0x111C, array step: 0x80 */ + __IO uint32_t DMA_CHX_TXDESC_TAIL_PTR; /**< Channel 0 Tx Descriptor Tail Pointer..Channel 4 Tx Descriptor Tail Pointer, array offset: 0x1120, array step: 0x80 */ + uint8_t RESERVED_2[4]; + __IO uint32_t DMA_CHX_RXDESC_TAIL_PTR; /**< Channel 0 Rx Descriptor Tail Pointer..Channel 4 Rx Descriptor Tail Pointer, array offset: 0x1128, array step: 0x80 */ + __IO uint32_t DMA_CHX_TXDESC_RING_LENGTH; /**< Channel 0 Tx Descriptor Ring Length..Channel 4 Tx Descriptor Ring Length, array offset: 0x112C, array step: 0x80 */ + __IO uint32_t DMA_CHX_RX_CONTROL2; /**< Channel 0 Receive Control 2 register..DMA Channel 4 Receive Control 2 register, array offset: 0x1130, array step: 0x80 */ + __IO uint32_t DMA_CHX_INT_EN; /**< Channel 0 Interrupt Enable..Channel 4 Interrupt Enable, array offset: 0x1134, array step: 0x80 */ + __IO uint32_t DMA_CHX_RX_INT_WDTIMER; /**< Channel 0 Receive Interrupt Watchdog Timer..Channel 4 Receive Interrupt Watchdog Timer, array offset: 0x1138, array step: 0x80 */ + __IO uint32_t DMA_CHX_SLOT_FUNC_CTRL_STAT; /**< Channel 0 Slot Function Control and Status..Channel 4 Slot Function Control and Status, array offset: 0x113C, array step: 0x80 */ + uint8_t RESERVED_3[4]; + __I uint32_t DMA_CHX_CUR_HST_TXDESC; /**< Channel 0 Current Application Transmit Descriptor..Channel 4 Current Application Transmit Descriptor, array offset: 0x1144, array step: 0x80 */ + uint8_t RESERVED_4[4]; + __I uint32_t DMA_CHX_CUR_HST_RXDESC; /**< Channel 0 Current Application Receive Descriptor..Channel 4 Current Application Receive Descriptor, array offset: 0x114C, array step: 0x80 */ + uint8_t RESERVED_5[4]; + __I uint32_t DMA_CHX_CUR_HST_TXBUF; /**< Channel 0 Current Application Transmit Buffer Address..Channel 4 Current Application Transmit Buffer Address, array offset: 0x1154, array step: 0x80 */ + uint8_t RESERVED_6[4]; + __I uint32_t DMA_CHX_CUR_HST_RXBUF; /**< Channel 0 Current Application Receive Buffer Address..Channel 4 Current Application Receive Buffer Address, array offset: 0x115C, array step: 0x80 */ + __IO uint32_t DMA_CHX_STAT; /**< DMA Channel 0 Status..DMA Channel 4 Status, array offset: 0x1160, array step: 0x80 */ + __I uint32_t DMA_CHX_MISS_FRAME_CNT; /**< Channel 0 Missed Frame Counter..Channel 4 Missed Frame Counter, array offset: 0x1164, array step: 0x80 */ + __I uint32_t DMA_CHX_RXP_ACCEPT_CNT; /**< Channel 0 RXP Frames Accepted Counter..Channel 4 RXP Frames Accepted Counter, array offset: 0x1168, array step: 0x80 */ + uint8_t RESERVED_7[20]; + } DMA_CH[5]; +} ENET_QOS_Type; + +/* ---------------------------------------------------------------------------- + -- ENET_QOS Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ENET_QOS_Register_Masks ENET_QOS Register Masks + * @{ + */ + +/*! @name MAC_CONFIGURATION - MAC Configuration Register */ +/*! @{ */ + +#define ENET_QOS_MAC_CONFIGURATION_RE_MASK (0x1U) +#define ENET_QOS_MAC_CONFIGURATION_RE_SHIFT (0U) +/*! RE - Receiver Enable + * 0b0..Receiver is disabled + * 0b1..Receiver is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_RE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_RE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_RE_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_TE_MASK (0x2U) +#define ENET_QOS_MAC_CONFIGURATION_TE_SHIFT (1U) +/*! TE - Transmitter Enable + * 0b0..Transmitter is disabled + * 0b1..Transmitter is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_TE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_TE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_TE_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_PRELEN_MASK (0xCU) +#define ENET_QOS_MAC_CONFIGURATION_PRELEN_SHIFT (2U) +/*! PRELEN - Preamble Length for Transmit packets + * 0b00..7 bytes of preamble + * 0b01..5 bytes of preamble + * 0b10..3 bytes of preamble + * 0b11..Reserved + */ +#define ENET_QOS_MAC_CONFIGURATION_PRELEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_PRELEN_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_PRELEN_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_DC_MASK (0x10U) +#define ENET_QOS_MAC_CONFIGURATION_DC_SHIFT (4U) +/*! DC - Deferral Check + * 0b0..Deferral check function is disabled + * 0b1..Deferral check function is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_DC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DC_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_BL_MASK (0x60U) +#define ENET_QOS_MAC_CONFIGURATION_BL_SHIFT (5U) +/*! BL - Back-Off Limit + * 0b00..k = min(n,10) + * 0b01..k = min(n,8) + * 0b10..k = min(n,4) + * 0b11..k = min(n,1) + */ +#define ENET_QOS_MAC_CONFIGURATION_BL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_BL_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_BL_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_DR_MASK (0x100U) +#define ENET_QOS_MAC_CONFIGURATION_DR_SHIFT (8U) +/*! DR - Disable Retry + * 0b0..Enable Retry + * 0b1..Disable Retry + */ +#define ENET_QOS_MAC_CONFIGURATION_DR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DR_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DR_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_DCRS_MASK (0x200U) +#define ENET_QOS_MAC_CONFIGURATION_DCRS_SHIFT (9U) +/*! DCRS - Disable Carrier Sense During Transmission + * 0b0..Enable Carrier Sense During Transmission + * 0b1..Disable Carrier Sense During Transmission + */ +#define ENET_QOS_MAC_CONFIGURATION_DCRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DCRS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DCRS_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_DO_MASK (0x400U) +#define ENET_QOS_MAC_CONFIGURATION_DO_SHIFT (10U) +/*! DO - Disable Receive Own + * 0b0..Enable Receive Own + * 0b1..Disable Receive Own + */ +#define ENET_QOS_MAC_CONFIGURATION_DO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DO_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DO_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_ECRSFD_MASK (0x800U) +#define ENET_QOS_MAC_CONFIGURATION_ECRSFD_SHIFT (11U) +/*! ECRSFD - Enable Carrier Sense Before Transmission in Full-Duplex Mode + * 0b0..ECRSFD is disabled + * 0b1..ECRSFD is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_ECRSFD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_ECRSFD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_ECRSFD_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_LM_MASK (0x1000U) +#define ENET_QOS_MAC_CONFIGURATION_LM_SHIFT (12U) +/*! LM - Loopback Mode + * 0b0..Loopback is disabled + * 0b1..Loopback is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_LM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_LM_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_LM_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_DM_MASK (0x2000U) +#define ENET_QOS_MAC_CONFIGURATION_DM_SHIFT (13U) +/*! DM - Duplex Mode + * 0b0..Half-duplex mode + * 0b1..Full-duplex mode + */ +#define ENET_QOS_MAC_CONFIGURATION_DM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DM_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DM_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_FES_MASK (0x4000U) +#define ENET_QOS_MAC_CONFIGURATION_FES_SHIFT (14U) +/*! FES - Speed + * 0b0..10 Mbps when PS bit is 1 and 1 Gbps when PS bit is 0 + * 0b1..100 Mbps when PS bit is 1 and 2.5 Gbps when PS bit is 0 + */ +#define ENET_QOS_MAC_CONFIGURATION_FES(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_FES_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_FES_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_PS_MASK (0x8000U) +#define ENET_QOS_MAC_CONFIGURATION_PS_SHIFT (15U) +/*! PS - Port Select + * 0b0..For 1000 or 2500 Mbps operations + * 0b1..For 10 or 100 Mbps operations + */ +#define ENET_QOS_MAC_CONFIGURATION_PS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_PS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_PS_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_JE_MASK (0x10000U) +#define ENET_QOS_MAC_CONFIGURATION_JE_SHIFT (16U) +/*! JE - Jumbo Packet Enable When this bit is set, the MAC allows jumbo packets of 9,018 bytes + * (9,022 bytes for VLAN tagged packets) without reporting a giant packet error in the Rx packet + * status. + * 0b0..Jumbo packet is disabled + * 0b1..Jumbo packet is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_JE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_JE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_JE_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_JD_MASK (0x20000U) +#define ENET_QOS_MAC_CONFIGURATION_JD_SHIFT (17U) +/*! JD - Jabber Disable + * 0b0..Jabber is enabled + * 0b1..Jabber is disabled + */ +#define ENET_QOS_MAC_CONFIGURATION_JD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_JD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_JD_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_BE_MASK (0x40000U) +#define ENET_QOS_MAC_CONFIGURATION_BE_SHIFT (18U) +/*! BE - Packet Burst Enable When this bit is set, the MAC allows packet bursting during + * transmission in the GMII half-duplex mode. + * 0b0..Packet Burst is disabled + * 0b1..Packet Burst is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_BE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_BE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_BE_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_WD_MASK (0x80000U) +#define ENET_QOS_MAC_CONFIGURATION_WD_SHIFT (19U) +/*! WD - Watchdog Disable + * 0b0..Watchdog is enabled + * 0b1..Watchdog is disabled + */ +#define ENET_QOS_MAC_CONFIGURATION_WD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_WD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_WD_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_ACS_MASK (0x100000U) +#define ENET_QOS_MAC_CONFIGURATION_ACS_SHIFT (20U) +/*! ACS - Automatic Pad or CRC Stripping When this bit is set, the MAC strips the Pad or FCS field + * on the incoming packets only if the value of the length field is less than 1,536 bytes. + * 0b0..Automatic Pad or CRC Stripping is disabled + * 0b1..Automatic Pad or CRC Stripping is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_ACS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_ACS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_ACS_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_CST_MASK (0x200000U) +#define ENET_QOS_MAC_CONFIGURATION_CST_SHIFT (21U) +/*! CST - CRC stripping for Type packets When this bit is set, the last four bytes (FCS) of all + * packets of Ether type (type field greater than 1,536) are stripped and dropped before forwarding + * the packet to the application. + * 0b0..CRC stripping for Type packets is disabled + * 0b1..CRC stripping for Type packets is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_CST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_CST_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_CST_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_S2KP_MASK (0x400000U) +#define ENET_QOS_MAC_CONFIGURATION_S2KP_SHIFT (22U) +/*! S2KP - IEEE 802. + * 0b0..Support upto 2K packet is disabled + * 0b1..Support upto 2K packet is Enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_S2KP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_S2KP_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_S2KP_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_GPSLCE_MASK (0x800000U) +#define ENET_QOS_MAC_CONFIGURATION_GPSLCE_SHIFT (23U) +/*! GPSLCE - Giant Packet Size Limit Control Enable + * 0b0..Giant Packet Size Limit Control is disabled + * 0b1..Giant Packet Size Limit Control is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_GPSLCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_GPSLCE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_GPSLCE_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_IPG_MASK (0x7000000U) +#define ENET_QOS_MAC_CONFIGURATION_IPG_SHIFT (24U) +/*! IPG - Inter-Packet Gap These bits control the minimum IPG between packets during transmission. + * 0b000..96 bit times IPG + * 0b001..88 bit times IPG + * 0b010..80 bit times IPG + * 0b011..72 bit times IPG + * 0b100..64 bit times IPG + * 0b101..56 bit times IPG + * 0b110..48 bit times IPG + * 0b111..40 bit times IPG + */ +#define ENET_QOS_MAC_CONFIGURATION_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_IPG_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_IPG_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_IPC_MASK (0x8000000U) +#define ENET_QOS_MAC_CONFIGURATION_IPC_SHIFT (27U) +/*! IPC - Checksum Offload + * 0b0..IP header/payload checksum checking is disabled + * 0b1..IP header/payload checksum checking is enabled + */ +#define ENET_QOS_MAC_CONFIGURATION_IPC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_IPC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_IPC_MASK) + +#define ENET_QOS_MAC_CONFIGURATION_SARC_MASK (0x70000000U) +#define ENET_QOS_MAC_CONFIGURATION_SARC_SHIFT (28U) +/*! SARC - Source Address Insertion or Replacement Control + * 0b000..mti_sa_ctrl_i and ati_sa_ctrl_i input signals control the SA field generation + * 0b010..Contents of MAC Addr-0 inserted in SA field + * 0b011..Contents of MAC Addr-0 replaces SA field + * 0b110..Contents of MAC Addr-1 inserted in SA field + * 0b111..Contents of MAC Addr-1 replaces SA field + */ +#define ENET_QOS_MAC_CONFIGURATION_SARC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_SARC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_SARC_MASK) +/*! @} */ + +/*! @name MAC_EXT_CONFIGURATION - MAC Extended Configuration Register */ +/*! @{ */ + +#define ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_MASK (0x3FFFU) +#define ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_SHIFT (0U) +/*! GPSL - Giant Packet Size Limit */ +#define ENET_QOS_MAC_EXT_CONFIGURATION_GPSL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_MASK) + +#define ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_MASK (0x10000U) +#define ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_SHIFT (16U) +/*! DCRCC - Disable CRC Checking for Received Packets + * 0b0..CRC Checking is enabled + * 0b1..CRC Checking is disabled + */ +#define ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_MASK) + +#define ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_MASK (0x20000U) +#define ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_SHIFT (17U) +/*! SPEN - Slow Protocol Detection Enable + * 0b0..Slow Protocol Detection is disabled + * 0b1..Slow Protocol Detection is enabled + */ +#define ENET_QOS_MAC_EXT_CONFIGURATION_SPEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_MASK) + +#define ENET_QOS_MAC_EXT_CONFIGURATION_USP_MASK (0x40000U) +#define ENET_QOS_MAC_EXT_CONFIGURATION_USP_SHIFT (18U) +/*! USP - Unicast Slow Protocol Packet Detect + * 0b0..Unicast Slow Protocol Packet Detection is disabled + * 0b1..Unicast Slow Protocol Packet Detection is enabled + */ +#define ENET_QOS_MAC_EXT_CONFIGURATION_USP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_USP_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_USP_MASK) + +#define ENET_QOS_MAC_EXT_CONFIGURATION_PDC_MASK (0x80000U) +#define ENET_QOS_MAC_EXT_CONFIGURATION_PDC_SHIFT (19U) +/*! PDC - Packet Duplication Control + * 0b0..Packet Duplication Control is disabled + * 0b1..Packet Duplication Control is enabled + */ +#define ENET_QOS_MAC_EXT_CONFIGURATION_PDC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_PDC_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_PDC_MASK) + +#define ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_MASK (0x1000000U) +#define ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_SHIFT (24U) +/*! EIPGEN - Extended Inter-Packet Gap Enable + * 0b0..Extended Inter-Packet Gap is disabled + * 0b1..Extended Inter-Packet Gap is enabled + */ +#define ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_MASK) + +#define ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_MASK (0x3E000000U) +#define ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_SHIFT (25U) +/*! EIPG - Extended Inter-Packet Gap */ +#define ENET_QOS_MAC_EXT_CONFIGURATION_EIPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_MASK) +/*! @} */ + +/*! @name MAC_PACKET_FILTER - MAC Packet Filter */ +/*! @{ */ + +#define ENET_QOS_MAC_PACKET_FILTER_PR_MASK (0x1U) +#define ENET_QOS_MAC_PACKET_FILTER_PR_SHIFT (0U) +/*! PR - Promiscuous Mode + * 0b0..Promiscuous Mode is disabled + * 0b1..Promiscuous Mode is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_PR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_PR_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_PR_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_HUC_MASK (0x2U) +#define ENET_QOS_MAC_PACKET_FILTER_HUC_SHIFT (1U) +/*! HUC - Hash Unicast + * 0b0..Hash Unicast is disabled + * 0b1..Hash Unicast is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_HUC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_HUC_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_HUC_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_HMC_MASK (0x4U) +#define ENET_QOS_MAC_PACKET_FILTER_HMC_SHIFT (2U) +/*! HMC - Hash Multicast + * 0b0..Hash Multicast is disabled + * 0b1..Hash Multicast is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_HMC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_HMC_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_HMC_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_DAIF_MASK (0x8U) +#define ENET_QOS_MAC_PACKET_FILTER_DAIF_SHIFT (3U) +/*! DAIF - DA Inverse Filtering + * 0b0..DA Inverse Filtering is disabled + * 0b1..DA Inverse Filtering is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_DAIF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_DAIF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_DAIF_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_PM_MASK (0x10U) +#define ENET_QOS_MAC_PACKET_FILTER_PM_SHIFT (4U) +/*! PM - Pass All Multicast + * 0b0..Pass All Multicast is disabled + * 0b1..Pass All Multicast is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_PM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_PM_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_PM_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_DBF_MASK (0x20U) +#define ENET_QOS_MAC_PACKET_FILTER_DBF_SHIFT (5U) +/*! DBF - Disable Broadcast Packets + * 0b0..Enable Broadcast Packets + * 0b1..Disable Broadcast Packets + */ +#define ENET_QOS_MAC_PACKET_FILTER_DBF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_DBF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_DBF_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_PCF_MASK (0xC0U) +#define ENET_QOS_MAC_PACKET_FILTER_PCF_SHIFT (6U) +/*! PCF - Pass Control Packets These bits control the forwarding of all control packets (including + * unicast and multicast Pause packets). + * 0b00..MAC filters all control packets from reaching the application + * 0b01..MAC forwards all control packets except Pause packets to the application even if they fail the Address filter + * 0b10..MAC forwards all control packets to the application even if they fail the Address filter + * 0b11..MAC forwards the control packets that pass the Address filter + */ +#define ENET_QOS_MAC_PACKET_FILTER_PCF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_PCF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_PCF_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_SAIF_MASK (0x100U) +#define ENET_QOS_MAC_PACKET_FILTER_SAIF_SHIFT (8U) +/*! SAIF - SA Inverse Filtering + * 0b0..SA Inverse Filtering is disabled + * 0b1..SA Inverse Filtering is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_SAIF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_SAIF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_SAIF_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_SAF_MASK (0x200U) +#define ENET_QOS_MAC_PACKET_FILTER_SAF_SHIFT (9U) +/*! SAF - Source Address Filter Enable + * 0b0..SA Filtering is disabled + * 0b1..SA Filtering is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_SAF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_SAF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_SAF_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_HPF_MASK (0x400U) +#define ENET_QOS_MAC_PACKET_FILTER_HPF_SHIFT (10U) +/*! HPF - Hash or Perfect Filter + * 0b0..Hash or Perfect Filter is disabled + * 0b1..Hash or Perfect Filter is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_HPF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_HPF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_HPF_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_VTFE_MASK (0x10000U) +#define ENET_QOS_MAC_PACKET_FILTER_VTFE_SHIFT (16U) +/*! VTFE - VLAN Tag Filter Enable + * 0b0..VLAN Tag Filter is disabled + * 0b1..VLAN Tag Filter is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_VTFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_VTFE_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_VTFE_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_IPFE_MASK (0x100000U) +#define ENET_QOS_MAC_PACKET_FILTER_IPFE_SHIFT (20U) +/*! IPFE - Layer 3 and Layer 4 Filter Enable + * 0b0..Layer 3 and Layer 4 Filters are disabled + * 0b1..Layer 3 and Layer 4 Filters are enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_IPFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_IPFE_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_IPFE_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_DNTU_MASK (0x200000U) +#define ENET_QOS_MAC_PACKET_FILTER_DNTU_SHIFT (21U) +/*! DNTU - Drop Non-TCP/UDP over IP Packets + * 0b0..Forward Non-TCP/UDP over IP Packets + * 0b1..Drop Non-TCP/UDP over IP Packets + */ +#define ENET_QOS_MAC_PACKET_FILTER_DNTU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_DNTU_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_DNTU_MASK) + +#define ENET_QOS_MAC_PACKET_FILTER_RA_MASK (0x80000000U) +#define ENET_QOS_MAC_PACKET_FILTER_RA_SHIFT (31U) +/*! RA - Receive All + * 0b0..Receive All is disabled + * 0b1..Receive All is enabled + */ +#define ENET_QOS_MAC_PACKET_FILTER_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_RA_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_RA_MASK) +/*! @} */ + +/*! @name MAC_WATCHDOG_TIMEOUT - Watchdog Timeout */ +/*! @{ */ + +#define ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_MASK (0xFU) +#define ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_SHIFT (0U) +/*! WTO - Watchdog Timeout + * 0b0000..2 KB + * 0b0001..3 KB + * 0b0010..4 KB + * 0b0011..5 KB + * 0b0100..6 KB + * 0b0101..7 KB + * 0b0110..8 KB + * 0b0111..9 KB + * 0b1000..10 KB + * 0b1001..11 KB + * 0b1010..12 KB + * 0b1011..13 KB + * 0b1100..14 KB + * 0b1101..15 KB + * 0b1110..16383 Bytes + * 0b1111..Reserved + */ +#define ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_SHIFT)) & ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_MASK) + +#define ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_MASK (0x100U) +#define ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_SHIFT (8U) +/*! PWE - Programmable Watchdog Enable + * 0b0..Programmable Watchdog is disabled + * 0b1..Programmable Watchdog is enabled + */ +#define ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_SHIFT)) & ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_MASK) +/*! @} */ + +/*! @name MAC_HASH_TABLE_REG0 - MAC Hash Table Register 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_SHIFT (0U) +/*! HT31T0 - MAC Hash Table First 32 Bits This field contains the first 32 Bits [31:0] of the Hash table. */ +#define ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_SHIFT)) & ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_MASK) +/*! @} */ + +/*! @name MAC_HASH_TABLE_REG1 - MAC Hash Table Register 1 */ +/*! @{ */ + +#define ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_SHIFT (0U) +/*! HT63T32 - MAC Hash Table Second 32 Bits This field contains the second 32 Bits [63:32] of the Hash table. */ +#define ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_SHIFT)) & ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_MASK) +/*! @} */ + +/*! @name MAC_VLAN_TAG_CTRL - MAC VLAN Tag Control */ +/*! @{ */ + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_OB_MASK (0x1U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_OB_SHIFT (0U) +/*! OB - Operation Busy + * 0b0..Operation Busy is disabled + * 0b1..Operation Busy is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_OB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_OB_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_OB_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_CT_MASK (0x2U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_CT_SHIFT (1U) +/*! CT - Command Type + * 0b0..Write operation + * 0b1..Read operation + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_CT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_CT_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_CT_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_MASK (0x7CU) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_SHIFT (2U) +/*! OFS - Offset */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_OFS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_MASK (0x20000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_SHIFT (17U) +/*! VTIM - VLAN Tag Inverse Match Enable + * 0b0..VLAN Tag Inverse Match is disabled + * 0b1..VLAN Tag Inverse Match is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_MASK (0x40000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_SHIFT (18U) +/*! ESVL - Enable S-VLAN When this bit is set, the MAC transmitter and receiver consider the S-VLAN + * packets (Type = 0x88A8) as valid VLAN tagged packets. + * 0b0..S-VLAN is disabled + * 0b1..S-VLAN is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_MASK (0x600000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_SHIFT (21U) +/*! EVLS - Enable VLAN Tag Stripping on Receive This field indicates the stripping operation on the + * outer VLAN Tag in received packet. + * 0b00..Do not strip + * 0b01..Strip if VLAN filter passes + * 0b10..Strip if VLAN filter fails + * 0b11..Always strip + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_MASK (0x1000000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_SHIFT (24U) +/*! EVLRXS - Enable VLAN Tag in Rx status + * 0b0..VLAN Tag in Rx status is disabled + * 0b1..VLAN Tag in Rx status is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_MASK (0x2000000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_SHIFT (25U) +/*! VTHM - VLAN Tag Hash Table Match Enable + * 0b0..VLAN Tag Hash Table Match is disabled + * 0b1..VLAN Tag Hash Table Match is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_MASK (0x4000000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_SHIFT (26U) +/*! EDVLP - Enable Double VLAN Processing + * 0b0..Double VLAN Processing is disabled + * 0b1..Double VLAN Processing is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_MASK (0x8000000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_SHIFT (27U) +/*! ERIVLT - ERIVLT + * 0b0..Inner VLAN tag is disabled + * 0b1..Inner VLAN tag is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_MASK (0x30000000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_SHIFT (28U) +/*! EIVLS - Enable Inner VLAN Tag Stripping on Receive This field indicates the stripping operation + * on inner VLAN Tag in received packet. + * 0b00..Do not strip + * 0b01..Strip if VLAN filter passes + * 0b10..Strip if VLAN filter fails + * 0b11..Always strip + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_MASK (0x80000000U) +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_SHIFT (31U) +/*! EIVLRXS - Enable Inner VLAN Tag in Rx Status + * 0b0..Inner VLAN Tag in Rx status is disabled + * 0b1..Inner VLAN Tag in Rx status is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_MASK) +/*! @} */ + +/*! @name MAC_VLAN_TAG_DATA - MAC VLAN Tag Data */ +/*! @{ */ + +#define ENET_QOS_MAC_VLAN_TAG_DATA_VID_MASK (0xFFFFU) +#define ENET_QOS_MAC_VLAN_TAG_DATA_VID_SHIFT (0U) +/*! VID - VLAN Tag ID */ +#define ENET_QOS_MAC_VLAN_TAG_DATA_VID(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_VID_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_VID_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_DATA_VEN_MASK (0x10000U) +#define ENET_QOS_MAC_VLAN_TAG_DATA_VEN_SHIFT (16U) +/*! VEN - VLAN Tag Enable + * 0b0..VLAN Tag is disabled + * 0b1..VLAN Tag is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_DATA_VEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_VEN_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_VEN_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_DATA_ETV_MASK (0x20000U) +#define ENET_QOS_MAC_VLAN_TAG_DATA_ETV_SHIFT (17U) +/*! ETV - 12bits or 16bits VLAN comparison + * 0b0..16 bit VLAN comparison + * 0b1..12 bit VLAN comparison + */ +#define ENET_QOS_MAC_VLAN_TAG_DATA_ETV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_ETV_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_ETV_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_MASK (0x40000U) +#define ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_SHIFT (18U) +/*! DOVLTC - Disable VLAN Type Comparison + * 0b0..VLAN type comparison is enabled + * 0b1..VLAN type comparison is disabled + */ +#define ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_MASK (0x80000U) +#define ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_SHIFT (19U) +/*! ERSVLM - Enable S-VLAN Match for received Frames + * 0b0..Receive S-VLAN Match is disabled + * 0b1..Receive S-VLAN Match is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_MASK (0x100000U) +#define ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_SHIFT (20U) +/*! ERIVLT - Enable Inner VLAN Tag Comparison + * 0b0..Inner VLAN tag comparison is disabled + * 0b1..Inner VLAN tag comparison is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_MASK (0x1000000U) +#define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_SHIFT (24U) +/*! DMACHEN - DMA Channel Number Enable + * 0b0..DMA Channel Number is disabled + * 0b1..DMA Channel Number is enabled + */ +#define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_MASK) + +#define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_MASK (0xE000000U) +#define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_SHIFT (25U) +/*! DMACHN - DMA Channel Number */ +#define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_MASK) +/*! @} */ + +/*! @name MAC_VLAN_HASH_TABLE - MAC VLAN Hash Table */ +/*! @{ */ + +#define ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_MASK (0xFFFFU) +#define ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_SHIFT (0U) +/*! VLHT - VLAN Hash Table This field contains the 16-bit VLAN Hash Table. */ +#define ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_SHIFT)) & ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_MASK) +/*! @} */ + +/*! @name MAC_VLAN_INCL - VLAN Tag Inclusion or Replacement */ +/*! @{ */ + +#define ENET_QOS_MAC_VLAN_INCL_VLT_MASK (0xFFFFU) +#define ENET_QOS_MAC_VLAN_INCL_VLT_SHIFT (0U) +/*! VLT - VLAN Tag for Transmit Packets */ +#define ENET_QOS_MAC_VLAN_INCL_VLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_VLT_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_VLT_MASK) + +#define ENET_QOS_MAC_VLAN_INCL_VLC_MASK (0x30000U) +#define ENET_QOS_MAC_VLAN_INCL_VLC_SHIFT (16U) +/*! VLC - VLAN Tag Control in Transmit Packets - 2'b00: No VLAN tag deletion, insertion, or + * replacement - 2'b01: VLAN tag deletion The MAC removes the VLAN type (bytes 13 and 14) and VLAN tag + * (bytes 15 and 16) of all transmitted packets with VLAN tags. + * 0b00..No VLAN tag deletion, insertion, or replacement + * 0b01..VLAN tag deletion + * 0b10..VLAN tag insertion + * 0b11..VLAN tag replacement + */ +#define ENET_QOS_MAC_VLAN_INCL_VLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_VLC_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_VLC_MASK) + +#define ENET_QOS_MAC_VLAN_INCL_VLP_MASK (0x40000U) +#define ENET_QOS_MAC_VLAN_INCL_VLP_SHIFT (18U) +/*! VLP - VLAN Priority Control + * 0b0..VLAN Priority Control is disabled + * 0b1..VLAN Priority Control is enabled + */ +#define ENET_QOS_MAC_VLAN_INCL_VLP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_VLP_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_VLP_MASK) + +#define ENET_QOS_MAC_VLAN_INCL_CSVL_MASK (0x80000U) +#define ENET_QOS_MAC_VLAN_INCL_CSVL_SHIFT (19U) +/*! CSVL - C-VLAN or S-VLAN + * 0b0..C-VLAN type (0x8100) is inserted or replaced + * 0b1..S-VLAN type (0x88A8) is inserted or replaced + */ +#define ENET_QOS_MAC_VLAN_INCL_CSVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_CSVL_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_CSVL_MASK) + +#define ENET_QOS_MAC_VLAN_INCL_VLTI_MASK (0x100000U) +#define ENET_QOS_MAC_VLAN_INCL_VLTI_SHIFT (20U) +/*! VLTI - VLAN Tag Input When this bit is set, it indicates that the VLAN tag to be inserted or + * replaced in Tx packet should be taken from: - The Tx descriptor + * 0b0..VLAN Tag Input is disabled + * 0b1..VLAN Tag Input is enabled + */ +#define ENET_QOS_MAC_VLAN_INCL_VLTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_VLTI_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_VLTI_MASK) + +#define ENET_QOS_MAC_VLAN_INCL_CBTI_MASK (0x200000U) +#define ENET_QOS_MAC_VLAN_INCL_CBTI_SHIFT (21U) +/*! CBTI - Channel based tag insertion + * 0b0..Channel based tag insertion is disabled + * 0b1..Channel based tag insertion is enabled + */ +#define ENET_QOS_MAC_VLAN_INCL_CBTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_CBTI_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_CBTI_MASK) + +#define ENET_QOS_MAC_VLAN_INCL_ADDR_MASK (0x7000000U) +#define ENET_QOS_MAC_VLAN_INCL_ADDR_SHIFT (24U) +/*! ADDR - Address */ +#define ENET_QOS_MAC_VLAN_INCL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_ADDR_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_ADDR_MASK) + +#define ENET_QOS_MAC_VLAN_INCL_RDWR_MASK (0x40000000U) +#define ENET_QOS_MAC_VLAN_INCL_RDWR_SHIFT (30U) +/*! RDWR - Read write control + * 0b0..Read operation of indirect access + * 0b1..Write operation of indirect access + */ +#define ENET_QOS_MAC_VLAN_INCL_RDWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_RDWR_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_RDWR_MASK) + +#define ENET_QOS_MAC_VLAN_INCL_BUSY_MASK (0x80000000U) +#define ENET_QOS_MAC_VLAN_INCL_BUSY_SHIFT (31U) +/*! BUSY - Busy + * 0b0..Busy status not detected + * 0b1..Busy status detected + */ +#define ENET_QOS_MAC_VLAN_INCL_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_BUSY_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_BUSY_MASK) +/*! @} */ + +/*! @name MAC_INNER_VLAN_INCL - MAC Inner VLAN Tag Inclusion or Replacement */ +/*! @{ */ + +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLT_MASK (0xFFFFU) +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLT_SHIFT (0U) +/*! VLT - VLAN Tag for Transmit Packets */ +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_VLT_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_VLT_MASK) + +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLC_MASK (0x30000U) +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLC_SHIFT (16U) +/*! VLC - VLAN Tag Control in Transmit Packets + * 0b00..No VLAN tag deletion, insertion, or replacement + * 0b01..VLAN tag deletion + * 0b10..VLAN tag insertion + * 0b11..VLAN tag replacement + */ +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_VLC_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_VLC_MASK) + +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLP_MASK (0x40000U) +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLP_SHIFT (18U) +/*! VLP - VLAN Priority Control + * 0b0..VLAN Priority Control is disabled + * 0b1..VLAN Priority Control is enabled + */ +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_VLP_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_VLP_MASK) + +#define ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_MASK (0x80000U) +#define ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_SHIFT (19U) +/*! CSVL - C-VLAN or S-VLAN + * 0b0..C-VLAN type (0x8100) is inserted + * 0b1..S-VLAN type (0x88A8) is inserted + */ +#define ENET_QOS_MAC_INNER_VLAN_INCL_CSVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_MASK) + +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_MASK (0x100000U) +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_SHIFT (20U) +/*! VLTI - VLAN Tag Input When this bit is set, it indicates that the VLAN tag to be inserted or + * replaced in Tx packet should be taken from: - The Tx descriptor + * 0b0..VLAN Tag Input is disabled + * 0b1..VLAN Tag Input is enabled + */ +#define ENET_QOS_MAC_INNER_VLAN_INCL_VLTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_MASK) +/*! @} */ + +/*! @name MAC_TX_FLOW_CTRL_Q - MAC Q0 Tx Flow Control..MAC Q4 Tx Flow Control */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_MASK (0x1U) +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_SHIFT (0U) +/*! FCB_BPA - Flow Control Busy or Backpressure Activate + * 0b0..Flow Control Busy or Backpressure Activate is disabled + * 0b1..Flow Control Busy or Backpressure Activate is enabled + */ +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_MASK) + +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_MASK (0x2U) +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_SHIFT (1U) +/*! TFE - Transmit Flow Control Enable + * 0b0..Transmit Flow Control is disabled + * 0b1..Transmit Flow Control is enabled + */ +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_MASK) + +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_MASK (0x70U) +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_SHIFT (4U) +/*! PLT - Pause Low Threshold + * 0b000..Pause Time minus 4 Slot Times (PT -4 slot times) + * 0b001..Pause Time minus 28 Slot Times (PT -28 slot times) + * 0b010..Pause Time minus 36 Slot Times (PT -36 slot times) + * 0b011..Pause Time minus 144 Slot Times (PT -144 slot times) + * 0b100..Pause Time minus 256 Slot Times (PT -256 slot times) + * 0b101..Pause Time minus 512 Slot Times (PT -512 slot times) + * 0b110..Reserved + */ +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_MASK) + +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_MASK (0x80U) +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_SHIFT (7U) +/*! DZPQ - Disable Zero-Quanta Pause + * 0b0..Zero-Quanta Pause packet generation is enabled + * 0b1..Zero-Quanta Pause packet generation is disabled + */ +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_MASK) + +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_SHIFT (16U) +/*! PT - Pause Time */ +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_MASK) +/*! @} */ + +/* The count of ENET_QOS_MAC_TX_FLOW_CTRL_Q */ +#define ENET_QOS_MAC_TX_FLOW_CTRL_Q_COUNT (5U) + +/*! @name MAC_RX_FLOW_CTRL - MAC Rx Flow Control */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_FLOW_CTRL_RFE_MASK (0x1U) +#define ENET_QOS_MAC_RX_FLOW_CTRL_RFE_SHIFT (0U) +/*! RFE - Receive Flow Control Enable + * 0b0..Receive Flow Control is disabled + * 0b1..Receive Flow Control is enabled + */ +#define ENET_QOS_MAC_RX_FLOW_CTRL_RFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_FLOW_CTRL_RFE_SHIFT)) & ENET_QOS_MAC_RX_FLOW_CTRL_RFE_MASK) + +#define ENET_QOS_MAC_RX_FLOW_CTRL_UP_MASK (0x2U) +#define ENET_QOS_MAC_RX_FLOW_CTRL_UP_SHIFT (1U) +/*! UP - Unicast Pause Packet Detect + * 0b0..Unicast Pause Packet Detect disabled + * 0b1..Unicast Pause Packet Detect enabled + */ +#define ENET_QOS_MAC_RX_FLOW_CTRL_UP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_FLOW_CTRL_UP_SHIFT)) & ENET_QOS_MAC_RX_FLOW_CTRL_UP_MASK) + +#define ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_MASK (0x100U) +#define ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_SHIFT (8U) +/*! PFCE - Priority Based Flow Control Enable + * 0b0..Priority Based Flow Control is disabled + * 0b1..Priority Based Flow Control is enabled + */ +#define ENET_QOS_MAC_RX_FLOW_CTRL_PFCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_SHIFT)) & ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_MASK) +/*! @} */ + +/*! @name MAC_RXQ_CTRL4 - Receive Queue Control 4 */ +/*! @{ */ + +#define ENET_QOS_MAC_RXQ_CTRL4_UFFQE_MASK (0x1U) +#define ENET_QOS_MAC_RXQ_CTRL4_UFFQE_SHIFT (0U) +/*! UFFQE - Unicast Address Filter Fail Packets Queuing Enable. + * 0b0..Unicast Address Filter Fail Packets Queuing is disabled + * 0b1..Unicast Address Filter Fail Packets Queuing is enabled + */ +#define ENET_QOS_MAC_RXQ_CTRL4_UFFQE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_UFFQE_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_UFFQE_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL4_UFFQ_MASK (0xEU) +#define ENET_QOS_MAC_RXQ_CTRL4_UFFQ_SHIFT (1U) +/*! UFFQ - Unicast Address Filter Fail Packets Queue. */ +#define ENET_QOS_MAC_RXQ_CTRL4_UFFQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_UFFQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_UFFQ_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL4_MFFQE_MASK (0x100U) +#define ENET_QOS_MAC_RXQ_CTRL4_MFFQE_SHIFT (8U) +/*! MFFQE - Multicast Address Filter Fail Packets Queuing Enable. + * 0b0..Multicast Address Filter Fail Packets Queuing is disabled + * 0b1..Multicast Address Filter Fail Packets Queuing is enabled + */ +#define ENET_QOS_MAC_RXQ_CTRL4_MFFQE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_MFFQE_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_MFFQE_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL4_MFFQ_MASK (0xE00U) +#define ENET_QOS_MAC_RXQ_CTRL4_MFFQ_SHIFT (9U) +/*! MFFQ - Multicast Address Filter Fail Packets Queue. */ +#define ENET_QOS_MAC_RXQ_CTRL4_MFFQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_MFFQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_MFFQ_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL4_VFFQE_MASK (0x10000U) +#define ENET_QOS_MAC_RXQ_CTRL4_VFFQE_SHIFT (16U) +/*! VFFQE - VLAN Tag Filter Fail Packets Queuing Enable + * 0b0..VLAN tag Filter Fail Packets Queuing is disabled + * 0b1..VLAN tag Filter Fail Packets Queuing is enabled + */ +#define ENET_QOS_MAC_RXQ_CTRL4_VFFQE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_VFFQE_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_VFFQE_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL4_VFFQ_MASK (0xE0000U) +#define ENET_QOS_MAC_RXQ_CTRL4_VFFQ_SHIFT (17U) +/*! VFFQ - VLAN Tag Filter Fail Packets Queue */ +#define ENET_QOS_MAC_RXQ_CTRL4_VFFQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_VFFQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_VFFQ_MASK) +/*! @} */ + +/*! @name MAC_TXQ_PRTY_MAP0 - Transmit Queue Priority Mapping 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_MASK (0xFFU) +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_SHIFT (0U) +/*! PSTQ0 - Priorities Selected in Transmit Queue 0 */ +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_MASK) + +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_MASK (0xFF00U) +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_SHIFT (8U) +/*! PSTQ1 - Priorities Selected in Transmit Queue 1 This bit is similar to the PSTQ0 bit. */ +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_MASK) + +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_MASK (0xFF0000U) +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_SHIFT (16U) +/*! PSTQ2 - Priorities Selected in Transmit Queue 2 This bit is similar to the PSTQ0 bit. */ +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_MASK) + +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_MASK (0xFF000000U) +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_SHIFT (24U) +/*! PSTQ3 - Priorities Selected in Transmit Queue 3 This bit is similar to the PSTQ0 bit. */ +#define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_MASK) +/*! @} */ + +/*! @name MAC_TXQ_PRTY_MAP1 - Transmit Queue Priority Mapping 1 */ +/*! @{ */ + +#define ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_MASK (0xFFU) +#define ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_SHIFT (0U) +/*! PSTQ4 - Priorities Selected in Transmit Queue 4 */ +#define ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_MASK) +/*! @} */ + +/*! @name MAC_RXQ_CTRL - Receive Queue Control 0..Receive Queue Control 3 */ +/*! @{ */ + +#define ENET_QOS_MAC_RXQ_CTRL_AVCPQ_MASK (0x7U) +#define ENET_QOS_MAC_RXQ_CTRL_AVCPQ_SHIFT (0U) +/*! AVCPQ - AV Untagged Control Packets Queue + * 0b000..Receive Queue 0 + * 0b001..Receive Queue 1 + * 0b010..Receive Queue 2 + * 0b011..Receive Queue 3 + * 0b100..Receive Queue 4 + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_AVCPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_AVCPQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_AVCPQ_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ0_MASK (0xFFU) +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ0_SHIFT (0U) +/*! PSRQ0 - Priorities Selected in the Receive Queue 0 */ +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ0_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ0_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ4_MASK (0xFFU) +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ4_SHIFT (0U) +/*! PSRQ4 - Priorities Selected in the Receive Queue 4 */ +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ4_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ4_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_MASK (0x3U) +#define ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_SHIFT (0U) +/*! RXQ0EN - Receive Queue 0 Enable This field indicates whether Rx Queue 0 is enabled for AV or DCB. + * 0b00..Queue not enabled + * 0b01..Queue enabled for AV + * 0b10..Queue enabled for DCB/Generic + * 0b11..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_RXQ0EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_MASK (0xCU) +#define ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_SHIFT (2U) +/*! RXQ1EN - Receive Queue 1 Enable This field is similar to the RXQ0EN field. + * 0b00..Queue not enabled + * 0b01..Queue enabled for AV + * 0b10..Queue enabled for DCB/Generic + * 0b11..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_RXQ1EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_PTPQ_MASK (0x70U) +#define ENET_QOS_MAC_RXQ_CTRL_PTPQ_SHIFT (4U) +/*! PTPQ - PTP Packets Queue + * 0b000..Receive Queue 0 + * 0b001..Receive Queue 1 + * 0b010..Receive Queue 2 + * 0b011..Receive Queue 3 + * 0b100..Receive Queue 4 + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_PTPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PTPQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PTPQ_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_MASK (0x30U) +#define ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_SHIFT (4U) +/*! RXQ2EN - Receive Queue 2 Enable This field is similar to the RXQ0EN field. + * 0b00..Queue not enabled + * 0b01..Queue enabled for AV + * 0b10..Queue enabled for DCB/Generic + * 0b11..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_RXQ2EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_MASK (0xC0U) +#define ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_SHIFT (6U) +/*! RXQ3EN - Receive Queue 3 Enable This field is similar to the RXQ0EN field. + * 0b00..Queue not enabled + * 0b01..Queue enabled for AV + * 0b10..Queue enabled for DCB/Generic + * 0b11..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_RXQ3EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_MASK (0x700U) +#define ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_SHIFT (8U) +/*! DCBCPQ - DCB Control Packets Queue + * 0b000..Receive Queue 0 + * 0b001..Receive Queue 1 + * 0b010..Receive Queue 2 + * 0b011..Receive Queue 3 + * 0b100..Receive Queue 4 + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_DCBCPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ1_MASK (0xFF00U) +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ1_SHIFT (8U) +/*! PSRQ1 - Priorities Selected in the Receive Queue 1 */ +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ1_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ1_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_MASK (0x300U) +#define ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_SHIFT (8U) +/*! RXQ4EN - Receive Queue 4 Enable This field is similar to the RXQ0EN field. + * 0b00..Queue not enabled + * 0b01..Queue enabled for AV + * 0b10..Queue enabled for DCB/Generic + * 0b11..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_RXQ4EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_UPQ_MASK (0x7000U) +#define ENET_QOS_MAC_RXQ_CTRL_UPQ_SHIFT (12U) +/*! UPQ - Untagged Packet Queue + * 0b000..Receive Queue 0 + * 0b001..Receive Queue 1 + * 0b010..Receive Queue 2 + * 0b011..Receive Queue 3 + * 0b100..Receive Queue 4 + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_UPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_UPQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_UPQ_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_MCBCQ_MASK (0x70000U) +#define ENET_QOS_MAC_RXQ_CTRL_MCBCQ_SHIFT (16U) +/*! MCBCQ - Multicast and Broadcast Queue + * 0b000..Receive Queue 0 + * 0b001..Receive Queue 1 + * 0b010..Receive Queue 2 + * 0b011..Receive Queue 3 + * 0b100..Receive Queue 4 + * 0b101..Reserved + * 0b110..Reserved + * 0b111..Reserved + */ +#define ENET_QOS_MAC_RXQ_CTRL_MCBCQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_MCBCQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_MCBCQ_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ2_MASK (0xFF0000U) +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ2_SHIFT (16U) +/*! PSRQ2 - Priorities Selected in the Receive Queue 2 */ +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ2_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ2_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_MASK (0x100000U) +#define ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_SHIFT (20U) +/*! MCBCQEN - Multicast and Broadcast Queue Enable This bit specifies that Multicast or Broadcast + * packets routing to the Rx Queue is enabled and the Multicast or Broadcast packets must be routed + * to Rx Queue specified in MCBCQ field. + * 0b0..Multicast and Broadcast Queue is disabled + * 0b1..Multicast and Broadcast Queue is enabled + */ +#define ENET_QOS_MAC_RXQ_CTRL_MCBCQEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_TACPQE_MASK (0x200000U) +#define ENET_QOS_MAC_RXQ_CTRL_TACPQE_SHIFT (21U) +/*! TACPQE - Tagged AV Control Packets Queuing Enable. + * 0b0..Tagged AV Control Packets Queuing is disabled + * 0b1..Tagged AV Control Packets Queuing is enabled + */ +#define ENET_QOS_MAC_RXQ_CTRL_TACPQE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_TACPQE_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_TACPQE_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_TPQC_MASK (0xC00000U) +#define ENET_QOS_MAC_RXQ_CTRL_TPQC_SHIFT (22U) +/*! TPQC - Tagged PTP over Ethernet Packets Queuing Control. */ +#define ENET_QOS_MAC_RXQ_CTRL_TPQC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_TPQC_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_TPQC_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_FPRQ_MASK (0x7000000U) +#define ENET_QOS_MAC_RXQ_CTRL_FPRQ_SHIFT (24U) +/*! FPRQ - Frame Preemption Residue Queue */ +#define ENET_QOS_MAC_RXQ_CTRL_FPRQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_FPRQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_FPRQ_MASK) + +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ3_MASK (0xFF000000U) +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ3_SHIFT (24U) +/*! PSRQ3 - Priorities Selected in the Receive Queue 3 */ +#define ENET_QOS_MAC_RXQ_CTRL_PSRQ3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ3_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ3_MASK) +/*! @} */ + +/* The count of ENET_QOS_MAC_RXQ_CTRL */ +#define ENET_QOS_MAC_RXQ_CTRL_COUNT (4U) + +/*! @name MAC_INTERRUPT_STATUS - Interrupt Status */ +/*! @{ */ + +#define ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_MASK (0x1U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_SHIFT (0U) +/*! RGSMIIIS - RGMII or SMII Interrupt Status + * 0b0..RGMII or SMII Interrupt Status is not active + * 0b1..RGMII or SMII Interrupt Status is active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_MASK (0x8U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_SHIFT (3U) +/*! PHYIS - PHY Interrupt + * 0b0..PHY Interrupt not detected + * 0b1..PHY Interrupt detected + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_MASK (0x10U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_SHIFT (4U) +/*! PMTIS - PMT Interrupt Status + * 0b0..PMT Interrupt status not active + * 0b1..PMT Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_MASK (0x20U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_SHIFT (5U) +/*! LPIIS - LPI Interrupt Status + * 0b0..LPI Interrupt status not active + * 0b1..LPI Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_MASK (0x100U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_SHIFT (8U) +/*! MMCIS - MMC Interrupt Status + * 0b0..MMC Interrupt status not active + * 0b1..MMC Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_MASK (0x200U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_SHIFT (9U) +/*! MMCRXIS - MMC Receive Interrupt Status + * 0b0..MMC Receive Interrupt status not active + * 0b1..MMC Receive Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_MASK (0x400U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_SHIFT (10U) +/*! MMCTXIS - MMC Transmit Interrupt Status + * 0b0..MMC Transmit Interrupt status not active + * 0b1..MMC Transmit Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_MASK (0x800U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_SHIFT (11U) +/*! MMCRXIPIS - MMC Receive Checksum Offload Interrupt Status + * 0b0..MMC Receive Checksum Offload Interrupt status not active + * 0b1..MMC Receive Checksum Offload Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_MASK (0x1000U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_SHIFT (12U) +/*! TSIS - Timestamp Interrupt Status + * 0b0..Timestamp Interrupt status not active + * 0b1..Timestamp Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_TSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_MASK (0x2000U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_SHIFT (13U) +/*! TXSTSIS - Transmit Status Interrupt + * 0b0..Transmit Interrupt status not active + * 0b1..Transmit Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_MASK (0x4000U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_SHIFT (14U) +/*! RXSTSIS - Receive Status Interrupt + * 0b0..Receive Interrupt status not active + * 0b1..Receive Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_MASK (0x20000U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_SHIFT (17U) +/*! FPEIS - Frame Preemption Interrupt Status + * 0b0..Frame Preemption Interrupt status not active + * 0b1..Frame Preemption Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_MASK (0x40000U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_SHIFT (18U) +/*! MDIOIS - MDIO Interrupt Status + * 0b0..MDIO Interrupt status not active + * 0b1..MDIO Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_MASK (0x80000U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_SHIFT (19U) +/*! MFTIS - MMC FPE Transmit Interrupt Status + * 0b0..MMC FPE Transmit Interrupt status not active + * 0b1..MMC FPE Transmit Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_MASK) + +#define ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_MASK (0x100000U) +#define ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_SHIFT (20U) +/*! MFRIS - MMC FPE Receive Interrupt Status + * 0b0..MMC FPE Receive Interrupt status not active + * 0b1..MMC FPE Receive Interrupt status active + */ +#define ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_MASK) +/*! @} */ + +/*! @name MAC_INTERRUPT_ENABLE - Interrupt Enable */ +/*! @{ */ + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_MASK (0x1U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_SHIFT (0U) +/*! RGSMIIIE - RGMII or SMII Interrupt Enable When this bit is set, it enables the assertion of the + * interrupt signal because of the setting of RGSMIIIS bit in MAC_INTERRUPT_STATUS register. + * 0b0..RGMII or SMII Interrupt is disabled + * 0b1..RGMII or SMII Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_MASK) + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_MASK (0x8U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_SHIFT (3U) +/*! PHYIE - PHY Interrupt Enable When this bit is set, it enables the assertion of the interrupt + * signal because of the setting of MAC_INTERRUPT_STATUS[PHYIS]. + * 0b0..PHY Interrupt is disabled + * 0b1..PHY Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_MASK) + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_MASK (0x10U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_SHIFT (4U) +/*! PMTIE - PMT Interrupt Enable When this bit is set, it enables the assertion of the interrupt + * signal because of the setting of MAC_INTERRUPT_STATUS[PMTIS]. + * 0b0..PMT Interrupt is disabled + * 0b1..PMT Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_MASK) + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_MASK (0x20U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_SHIFT (5U) +/*! LPIIE - LPI Interrupt Enable When this bit is set, it enables the assertion of the interrupt + * signal because of the setting of MAC_INTERRUPT_STATUS[LPIIS]. + * 0b0..LPI Interrupt is disabled + * 0b1..LPI Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_MASK) + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_MASK (0x1000U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_SHIFT (12U) +/*! TSIE - Timestamp Interrupt Enable When this bit is set, it enables the assertion of the + * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[TSIS]. + * 0b0..Timestamp Interrupt is disabled + * 0b1..Timestamp Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_MASK) + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_MASK (0x2000U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_SHIFT (13U) +/*! TXSTSIE - Transmit Status Interrupt Enable When this bit is set, it enables the assertion of the + * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[TXSTSIS]. + * 0b0..Timestamp Status Interrupt is disabled + * 0b1..Timestamp Status Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_MASK) + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_MASK (0x4000U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_SHIFT (14U) +/*! RXSTSIE - Receive Status Interrupt Enable When this bit is set, it enables the assertion of the + * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[RXSTSIS]. + * 0b0..Receive Status Interrupt is disabled + * 0b1..Receive Status Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_MASK) + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_MASK (0x20000U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_SHIFT (17U) +/*! FPEIE - Frame Preemption Interrupt Enable When this bit is set, it enables the assertion of the + * interrupt when FPEIS field is set in the MAC_INTERRUPT_STATUS. + * 0b0..Frame Preemption Interrupt is disabled + * 0b1..Frame Preemption Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_MASK) + +#define ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_MASK (0x40000U) +#define ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_SHIFT (18U) +/*! MDIOIE - MDIO Interrupt Enable When this bit is set, it enables the assertion of the interrupt + * when MDIOIS field is set in the MAC_INTERRUPT_STATUS register. + * 0b0..MDIO Interrupt is disabled + * 0b1..MDIO Interrupt is enabled + */ +#define ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_MASK) +/*! @} */ + +/*! @name MAC_RX_TX_STATUS - Receive Transmit Status */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_TX_STATUS_TJT_MASK (0x1U) +#define ENET_QOS_MAC_RX_TX_STATUS_TJT_SHIFT (0U) +/*! TJT - Transmit Jabber Timeout This bit indicates that the Transmit Jabber Timer expired which + * happens when the packet size exceeds 2,048 bytes (10,240 bytes when the Jumbo packet is enabled) + * and JD bit is reset in the MAC_CONFIGURATION register. + * 0b0..No Transmit Jabber Timeout + * 0b1..Transmit Jabber Timeout occurred + */ +#define ENET_QOS_MAC_RX_TX_STATUS_TJT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_TJT_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_TJT_MASK) + +#define ENET_QOS_MAC_RX_TX_STATUS_NCARR_MASK (0x2U) +#define ENET_QOS_MAC_RX_TX_STATUS_NCARR_SHIFT (1U) +/*! NCARR - No Carrier When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit + * indicates that the carrier signal from the PHY is not present at the end of preamble transmission. + * 0b0..Carrier is present + * 0b1..No carrier + */ +#define ENET_QOS_MAC_RX_TX_STATUS_NCARR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_NCARR_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_NCARR_MASK) + +#define ENET_QOS_MAC_RX_TX_STATUS_LCARR_MASK (0x4U) +#define ENET_QOS_MAC_RX_TX_STATUS_LCARR_SHIFT (2U) +/*! LCARR - Loss of Carrier When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit + * indicates that the loss of carrier occurred during packet transmission, that is, the phy_crs_i + * signal was inactive for one or more transmission clock periods during packet transmission. + * 0b0..Carrier is present + * 0b1..Loss of carrier + */ +#define ENET_QOS_MAC_RX_TX_STATUS_LCARR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_LCARR_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_LCARR_MASK) + +#define ENET_QOS_MAC_RX_TX_STATUS_EXDEF_MASK (0x8U) +#define ENET_QOS_MAC_RX_TX_STATUS_EXDEF_SHIFT (3U) +/*! EXDEF - Excessive Deferral When the DTXSTS bit is set in the MAC_OPERATION_MODE register and the + * DC bit is set in the MAC_CONFIGURATION register, this bit indicates that the transmission + * ended because of excessive deferral of over 24,288 bit times (155,680 in 1000/2500 Mbps mode or + * when Jumbo packet is enabled). + * 0b0..No Excessive deferral + * 0b1..Excessive deferral + */ +#define ENET_QOS_MAC_RX_TX_STATUS_EXDEF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_EXDEF_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_EXDEF_MASK) + +#define ENET_QOS_MAC_RX_TX_STATUS_LCOL_MASK (0x10U) +#define ENET_QOS_MAC_RX_TX_STATUS_LCOL_SHIFT (4U) +/*! LCOL - Late Collision When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit + * indicates that the packet transmission aborted because a collision occurred after the collision + * window (512 bytes including Preamble and Carrier Extension in GMII mode). + * 0b0..No collision + * 0b1..Late collision is sensed + */ +#define ENET_QOS_MAC_RX_TX_STATUS_LCOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_LCOL_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_LCOL_MASK) + +#define ENET_QOS_MAC_RX_TX_STATUS_EXCOL_MASK (0x20U) +#define ENET_QOS_MAC_RX_TX_STATUS_EXCOL_SHIFT (5U) +/*! EXCOL - Excessive Collisions When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this + * bit indicates that the transmission aborted after 16 successive collisions while attempting + * to transmit the current packet. + * 0b0..No collision + * 0b1..Excessive collision is sensed + */ +#define ENET_QOS_MAC_RX_TX_STATUS_EXCOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_EXCOL_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_EXCOL_MASK) + +#define ENET_QOS_MAC_RX_TX_STATUS_RWT_MASK (0x100U) +#define ENET_QOS_MAC_RX_TX_STATUS_RWT_SHIFT (8U) +/*! RWT - Receive Watchdog Timeout This bit is set when a packet with length greater than 2,048 + * bytes is received (10, 240 bytes when Jumbo Packet mode is enabled) and the WD bit is reset in the + * MAC_CONFIGURATION register. + * 0b0..No receive watchdog timeout + * 0b1..Receive watchdog timed out + */ +#define ENET_QOS_MAC_RX_TX_STATUS_RWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_RWT_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_RWT_MASK) +/*! @} */ + +/*! @name MAC_PMT_CONTROL_STATUS - PMT Control and Status */ +/*! @{ */ + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_MASK (0x1U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_SHIFT (0U) +/*! PWRDWN - Power Down When this bit is set, the MAC receiver drops all received packets until it + * receives the expected magic packet or remote wake-up packet. + * 0b0..Power down is disabled + * 0b1..Power down is enabled + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_MASK) + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_MASK (0x2U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_SHIFT (1U) +/*! MGKPKTEN - Magic Packet Enable When this bit is set, a power management event is generated when the MAC receives a magic packet. + * 0b0..Magic Packet is disabled + * 0b1..Magic Packet is enabled + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_MASK) + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_MASK (0x4U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_SHIFT (2U) +/*! RWKPKTEN - Remote Wake-Up Packet Enable When this bit is set, a power management event is + * generated when the MAC receives a remote wake-up packet. + * 0b0..Remote wake-up packet is disabled + * 0b1..Remote wake-up packet is enabled + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_MASK) + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_MASK (0x20U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_SHIFT (5U) +/*! MGKPRCVD - Magic Packet Received When this bit is set, it indicates that the power management + * event is generated because of the reception of a magic packet. + * 0b0..No Magic packet is received + * 0b1..Magic packet is received + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_MASK) + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_MASK (0x40U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_SHIFT (6U) +/*! RWKPRCVD - Remote Wake-Up Packet Received When this bit is set, it indicates that the power + * management event is generated because of the reception of a remote wake-up packet. + * 0b0..Remote wake-up packet is received + * 0b1..Remote wake-up packet is received + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_MASK) + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_MASK (0x200U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_SHIFT (9U) +/*! GLBLUCAST - Global Unicast When this bit set, any unicast packet filtered by the MAC (DAF) + * address recognition is detected as a remote wake-up packet. + * 0b0..Global unicast is disabled + * 0b1..Global unicast is enabled + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_MASK) + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_MASK (0x400U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_SHIFT (10U) +/*! RWKPFE - Remote Wake-up Packet Forwarding Enable When this bit is set along with RWKPKTEN, the + * MAC receiver drops all received frames until it receives the expected Wake-up frame. + * 0b0..Remote Wake-up Packet Forwarding is disabled + * 0b1..Remote Wake-up Packet Forwarding is enabled + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_MASK) + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_MASK (0x1F000000U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_SHIFT (24U) +/*! RWKPTR - Remote Wake-up FIFO Pointer This field gives the current value (0 to 7, 15, or 31 when + * 4, 8, or 16 Remote Wake-up Packet Filters are selected) of the Remote Wake-up Packet Filter + * register pointer. + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_MASK) + +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_MASK (0x80000000U) +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_SHIFT (31U) +/*! RWKFILTRST - Remote Wake-Up Packet Filter Register Pointer Reset When this bit is set, the + * remote wake-up packet filter register pointer is reset to 3'b000. + * 0b0..Remote Wake-Up Packet Filter Register Pointer is not Reset + * 0b1..Remote Wake-Up Packet Filter Register Pointer is Reset + */ +#define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_MASK) +/*! @} */ + +/*! @name MAC_RWK_PACKET_FILTER - Remote Wakeup Filter */ +/*! @{ */ + +#define ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_SHIFT (0U) +/*! WKUPFRMFTR - RWK Packet Filter This field contains the various controls of RWK Packet filter. */ +#define ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_SHIFT)) & ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_MASK) +/*! @} */ + +/*! @name MAC_LPI_CONTROL_STATUS - LPI Control and Status */ +/*! @{ */ + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_MASK (0x1U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_SHIFT (0U) +/*! TLPIEN - Transmit LPI Entry When this bit is set, it indicates that the MAC Transmitter has + * entered the LPI state because of the setting of the LPIEN bit. + * 0b0..Transmit LPI entry not detected + * 0b1..Transmit LPI entry detected + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_MASK (0x2U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_SHIFT (1U) +/*! TLPIEX - Transmit LPI Exit When this bit is set, it indicates that the MAC transmitter exited + * the LPI state after the application cleared the LPIEN bit and the LPI TW Timer has expired. + * 0b0..Transmit LPI exit not detected + * 0b1..Transmit LPI exit detected + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_MASK (0x4U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_SHIFT (2U) +/*! RLPIEN - Receive LPI Entry When this bit is set, it indicates that the MAC Receiver has received + * an LPI pattern and entered the LPI state. + * 0b0..Receive LPI entry not detected + * 0b1..Receive LPI entry detected + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_MASK (0x8U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_SHIFT (3U) +/*! RLPIEX - Receive LPI Exit When this bit is set, it indicates that the MAC Receiver has stopped + * receiving the LPI pattern on the GMII interface, exited the LPI state, and resumed the normal + * reception. + * 0b0..Receive LPI exit not detected + * 0b1..Receive LPI exit detected + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_MASK (0x100U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_SHIFT (8U) +/*! TLPIST - Transmit LPI State When this bit is set, it indicates that the MAC is transmitting the + * LPI pattern on the GMII interface. + * 0b0..Transmit LPI state not detected + * 0b1..Transmit LPI state detected + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_MASK (0x200U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_SHIFT (9U) +/*! RLPIST - Receive LPI State When this bit is set, it indicates that the MAC is receiving the LPI pattern on the GMII interface. + * 0b0..Receive LPI state not detected + * 0b1..Receive LPI state detected + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_MASK (0x10000U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_SHIFT (16U) +/*! LPIEN - LPI Enable When this bit is set, it instructs the MAC Transmitter to enter the LPI state. + * 0b0..LPI state is disabled + * 0b1..LPI state is enabled + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_MASK (0x20000U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_SHIFT (17U) +/*! PLS - PHY Link Status This bit indicates the link status of the PHY. + * 0b0..link is down + * 0b1..link is okay (UP) + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_MASK (0x40000U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_SHIFT (18U) +/*! PLSEN - PHY Link Status Enable This bit enables the link status received on the RGMII, SGMII, or + * SMII Receive paths to be used for activating the LPI LS TIMER. + * 0b0..PHY Link Status is disabled + * 0b1..PHY Link Status is enabled + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_MASK (0x80000U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_SHIFT (19U) +/*! LPITXA - LPI Tx Automate This bit controls the behavior of the MAC when it is entering or coming + * out of the LPI mode on the Transmit side. + * 0b0..LPI Tx Automate is disabled + * 0b1..LPI Tx Automate is enabled + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_MASK (0x100000U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_SHIFT (20U) +/*! LPIATE - LPI Timer Enable This bit controls the automatic entry of the MAC Transmitter into and exit out of the LPI state. + * 0b0..LPI Timer is disabled + * 0b1..LPI Timer is enabled + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_MASK) + +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_MASK (0x200000U) +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_SHIFT (21U) +/*! LPITCSE - LPI Tx Clock Stop Enable When this bit is set, the MAC asserts + * sbd_tx_clk_gating_ctrl_o signal high after it enters Tx LPI mode to indicate that the Tx clock to MAC can be stopped. + * 0b0..LPI Tx Clock Stop is disabled + * 0b1..LPI Tx Clock Stop is enabled + */ +#define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_MASK) +/*! @} */ + +/*! @name MAC_LPI_TIMERS_CONTROL - LPI Timers Control */ +/*! @{ */ + +#define ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_MASK (0xFFFFU) +#define ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_SHIFT (0U) +/*! TWT - LPI TW Timer This field specifies the minimum time (in microseconds) for which the MAC + * waits after it stops transmitting the LPI pattern to the PHY and before it resumes the normal + * transmission. + */ +#define ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_SHIFT)) & ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_MASK) + +#define ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_MASK (0x3FF0000U) +#define ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_SHIFT (16U) +/*! LST - LPI LS Timer This field specifies the minimum time (in milliseconds) for which the link + * status from the PHY should be up (OKAY) before the LPI pattern can be transmitted to the PHY. + */ +#define ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_SHIFT)) & ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_MASK) +/*! @} */ + +/*! @name MAC_LPI_ENTRY_TIMER - Tx LPI Entry Timer Control */ +/*! @{ */ + +#define ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_MASK (0xFFFF8U) +#define ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_SHIFT (3U) +/*! LPIET - LPI Entry Timer This field specifies the time in microseconds the MAC waits to enter LPI + * mode, after it has transmitted all the frames. + */ +#define ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_SHIFT)) & ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_MASK) +/*! @} */ + +/*! @name MAC_ONEUS_TIC_COUNTER - One-microsecond Reference Timer */ +/*! @{ */ + +#define ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_MASK (0xFFFU) +#define ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_SHIFT (0U) +/*! TIC_1US_CNTR - 1US TIC Counter The application must program this counter so that the number of clock cycles of CSR clock is 1us. */ +#define ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_SHIFT)) & ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_MASK) +/*! @} */ + +/*! @name MAC_PHYIF_CONTROL_STATUS - PHY Interface Control and Status */ +/*! @{ */ + +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_MASK (0x1U) +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_SHIFT (0U) +/*! TC - Transmit Configuration in RGMII, SGMII, or SMII When set, this bit enables the transmission + * of duplex mode, link speed, and link up or down information to the PHY in the RGMII, SMII, or + * SGMII port. + * 0b0..Disable Transmit Configuration in RGMII, SGMII, or SMII + * 0b1..Enable Transmit Configuration in RGMII, SGMII, or SMII + */ +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_MASK) + +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_MASK (0x2U) +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_SHIFT (1U) +/*! LUD - Link Up or Down This bit indicates whether the link is up or down during transmission of + * configuration in the RGMII, SGMII, or SMII interface. + * 0b0..Link down + * 0b1..Link up + */ +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_MASK) + +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_MASK (0x10000U) +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_SHIFT (16U) +/*! LNKMOD - Link Mode This bit indicates the current mode of operation of the link. + * 0b0..Half-duplex mode + * 0b1..Full-duplex mode + */ +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_MASK) + +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_MASK (0x60000U) +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT (17U) +/*! LNKSPEED - Link Speed This bit indicates the current speed of the link. + * 0b00..2.5 MHz + * 0b01..25 MHz + * 0b10..125 MHz + * 0b11..Reserved + */ +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_MASK) + +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_MASK (0x80000U) +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_SHIFT (19U) +/*! LNKSTS - Link Status This bit indicates whether the link is up (1'b1) or down (1'b0). + * 0b0..Link down + * 0b1..Link up + */ +#define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_MASK) +/*! @} */ + +/*! @name MAC_VERSION - MAC Version */ +/*! @{ */ + +#define ENET_QOS_MAC_VERSION_SNPSVER_MASK (0xFFU) +#define ENET_QOS_MAC_VERSION_SNPSVER_SHIFT (0U) +/*! SNPSVER - Synopsys-defined Version */ +#define ENET_QOS_MAC_VERSION_SNPSVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VERSION_SNPSVER_SHIFT)) & ENET_QOS_MAC_VERSION_SNPSVER_MASK) + +#define ENET_QOS_MAC_VERSION_USERVER_MASK (0xFF00U) +#define ENET_QOS_MAC_VERSION_USERVER_SHIFT (8U) +/*! USERVER - User-defined Version (8'h10) */ +#define ENET_QOS_MAC_VERSION_USERVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VERSION_USERVER_SHIFT)) & ENET_QOS_MAC_VERSION_USERVER_MASK) +/*! @} */ + +/*! @name MAC_DEBUG - MAC Debug */ +/*! @{ */ + +#define ENET_QOS_MAC_DEBUG_RPESTS_MASK (0x1U) +#define ENET_QOS_MAC_DEBUG_RPESTS_SHIFT (0U) +/*! RPESTS - MAC GMII Receive Protocol Engine Status When this bit is set, it indicates that the MAC + * GMII receive protocol engine is actively receiving data, and it is not in the Idle state. + * 0b0..MAC GMII Receive Protocol Engine Status not detected + * 0b1..MAC GMII Receive Protocol Engine Status detected + */ +#define ENET_QOS_MAC_DEBUG_RPESTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_RPESTS_SHIFT)) & ENET_QOS_MAC_DEBUG_RPESTS_MASK) + +#define ENET_QOS_MAC_DEBUG_RFCFCSTS_MASK (0x6U) +#define ENET_QOS_MAC_DEBUG_RFCFCSTS_SHIFT (1U) +/*! RFCFCSTS - MAC Receive Packet Controller FIFO Status When this bit is set, this field indicates + * the active state of the small FIFO Read and Write controllers of the MAC Receive Packet + * Controller module. + */ +#define ENET_QOS_MAC_DEBUG_RFCFCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_RFCFCSTS_SHIFT)) & ENET_QOS_MAC_DEBUG_RFCFCSTS_MASK) + +#define ENET_QOS_MAC_DEBUG_TPESTS_MASK (0x10000U) +#define ENET_QOS_MAC_DEBUG_TPESTS_SHIFT (16U) +/*! TPESTS - MAC GMII or MII Transmit Protocol Engine Status When this bit is set, it indicates that + * the MAC GMII or MII transmit protocol engine is actively transmitting data, and it is not in + * the Idle state. + * 0b0..MAC GMII Transmit Protocol Engine Status not detected + * 0b1..MAC GMII Transmit Protocol Engine Status detected + */ +#define ENET_QOS_MAC_DEBUG_TPESTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_TPESTS_SHIFT)) & ENET_QOS_MAC_DEBUG_TPESTS_MASK) + +#define ENET_QOS_MAC_DEBUG_TFCSTS_MASK (0x60000U) +#define ENET_QOS_MAC_DEBUG_TFCSTS_SHIFT (17U) +/*! TFCSTS - MAC Transmit Packet Controller Status This field indicates the state of the MAC Transmit Packet Controller module. + * 0b00..Idle state + * 0b01..Waiting for one of the following: Status of the previous packet OR IPG or back off period to be over + * 0b10..Generating and transmitting a Pause control packet (in full-duplex mode) + * 0b11..Transferring input packet for transmission + */ +#define ENET_QOS_MAC_DEBUG_TFCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_TFCSTS_SHIFT)) & ENET_QOS_MAC_DEBUG_TFCSTS_MASK) +/*! @} */ + +/*! @name MAC_HW_FEAT - Optional Features or Functions 0..Optional Features or Functions 3 */ +/*! @{ */ + +#define ENET_QOS_MAC_HW_FEAT_MIISEL_MASK (0x1U) +#define ENET_QOS_MAC_HW_FEAT_MIISEL_SHIFT (0U) +/*! MIISEL - 10 or 100 Mbps Support This bit is set to 1 when 10/100 Mbps is selected as the Mode of Operation + * 0b0..No 10 or 100 Mbps support + * 0b1..10 or 100 Mbps support + */ +#define ENET_QOS_MAC_HW_FEAT_MIISEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MIISEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MIISEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_NRVF_MASK (0x7U) +#define ENET_QOS_MAC_HW_FEAT_NRVF_SHIFT (0U) +/*! NRVF - Number of Extended VLAN Tag Filters Enabled This field indicates the Number of Extended VLAN Tag Filters selected: + * 0b000..No Extended Rx VLAN Filters + * 0b001..4 Extended Rx VLAN Filters + * 0b010..8 Extended Rx VLAN Filters + * 0b011..16 Extended Rx VLAN Filters + * 0b100..24 Extended Rx VLAN Filters + * 0b101..32 Extended Rx VLAN Filters + * 0b110..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_NRVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_NRVF_SHIFT)) & ENET_QOS_MAC_HW_FEAT_NRVF_MASK) + +#define ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_MASK (0x1FU) +#define ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_SHIFT (0U) +/*! RXFIFOSIZE - MTL Receive FIFO Size This field contains the configured value of MTL Rx FIFO in + * bytes expressed as Log to base 2 minus 7, that is, Log2(RXFIFO_SIZE) -7: + * 0b00000..128 bytes + * 0b00001..256 bytes + * 0b00010..512 bytes + * 0b00011..1024 bytes + * 0b00100..2048 bytes + * 0b00101..4096 bytes + * 0b00110..8192 bytes + * 0b00111..16384 bytes + * 0b01000..32 KB + * 0b01001..64 KB + * 0b01010..128 KB + * 0b01011..256 KB + * 0b01100..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_MASK) + +#define ENET_QOS_MAC_HW_FEAT_RXQCNT_MASK (0xFU) +#define ENET_QOS_MAC_HW_FEAT_RXQCNT_SHIFT (0U) +/*! RXQCNT - Number of MTL Receive Queues This field indicates the number of MTL Receive queues: + * 0b0000..1 MTL Rx Queue + * 0b0001..2 MTL Rx Queues + * 0b0010..3 MTL Rx Queues + * 0b0011..4 MTL Rx Queues + * 0b0100..5 MTL Rx Queues + * 0b0101..Reserved + * 0b0110..Reserved + * 0b0111..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_RXQCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RXQCNT_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RXQCNT_MASK) + +#define ENET_QOS_MAC_HW_FEAT_GMIISEL_MASK (0x2U) +#define ENET_QOS_MAC_HW_FEAT_GMIISEL_SHIFT (1U) +/*! GMIISEL - 1000 Mbps Support This bit is set to 1 when 1000 Mbps is selected as the Mode of Operation + * 0b0..No 1000 Mbps support + * 0b1..1000 Mbps support + */ +#define ENET_QOS_MAC_HW_FEAT_GMIISEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_GMIISEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_GMIISEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_HDSEL_MASK (0x4U) +#define ENET_QOS_MAC_HW_FEAT_HDSEL_SHIFT (2U) +/*! HDSEL - Half-duplex Support This bit is set to 1 when the half-duplex mode is selected + * 0b0..No Half-duplex support + * 0b1..Half-duplex support + */ +#define ENET_QOS_MAC_HW_FEAT_HDSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_HDSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_HDSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_PCSSEL_MASK (0x8U) +#define ENET_QOS_MAC_HW_FEAT_PCSSEL_SHIFT (3U) +/*! PCSSEL - PCS Registers (TBI, SGMII, or RTBI PHY interface) This bit is set to 1 when the TBI, + * SGMII, or RTBI PHY interface option is selected + * 0b0..No PCS Registers (TBI, SGMII, or RTBI PHY interface) + * 0b1..PCS Registers (TBI, SGMII, or RTBI PHY interface) + */ +#define ENET_QOS_MAC_HW_FEAT_PCSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_PCSSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_PCSSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_CBTISEL_MASK (0x10U) +#define ENET_QOS_MAC_HW_FEAT_CBTISEL_SHIFT (4U) +/*! CBTISEL - Queue/Channel based VLAN tag insertion on Tx Enable This bit is set to 1 when the + * Enable Queue/Channel based VLAN tag insertion on Tx Feature is selected. + * 0b0..Enable Queue/Channel based VLAN tag insertion on Tx feature is not selected + * 0b1..Enable Queue/Channel based VLAN tag insertion on Tx feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_CBTISEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_CBTISEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_CBTISEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_VLHASH_MASK (0x10U) +#define ENET_QOS_MAC_HW_FEAT_VLHASH_SHIFT (4U) +/*! VLHASH - VLAN Hash Filter Selected This bit is set to 1 when the Enable VLAN Hash Table Based Filtering option is selected + * 0b0..VLAN Hash Filter not selected + * 0b1..VLAN Hash Filter selected + */ +#define ENET_QOS_MAC_HW_FEAT_VLHASH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_VLHASH_SHIFT)) & ENET_QOS_MAC_HW_FEAT_VLHASH_MASK) + +#define ENET_QOS_MAC_HW_FEAT_DVLAN_MASK (0x20U) +#define ENET_QOS_MAC_HW_FEAT_DVLAN_SHIFT (5U) +/*! DVLAN - Double VLAN Tag Processing Selected This bit is set to 1 when the Enable Double VLAN Processing Feature is selected. + * 0b0..Double VLAN option is not selected + * 0b1..Double VLAN option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_DVLAN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_DVLAN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_DVLAN_MASK) + +#define ENET_QOS_MAC_HW_FEAT_SMASEL_MASK (0x20U) +#define ENET_QOS_MAC_HW_FEAT_SMASEL_SHIFT (5U) +/*! SMASEL - SMA (MDIO) Interface This bit is set to 1 when the Enable Station Management (MDIO Interface) option is selected + * 0b0..SMA (MDIO) Interface not selected + * 0b1..SMA (MDIO) Interface selected + */ +#define ENET_QOS_MAC_HW_FEAT_SMASEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_SMASEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_SMASEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_SPRAM_MASK (0x20U) +#define ENET_QOS_MAC_HW_FEAT_SPRAM_SHIFT (5U) +/*! SPRAM - Single Port RAM Enable This bit is set to 1 when the Use single port RAM Feature is selected. + * 0b0..Single Port RAM feature is not selected + * 0b1..Single Port RAM feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_SPRAM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_SPRAM_SHIFT)) & ENET_QOS_MAC_HW_FEAT_SPRAM_MASK) + +#define ENET_QOS_MAC_HW_FEAT_RWKSEL_MASK (0x40U) +#define ENET_QOS_MAC_HW_FEAT_RWKSEL_SHIFT (6U) +/*! RWKSEL - PMT Remote Wake-up Packet Enable This bit is set to 1 when the Enable Remote Wake-Up Packet Detection option is selected + * 0b0..PMT Remote Wake-up Packet Enable option is not selected + * 0b1..PMT Remote Wake-up Packet Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_RWKSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RWKSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RWKSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_MASK (0x7C0U) +#define ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_SHIFT (6U) +/*! TXFIFOSIZE - MTL Transmit FIFO Size This field contains the configured value of MTL Tx FIFO in + * bytes expressed as Log to base 2 minus 7, that is, Log2(TXFIFO_SIZE) -7: + * 0b00000..128 bytes + * 0b00001..256 bytes + * 0b00010..512 bytes + * 0b00011..1024 bytes + * 0b00100..2048 bytes + * 0b00101..4096 bytes + * 0b00110..8192 bytes + * 0b00111..16384 bytes + * 0b01000..32 KB + * 0b01001..64 KB + * 0b01010..128 KB + * 0b01011..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_MASK) + +#define ENET_QOS_MAC_HW_FEAT_TXQCNT_MASK (0x3C0U) +#define ENET_QOS_MAC_HW_FEAT_TXQCNT_SHIFT (6U) +/*! TXQCNT - Number of MTL Transmit Queues This field indicates the number of MTL Transmit queues: + * 0b0000..1 MTL Tx Queue + * 0b0001..2 MTL Tx Queues + * 0b0010..3 MTL Tx Queues + * 0b0011..4 MTL Tx Queues + * 0b0100..5 MTL Tx Queues + * 0b0101..Reserved + * 0b0110..Reserved + * 0b0111..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_TXQCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TXQCNT_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TXQCNT_MASK) + +#define ENET_QOS_MAC_HW_FEAT_MGKSEL_MASK (0x80U) +#define ENET_QOS_MAC_HW_FEAT_MGKSEL_SHIFT (7U) +/*! MGKSEL - PMT Magic Packet Enable This bit is set to 1 when the Enable Magic Packet Detection option is selected + * 0b0..PMT Magic Packet Enable option is not selected + * 0b1..PMT Magic Packet Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_MGKSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MGKSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MGKSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_MMCSEL_MASK (0x100U) +#define ENET_QOS_MAC_HW_FEAT_MMCSEL_SHIFT (8U) +/*! MMCSEL - RMON Module Enable This bit is set to 1 when the Enable MAC Management Counters (MMC) option is selected + * 0b0..RMON Module Enable option is not selected + * 0b1..RMON Module Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_MMCSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MMCSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MMCSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_MASK (0x200U) +#define ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_SHIFT (9U) +/*! ARPOFFSEL - ARP Offload Enabled This bit is set to 1 when the Enable IPv4 ARP Offload option is selected + * 0b0..ARP Offload Enable option is not selected + * 0b1..ARP Offload Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_ARPOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_PDUPSEL_MASK (0x200U) +#define ENET_QOS_MAC_HW_FEAT_PDUPSEL_SHIFT (9U) +/*! PDUPSEL - Broadcast/Multicast Packet Duplication This bit is set to 1 when the + * Broadcast/Multicast Packet Duplication feature is selected. + * 0b0..Broadcast/Multicast Packet Duplication feature is not selected + * 0b1..Broadcast/Multicast Packet Duplication feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_PDUPSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_PDUPSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_PDUPSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_FRPSEL_MASK (0x400U) +#define ENET_QOS_MAC_HW_FEAT_FRPSEL_SHIFT (10U) +/*! FRPSEL - Flexible Receive Parser Selected This bit is set to 1 when the Enable Flexible + * Programmable Receive Parser option is selected. + * 0b0..Flexible Receive Parser feature is not selected + * 0b1..Flexible Receive Parser feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_FRPSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_FRPSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_FRPSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_FRPBS_MASK (0x1800U) +#define ENET_QOS_MAC_HW_FEAT_FRPBS_SHIFT (11U) +/*! FRPBS - Flexible Receive Parser Buffer size This field indicates the supported Max Number of + * bytes of the packet data to be Parsed by Flexible Receive Parser. + * 0b00..64 Bytes + * 0b01..128 Bytes + * 0b10..256 Bytes + * 0b11..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_FRPBS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_FRPBS_SHIFT)) & ENET_QOS_MAC_HW_FEAT_FRPBS_MASK) + +#define ENET_QOS_MAC_HW_FEAT_OSTEN_MASK (0x800U) +#define ENET_QOS_MAC_HW_FEAT_OSTEN_SHIFT (11U) +/*! OSTEN - One-Step Timestamping Enable This bit is set to 1 when the Enable One-Step Timestamp Feature is selected. + * 0b0..One-Step Timestamping feature is not selected + * 0b1..One-Step Timestamping feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_OSTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_OSTEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_OSTEN_MASK) + +#define ENET_QOS_MAC_HW_FEAT_PTOEN_MASK (0x1000U) +#define ENET_QOS_MAC_HW_FEAT_PTOEN_SHIFT (12U) +/*! PTOEN - PTP Offload Enable This bit is set to 1 when the Enable PTP Timestamp Offload Feature is selected. + * 0b0..PTP Offload feature is not selected + * 0b1..PTP Offload feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_PTOEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_PTOEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_PTOEN_MASK) + +#define ENET_QOS_MAC_HW_FEAT_RXCHCNT_MASK (0xF000U) +#define ENET_QOS_MAC_HW_FEAT_RXCHCNT_SHIFT (12U) +/*! RXCHCNT - Number of DMA Receive Channels This field indicates the number of DMA Receive channels: + * 0b0000..1 MTL Rx Channel + * 0b0001..2 MTL Rx Channels + * 0b0010..3 MTL Rx Channels + * 0b0011..4 MTL Rx Channels + * 0b0100..5 MTL Rx Channels + * 0b0101..Reserved + * 0b0110..Reserved + * 0b0111..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_RXCHCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RXCHCNT_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RXCHCNT_MASK) + +#define ENET_QOS_MAC_HW_FEAT_TSSEL_MASK (0x1000U) +#define ENET_QOS_MAC_HW_FEAT_TSSEL_SHIFT (12U) +/*! TSSEL - IEEE 1588-2008 Timestamp Enabled This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected + * 0b0..IEEE 1588-2008 Timestamp Enable option is not selected + * 0b1..IEEE 1588-2008 Timestamp Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_TSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TSSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TSSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ADVTHWORD_MASK (0x2000U) +#define ENET_QOS_MAC_HW_FEAT_ADVTHWORD_SHIFT (13U) +/*! ADVTHWORD - IEEE 1588 High Word Register Enable This bit is set to 1 when the Add IEEE 1588 Higher Word Register option is selected + * 0b0..IEEE 1588 High Word Register option is not selected + * 0b1..IEEE 1588 High Word Register option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_ADVTHWORD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ADVTHWORD_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ADVTHWORD_MASK) + +#define ENET_QOS_MAC_HW_FEAT_EEESEL_MASK (0x2000U) +#define ENET_QOS_MAC_HW_FEAT_EEESEL_SHIFT (13U) +/*! EEESEL - Energy Efficient Ethernet Enabled This bit is set to 1 when the Enable Energy Efficient + * Ethernet (EEE) option is selected + * 0b0..Energy Efficient Ethernet Enable option is not selected + * 0b1..Energy Efficient Ethernet Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_EEESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_EEESEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_EEESEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_FRPES_MASK (0x6000U) +#define ENET_QOS_MAC_HW_FEAT_FRPES_SHIFT (13U) +/*! FRPES - Flexible Receive Parser Table Entries size This field indicates the Max Number of Parser + * Entries supported by Flexible Receive Parser. + * 0b00..64 Entries + * 0b01..128 Entries + * 0b10..256 Entries + * 0b11..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_FRPES(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_FRPES_SHIFT)) & ENET_QOS_MAC_HW_FEAT_FRPES_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ADDR64_MASK (0xC000U) +#define ENET_QOS_MAC_HW_FEAT_ADDR64_SHIFT (14U) +/*! ADDR64 - Address Width. + * 0b00..32 + * 0b01..40 + * 0b10..48 + * 0b11..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_ADDR64(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ADDR64_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ADDR64_MASK) + +#define ENET_QOS_MAC_HW_FEAT_TXCOESEL_MASK (0x4000U) +#define ENET_QOS_MAC_HW_FEAT_TXCOESEL_SHIFT (14U) +/*! TXCOESEL - Transmit Checksum Offload Enabled This bit is set to 1 when the Enable Transmit + * TCP/IP Checksum Insertion option is selected + * 0b0..Transmit Checksum Offload Enable option is not selected + * 0b1..Transmit Checksum Offload Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_TXCOESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TXCOESEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TXCOESEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_DCBEN_MASK (0x10000U) +#define ENET_QOS_MAC_HW_FEAT_DCBEN_SHIFT (16U) +/*! DCBEN - DCB Feature Enable This bit is set to 1 when the Enable Data Center Bridging option is selected + * 0b0..DCB Feature is not selected + * 0b1..DCB Feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_DCBEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_DCBEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_DCBEN_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ESTSEL_MASK (0x10000U) +#define ENET_QOS_MAC_HW_FEAT_ESTSEL_SHIFT (16U) +/*! ESTSEL - Enhancements to Scheduling Traffic Enable This bit is set to 1 when the Enable + * Enhancements to Scheduling Traffic feature is selected. + * 0b0..Enable Enhancements to Scheduling Traffic feature is not selected + * 0b1..Enable Enhancements to Scheduling Traffic feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_ESTSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ESTSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ESTSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_RXCOESEL_MASK (0x10000U) +#define ENET_QOS_MAC_HW_FEAT_RXCOESEL_SHIFT (16U) +/*! RXCOESEL - Receive Checksum Offload Enabled This bit is set to 1 when the Enable Receive TCP/IP Checksum Check option is selected + * 0b0..Receive Checksum Offload Enable option is not selected + * 0b1..Receive Checksum Offload Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_RXCOESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RXCOESEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RXCOESEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ESTDEP_MASK (0xE0000U) +#define ENET_QOS_MAC_HW_FEAT_ESTDEP_SHIFT (17U) +/*! ESTDEP - Depth of the Gate Control List This field indicates the depth of Gate Control list expressed as Log2(DWC_EQOS_EST_DEP)-5 + * 0b000..No Depth configured + * 0b001..64 + * 0b010..128 + * 0b011..256 + * 0b100..512 + * 0b101..1024 + * 0b110..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_ESTDEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ESTDEP_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ESTDEP_MASK) + +#define ENET_QOS_MAC_HW_FEAT_SPHEN_MASK (0x20000U) +#define ENET_QOS_MAC_HW_FEAT_SPHEN_SHIFT (17U) +/*! SPHEN - Split Header Feature Enable This bit is set to 1 when the Enable Split Header Structure option is selected + * 0b0..Split Header Feature is not selected + * 0b1..Split Header Feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_SPHEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_SPHEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_SPHEN_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_MASK (0x7C0000U) +#define ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_SHIFT (18U) +/*! ADDMACADRSEL - MAC Addresses 1-31 Selected This bit is set to 1 when the non-zero value is + * selected for Enable Additional 1-31 MAC Address Registers option + */ +#define ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_TSOEN_MASK (0x40000U) +#define ENET_QOS_MAC_HW_FEAT_TSOEN_SHIFT (18U) +/*! TSOEN - TCP Segmentation Offload Enable This bit is set to 1 when the Enable TCP Segmentation + * Offloading for TCP/IP Packets option is selected + * 0b0..TCP Segmentation Offload Feature is not selected + * 0b1..TCP Segmentation Offload Feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_TSOEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TSOEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TSOEN_MASK) + +#define ENET_QOS_MAC_HW_FEAT_TXCHCNT_MASK (0x3C0000U) +#define ENET_QOS_MAC_HW_FEAT_TXCHCNT_SHIFT (18U) +/*! TXCHCNT - Number of DMA Transmit Channels This field indicates the number of DMA Transmit channels: + * 0b0000..1 MTL Tx Channel + * 0b0001..2 MTL Tx Channels + * 0b0010..3 MTL Tx Channels + * 0b0011..4 MTL Tx Channels + * 0b0100..5 MTL Tx Channels + * 0b0101..Reserved + * 0b0110..Reserved + * 0b0111..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_TXCHCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TXCHCNT_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TXCHCNT_MASK) + +#define ENET_QOS_MAC_HW_FEAT_DBGMEMA_MASK (0x80000U) +#define ENET_QOS_MAC_HW_FEAT_DBGMEMA_SHIFT (19U) +/*! DBGMEMA - DMA Debug Registers Enable This bit is set to 1 when the Debug Mode Enable option is selected + * 0b0..DMA Debug Registers option is not selected + * 0b1..DMA Debug Registers option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_DBGMEMA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_DBGMEMA_SHIFT)) & ENET_QOS_MAC_HW_FEAT_DBGMEMA_MASK) + +#define ENET_QOS_MAC_HW_FEAT_AVSEL_MASK (0x100000U) +#define ENET_QOS_MAC_HW_FEAT_AVSEL_SHIFT (20U) +/*! AVSEL - AV Feature Enable This bit is set to 1 when the Enable Audio Video Bridging option is selected. + * 0b0..AV Feature is not selected + * 0b1..AV Feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_AVSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_AVSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_AVSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ESTWID_MASK (0x300000U) +#define ENET_QOS_MAC_HW_FEAT_ESTWID_SHIFT (20U) +/*! ESTWID - Width of the Time Interval field in the Gate Control List This field indicates the + * width of the Configured Time Interval Field + * 0b00..Width not configured + * 0b01..16 + * 0b10..20 + * 0b11..24 + */ +#define ENET_QOS_MAC_HW_FEAT_ESTWID(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ESTWID_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ESTWID_MASK) + +#define ENET_QOS_MAC_HW_FEAT_RAVSEL_MASK (0x200000U) +#define ENET_QOS_MAC_HW_FEAT_RAVSEL_SHIFT (21U) +/*! RAVSEL - Rx Side Only AV Feature Enable This bit is set to 1 when the Enable Audio Video + * Bridging option on Rx Side Only is selected. + * 0b0..Rx Side Only AV Feature is not selected + * 0b1..Rx Side Only AV Feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_RAVSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RAVSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RAVSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_MACADR32SEL_MASK (0x800000U) +#define ENET_QOS_MAC_HW_FEAT_MACADR32SEL_SHIFT (23U) +/*! MACADR32SEL - MAC Addresses 32-63 Selected This bit is set to 1 when the Enable Additional 32 + * MAC Address Registers (32-63) option is selected + * 0b0..MAC Addresses 32-63 Select option is not selected + * 0b1..MAC Addresses 32-63 Select option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_MACADR32SEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MACADR32SEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MACADR32SEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_POUOST_MASK (0x800000U) +#define ENET_QOS_MAC_HW_FEAT_POUOST_SHIFT (23U) +/*! POUOST - One Step for PTP over UDP/IP Feature Enable This bit is set to 1 when the Enable One + * step timestamp for PTP over UDP/IP feature is selected. + * 0b0..One Step for PTP over UDP/IP Feature is not selected + * 0b1..One Step for PTP over UDP/IP Feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_POUOST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_POUOST_SHIFT)) & ENET_QOS_MAC_HW_FEAT_POUOST_MASK) + +#define ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_MASK (0x3000000U) +#define ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_SHIFT (24U) +/*! HASHTBLSZ - Hash Table Size This field indicates the size of the hash table: + * 0b00..No hash table + * 0b01..64 + * 0b10..128 + * 0b11..256 + */ +#define ENET_QOS_MAC_HW_FEAT_HASHTBLSZ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_SHIFT)) & ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_MASK) + +#define ENET_QOS_MAC_HW_FEAT_MACADR64SEL_MASK (0x1000000U) +#define ENET_QOS_MAC_HW_FEAT_MACADR64SEL_SHIFT (24U) +/*! MACADR64SEL - MAC Addresses 64-127 Selected This bit is set to 1 when the Enable Additional 64 + * MAC Address Registers (64-127) option is selected + * 0b0..MAC Addresses 64-127 Select option is not selected + * 0b1..MAC Addresses 64-127 Select option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_MACADR64SEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MACADR64SEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MACADR64SEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_MASK (0x7000000U) +#define ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_SHIFT (24U) +/*! PPSOUTNUM - Number of PPS Outputs This field indicates the number of PPS outputs: + * 0b000..No PPS output + * 0b001..1 PPS output + * 0b010..2 PPS output + * 0b011..3 PPS output + * 0b100..4 PPS output + * 0b101..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_PPSOUTNUM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_SHIFT)) & ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_MASK) + +#define ENET_QOS_MAC_HW_FEAT_TSSTSSEL_MASK (0x6000000U) +#define ENET_QOS_MAC_HW_FEAT_TSSTSSEL_SHIFT (25U) +/*! TSSTSSEL - Timestamp System Time Source This bit indicates the source of the Timestamp system + * time: This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected + * 0b00..Reserved + * 0b01..Internal + * 0b10..External + * 0b11..Both + */ +#define ENET_QOS_MAC_HW_FEAT_TSSTSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TSSTSSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TSSTSSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_FPESEL_MASK (0x4000000U) +#define ENET_QOS_MAC_HW_FEAT_FPESEL_SHIFT (26U) +/*! FPESEL - Frame Preemption Enable This bit is set to 1 when the Enable Frame preemption feature is selected. + * 0b0..Frame Preemption Enable feature is not selected + * 0b1..Frame Preemption Enable feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_FPESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_FPESEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_FPESEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_L3L4FNUM_MASK (0x78000000U) +#define ENET_QOS_MAC_HW_FEAT_L3L4FNUM_SHIFT (27U) +/*! L3L4FNUM - Total number of L3 or L4 Filters This field indicates the total number of L3 or L4 filters: + * 0b0000..No L3 or L4 Filter + * 0b0001..1 L3 or L4 Filter + * 0b0010..2 L3 or L4 Filters + * 0b0011..3 L3 or L4 Filters + * 0b0100..4 L3 or L4 Filters + * 0b0101..5 L3 or L4 Filters + * 0b0110..6 L3 or L4 Filters + * 0b0111..7 L3 or L4 Filters + * 0b1000..8 L3 or L4 Filters + */ +#define ENET_QOS_MAC_HW_FEAT_L3L4FNUM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_L3L4FNUM_SHIFT)) & ENET_QOS_MAC_HW_FEAT_L3L4FNUM_MASK) + +#define ENET_QOS_MAC_HW_FEAT_SAVLANINS_MASK (0x8000000U) +#define ENET_QOS_MAC_HW_FEAT_SAVLANINS_SHIFT (27U) +/*! SAVLANINS - Source Address or VLAN Insertion Enable This bit is set to 1 when the Enable SA and + * VLAN Insertion on Tx option is selected + * 0b0..Source Address or VLAN Insertion Enable option is not selected + * 0b1..Source Address or VLAN Insertion Enable option is selected + */ +#define ENET_QOS_MAC_HW_FEAT_SAVLANINS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_SAVLANINS_SHIFT)) & ENET_QOS_MAC_HW_FEAT_SAVLANINS_MASK) + +#define ENET_QOS_MAC_HW_FEAT_TBSSEL_MASK (0x8000000U) +#define ENET_QOS_MAC_HW_FEAT_TBSSEL_SHIFT (27U) +/*! TBSSEL - Time Based Scheduling Enable This bit is set to 1 when the Time Based Scheduling feature is selected. + * 0b0..Time Based Scheduling Enable feature is not selected + * 0b1..Time Based Scheduling Enable feature is selected + */ +#define ENET_QOS_MAC_HW_FEAT_TBSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TBSSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TBSSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_MASK (0x70000000U) +#define ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_SHIFT (28U) +/*! ACTPHYSEL - Active PHY Selected When you have multiple PHY interfaces in your configuration, + * this field indicates the sampled value of phy_intf_sel_i during reset de-assertion. + * 0b000..GMII + * 0b001..RGMII + * 0b010..SGMII + * 0b011..TBI + * 0b100..RMII + * 0b101..RTBI + * 0b110..SMII + * 0b111..RevMII + */ +#define ENET_QOS_MAC_HW_FEAT_ACTPHYSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_MASK) + +#define ENET_QOS_MAC_HW_FEAT_ASP_MASK (0x30000000U) +#define ENET_QOS_MAC_HW_FEAT_ASP_SHIFT (28U) +/*! ASP - Automotive Safety Package Following are the encoding for the different Safety features + * 0b00..No Safety features selected + * 0b01..Only "ECC protection for external memory" feature is selected + * 0b10..All the Automotive Safety features are selected without the "Parity Port Enable for external interface" feature + * 0b11..All the Automotive Safety features are selected with the "Parity Port Enable for external interface" feature + */ +#define ENET_QOS_MAC_HW_FEAT_ASP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ASP_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ASP_MASK) + +#define ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_MASK (0x70000000U) +#define ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_SHIFT (28U) +/*! AUXSNAPNUM - Number of Auxiliary Snapshot Inputs This field indicates the number of auxiliary snapshot inputs: + * 0b000..No auxiliary input + * 0b001..1 auxiliary input + * 0b010..2 auxiliary input + * 0b011..3 auxiliary input + * 0b100..4 auxiliary input + * 0b101..Reserved + */ +#define ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_SHIFT)) & ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_MASK) +/*! @} */ + +/* The count of ENET_QOS_MAC_HW_FEAT */ +#define ENET_QOS_MAC_HW_FEAT_COUNT (4U) + +/*! @name MAC_MDIO_ADDRESS - MDIO Address */ +/*! @{ */ + +#define ENET_QOS_MAC_MDIO_ADDRESS_GB_MASK (0x1U) +#define ENET_QOS_MAC_MDIO_ADDRESS_GB_SHIFT (0U) +/*! GB - GMII Busy The application sets this bit to instruct the SMA to initiate a Read or Write access to the MDIO slave. + * 0b0..GMII Busy is disabled + * 0b1..GMII Busy is enabled + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_GB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_GB_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_GB_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_C45E_MASK (0x2U) +#define ENET_QOS_MAC_MDIO_ADDRESS_C45E_SHIFT (1U) +/*! C45E - Clause 45 PHY Enable When this bit is set, Clause 45 capable PHY is connected to MDIO. + * 0b0..Clause 45 PHY is disabled + * 0b1..Clause 45 PHY is enabled + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_C45E(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_C45E_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_C45E_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_MASK (0x4U) +#define ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_SHIFT (2U) +/*! GOC_0 - GMII Operation Command 0 This is the lower bit of the operation command to the PHY or RevMII. + * 0b0..GMII Operation Command 0 is disabled + * 0b1..GMII Operation Command 0 is enabled + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_GOC_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_MASK (0x8U) +#define ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_SHIFT (3U) +/*! GOC_1 - GMII Operation Command 1 This bit is higher bit of the operation command to the PHY or + * RevMII, GOC_1 and GOC_O is encoded as follows: - 00: Reserved - 01: Write - 10: Post Read + * Increment Address for Clause 45 PHY - 11: Read When Clause 22 PHY or RevMII is enabled, only Write + * and Read commands are valid. + * 0b0..GMII Operation Command 1 is disabled + * 0b1..GMII Operation Command 1 is enabled + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_GOC_1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_SKAP_MASK (0x10U) +#define ENET_QOS_MAC_MDIO_ADDRESS_SKAP_SHIFT (4U) +/*! SKAP - Skip Address Packet When this bit is set, the SMA does not send the address packets + * before read, write, or post-read increment address packets. + * 0b0..Skip Address Packet is disabled + * 0b1..Skip Address Packet is enabled + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_SKAP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_SKAP_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_SKAP_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_CR_MASK (0xF00U) +#define ENET_QOS_MAC_MDIO_ADDRESS_CR_SHIFT (8U) +/*! CR - CSR Clock Range The CSR Clock Range selection determines the frequency of the MDC clock + * according to the CSR clock frequency used in your design: - 0000: CSR clock = 60-100 MHz; MDC + * clock = CSR clock/42 - 0001: CSR clock = 100-150 MHz; MDC clock = CSR clock/62 - 0010: CSR clock + * = 20-35 MHz; MDC clock = CSR clock/16 - 0011: CSR clock = 35-60 MHz; MDC clock = CSR clock/26 + * - 0100: CSR clock = 150-250 MHz; MDC clock = CSR clock/102 - 0101: CSR clock = 250-300 MHz; + * MDC clock = CSR clock/124 - 0110: CSR clock = 300-500 MHz; MDC clock = CSR clock/204 - 0111: CSR + * clock = 500-800 MHz; MDC clock = CSR clock/324 The suggested range of CSR clock frequency + * applicable for each value (when Bit 11 = 0) ensures that the MDC clock is approximately between 1. + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_CR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_CR_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_CR_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_NTC_MASK (0x7000U) +#define ENET_QOS_MAC_MDIO_ADDRESS_NTC_SHIFT (12U) +/*! NTC - Number of Trailing Clocks This field controls the number of trailing clock cycles + * generated on gmii_mdc_o (MDC) after the end of transmission of MDIO frame. + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_NTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_NTC_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_NTC_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_RDA_MASK (0x1F0000U) +#define ENET_QOS_MAC_MDIO_ADDRESS_RDA_SHIFT (16U) +/*! RDA - Register/Device Address These bits select the PHY register in selected Clause 22 PHY device. */ +#define ENET_QOS_MAC_MDIO_ADDRESS_RDA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_RDA_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_RDA_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_PA_MASK (0x3E00000U) +#define ENET_QOS_MAC_MDIO_ADDRESS_PA_SHIFT (21U) +/*! PA - Physical Layer Address This field indicates which Clause 22 PHY devices (out of 32 devices) the MAC is accessing. */ +#define ENET_QOS_MAC_MDIO_ADDRESS_PA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_PA_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_PA_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_BTB_MASK (0x4000000U) +#define ENET_QOS_MAC_MDIO_ADDRESS_BTB_SHIFT (26U) +/*! BTB - Back to Back transactions When this bit is set and the NTC has value greater than 0, then + * the MAC informs the completion of a read or write command at the end of frame transfer (before + * the trailing clocks are transmitted). + * 0b0..Back to Back transactions disabled + * 0b1..Back to Back transactions enabled + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_BTB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_BTB_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_BTB_MASK) + +#define ENET_QOS_MAC_MDIO_ADDRESS_PSE_MASK (0x8000000U) +#define ENET_QOS_MAC_MDIO_ADDRESS_PSE_SHIFT (27U) +/*! PSE - Preamble Suppression Enable When this bit is set, the SMA suppresses the 32-bit preamble + * and transmits MDIO frames with only 1 preamble bit. + * 0b0..Preamble Suppression disabled + * 0b1..Preamble Suppression enabled + */ +#define ENET_QOS_MAC_MDIO_ADDRESS_PSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_PSE_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_PSE_MASK) +/*! @} */ + +/*! @name MAC_MDIO_DATA - MAC MDIO Data */ +/*! @{ */ + +#define ENET_QOS_MAC_MDIO_DATA_GD_MASK (0xFFFFU) +#define ENET_QOS_MAC_MDIO_DATA_GD_SHIFT (0U) +/*! GD - GMII Data This field contains the 16-bit data value read from the PHY or RevMII after a + * Management Read operation or the 16-bit data value to be written to the PHY or RevMII before a + * Management Write operation. + */ +#define ENET_QOS_MAC_MDIO_DATA_GD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_DATA_GD_SHIFT)) & ENET_QOS_MAC_MDIO_DATA_GD_MASK) + +#define ENET_QOS_MAC_MDIO_DATA_RA_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_MDIO_DATA_RA_SHIFT (16U) +/*! RA - Register Address This field is valid only when C45E is set. */ +#define ENET_QOS_MAC_MDIO_DATA_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_DATA_RA_SHIFT)) & ENET_QOS_MAC_MDIO_DATA_RA_MASK) +/*! @} */ + +/*! @name MAC_CSR_SW_CTRL - CSR Software Control */ +/*! @{ */ + +#define ENET_QOS_MAC_CSR_SW_CTRL_RCWE_MASK (0x1U) +#define ENET_QOS_MAC_CSR_SW_CTRL_RCWE_SHIFT (0U) +/*! RCWE - Register Clear on Write 1 Enable When this bit is set, the access mode of some register + * fields changes to Clear on Write 1, the application needs to set that respective bit to 1 to + * clear it. + * 0b0..Register Clear on Write 1 is disabled + * 0b1..Register Clear on Write 1 is enabled + */ +#define ENET_QOS_MAC_CSR_SW_CTRL_RCWE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CSR_SW_CTRL_RCWE_SHIFT)) & ENET_QOS_MAC_CSR_SW_CTRL_RCWE_MASK) +/*! @} */ + +/*! @name MAC_FPE_CTRL_STS - Frame Preemption Control */ +/*! @{ */ + +#define ENET_QOS_MAC_FPE_CTRL_STS_EFPE_MASK (0x1U) +#define ENET_QOS_MAC_FPE_CTRL_STS_EFPE_SHIFT (0U) +/*! EFPE - Enable Tx Frame Preemption When set Frame Preemption Tx functionality is enabled. + * 0b0..Tx Frame Preemption is disabled + * 0b1..Tx Frame Preemption is enabled + */ +#define ENET_QOS_MAC_FPE_CTRL_STS_EFPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_EFPE_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_EFPE_MASK) + +#define ENET_QOS_MAC_FPE_CTRL_STS_SVER_MASK (0x2U) +#define ENET_QOS_MAC_FPE_CTRL_STS_SVER_SHIFT (1U) +/*! SVER - Send Verify mPacket When set indicates hardware to send a verify mPacket. + * 0b0..Send Verify mPacket is disabled + * 0b1..Send Verify mPacket is enabled + */ +#define ENET_QOS_MAC_FPE_CTRL_STS_SVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_SVER_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_SVER_MASK) + +#define ENET_QOS_MAC_FPE_CTRL_STS_SRSP_MASK (0x4U) +#define ENET_QOS_MAC_FPE_CTRL_STS_SRSP_SHIFT (2U) +/*! SRSP - Send Respond mPacket When set indicates hardware to send a Respond mPacket. + * 0b0..Send Respond mPacket is disabled + * 0b1..Send Respond mPacket is enabled + */ +#define ENET_QOS_MAC_FPE_CTRL_STS_SRSP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_SRSP_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_SRSP_MASK) + +#define ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_MASK (0x8U) +#define ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_SHIFT (3U) +/*! S1_SET_0 - Reserved, Must be set to "0". */ +#define ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_MASK) + +#define ENET_QOS_MAC_FPE_CTRL_STS_RVER_MASK (0x10000U) +#define ENET_QOS_MAC_FPE_CTRL_STS_RVER_SHIFT (16U) +/*! RVER - Received Verify Frame Set when a Verify mPacket is received. + * 0b0..Not received Verify Frame + * 0b1..Received Verify Frame + */ +#define ENET_QOS_MAC_FPE_CTRL_STS_RVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_RVER_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_RVER_MASK) + +#define ENET_QOS_MAC_FPE_CTRL_STS_RRSP_MASK (0x20000U) +#define ENET_QOS_MAC_FPE_CTRL_STS_RRSP_SHIFT (17U) +/*! RRSP - Received Respond Frame Set when a Respond mPacket is received. + * 0b0..Not received Respond Frame + * 0b1..Received Respond Frame + */ +#define ENET_QOS_MAC_FPE_CTRL_STS_RRSP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_RRSP_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_RRSP_MASK) + +#define ENET_QOS_MAC_FPE_CTRL_STS_TVER_MASK (0x40000U) +#define ENET_QOS_MAC_FPE_CTRL_STS_TVER_SHIFT (18U) +/*! TVER - Transmitted Verify Frame Set when a Verify mPacket is transmitted (triggered by setting SVER field). + * 0b0..Not transmitted Verify Frame + * 0b1..transmitted Verify Frame + */ +#define ENET_QOS_MAC_FPE_CTRL_STS_TVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_TVER_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_TVER_MASK) + +#define ENET_QOS_MAC_FPE_CTRL_STS_TRSP_MASK (0x80000U) +#define ENET_QOS_MAC_FPE_CTRL_STS_TRSP_SHIFT (19U) +/*! TRSP - Transmitted Respond Frame Set when a Respond mPacket is transmitted (triggered by setting SRSP field). + * 0b0..Not transmitted Respond Frame + * 0b1..transmitted Respond Frame + */ +#define ENET_QOS_MAC_FPE_CTRL_STS_TRSP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_TRSP_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_TRSP_MASK) +/*! @} */ + +/*! @name MAC_PRESN_TIME_NS - 32-bit Binary Rollover Equivalent Time */ +/*! @{ */ + +#define ENET_QOS_MAC_PRESN_TIME_NS_MPTN_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PRESN_TIME_NS_MPTN_SHIFT (0U) +/*! MPTN - MAC 1722 Presentation Time in ns These bits indicate the value of the 32-bit binary + * rollover equivalent time of the PTP System Time in ns + */ +#define ENET_QOS_MAC_PRESN_TIME_NS_MPTN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PRESN_TIME_NS_MPTN_SHIFT)) & ENET_QOS_MAC_PRESN_TIME_NS_MPTN_MASK) +/*! @} */ + +/*! @name MAC_PRESN_TIME_UPDT - MAC 1722 Presentation Time */ +/*! @{ */ + +#define ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_SHIFT (0U) +/*! MPTU - MAC 1722 Presentation Time Update This field holds the init value or the update value for the presentation time. */ +#define ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_SHIFT)) & ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_MASK) +/*! @} */ + +/*! @name HIGH - MAC Address0 High..MAC Address63 High */ +/*! @{ */ + +#define ENET_QOS_HIGH_ADDRHI_MASK (0xFFFFU) +#define ENET_QOS_HIGH_ADDRHI_SHIFT (0U) +/*! ADDRHI - MAC ADDRESS12 [47:32] This field contains the upper 16 bits[47:32] of the thirteenth 6-byte MAC address. */ +#define ENET_QOS_HIGH_ADDRHI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_ADDRHI_SHIFT)) & ENET_QOS_HIGH_ADDRHI_MASK) + +#define ENET_QOS_HIGH_DCS_MASK (0x1F0000U) /* Merged from fields with different position or width, of widths (3, 5), largest definition used */ +#define ENET_QOS_HIGH_DCS_SHIFT (16U) +/*! DCS - DMA Channel Select If the PDC bit of MAC_EXT_CONFIGURATION register is not set: This field + * contains the binary representation of the DMA Channel number to which an Rx packet whose DA + * matches the MAC Address(#i) content is routed. + */ +#define ENET_QOS_HIGH_DCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_DCS_SHIFT)) & ENET_QOS_HIGH_DCS_MASK) /* Merged from fields with different position or width, of widths (3, 5), largest definition used */ + +#define ENET_QOS_HIGH_MBC_MASK (0x3F000000U) +#define ENET_QOS_HIGH_MBC_SHIFT (24U) +/*! MBC - Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes. */ +#define ENET_QOS_HIGH_MBC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_MBC_SHIFT)) & ENET_QOS_HIGH_MBC_MASK) + +#define ENET_QOS_HIGH_SA_MASK (0x40000000U) +#define ENET_QOS_HIGH_SA_SHIFT (30U) +/*! SA - Source Address When this bit is set, the MAC ADDRESS31[47:0] is used to compare with the SA + * fields of the received packet. + * 0b0..Compare with Destination Address + * 0b1..Compare with Source Address + */ +#define ENET_QOS_HIGH_SA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_SA_SHIFT)) & ENET_QOS_HIGH_SA_MASK) + +#define ENET_QOS_HIGH_AE_MASK (0x80000000U) +#define ENET_QOS_HIGH_AE_SHIFT (31U) +/*! AE - Address Enable When this bit is set, the address filter module uses the thirteenth MAC address for perfect filtering. + * 0b0..INVALID : This bit must be always set to 1 + * 0b1..This bit is always set to 1 + */ +#define ENET_QOS_HIGH_AE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_AE_SHIFT)) & ENET_QOS_HIGH_AE_MASK) +/*! @} */ + +/* The count of ENET_QOS_HIGH */ +#define ENET_QOS_HIGH_COUNT (64U) + +/*! @name LOW - MAC Address0 Low..MAC Address63 Low */ +/*! @{ */ + +#define ENET_QOS_LOW_ADDRLO_MASK (0xFFFFFFFFU) +#define ENET_QOS_LOW_ADDRLO_SHIFT (0U) +/*! ADDRLO - MAC ADDRESS12 [31:0] This field contains the lower 32 bits of thirteenth 6-byte MAC address. */ +#define ENET_QOS_LOW_ADDRLO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_LOW_ADDRLO_SHIFT)) & ENET_QOS_LOW_ADDRLO_MASK) +/*! @} */ + +/* The count of ENET_QOS_LOW */ +#define ENET_QOS_LOW_COUNT (64U) + +/*! @name MAC_MMC_CONTROL - MMC Control */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_CONTROL_CNTRST_MASK (0x1U) +#define ENET_QOS_MAC_MMC_CONTROL_CNTRST_SHIFT (0U) +/*! CNTRST - Counters Reset When this bit is set, all counters are reset. + * 0b0..Counters are not reset + * 0b1..All counters are reset + */ +#define ENET_QOS_MAC_MMC_CONTROL_CNTRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTRST_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTRST_MASK) + +#define ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_MASK (0x2U) +#define ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_SHIFT (1U) +/*! CNTSTOPRO - Counter Stop Rollover When this bit is set, the counter does not roll over to zero after reaching the maximum value. + * 0b0..Counter Stop Rollover is disabled + * 0b1..Counter Stop Rollover is enabled + */ +#define ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_MASK) + +#define ENET_QOS_MAC_MMC_CONTROL_RSTONRD_MASK (0x4U) +#define ENET_QOS_MAC_MMC_CONTROL_RSTONRD_SHIFT (2U) +/*! RSTONRD - Reset on Read When this bit is set, the MMC counters are reset to zero after Read (self-clearing after reset). + * 0b0..Reset on Read is disabled + * 0b1..Reset on Read is enabled + */ +#define ENET_QOS_MAC_MMC_CONTROL_RSTONRD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_RSTONRD_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_RSTONRD_MASK) + +#define ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_MASK (0x8U) +#define ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_SHIFT (3U) +/*! CNTFREEZ - MMC Counter Freeze When this bit is set, it freezes all MMC counters to their current value. + * 0b0..MMC Counter Freeze is disabled + * 0b1..MMC Counter Freeze is enabled + */ +#define ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_MASK) + +#define ENET_QOS_MAC_MMC_CONTROL_CNTPRST_MASK (0x10U) +#define ENET_QOS_MAC_MMC_CONTROL_CNTPRST_SHIFT (4U) +/*! CNTPRST - Counters Preset When this bit is set, all counters are initialized or preset to almost + * full or almost half according to the CNTPRSTLVL bit. + * 0b0..Counters Preset is disabled + * 0b1..Counters Preset is enabled + */ +#define ENET_QOS_MAC_MMC_CONTROL_CNTPRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTPRST_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTPRST_MASK) + +#define ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_MASK (0x20U) +#define ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_SHIFT (5U) +/*! CNTPRSTLVL - Full-Half Preset When this bit is low and the CNTPRST bit is set, all MMC counters get preset to almost-half value. + * 0b0..Full-Half Preset is disabled + * 0b1..Full-Half Preset is enabled + */ +#define ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_MASK) + +#define ENET_QOS_MAC_MMC_CONTROL_UCDBC_MASK (0x100U) +#define ENET_QOS_MAC_MMC_CONTROL_UCDBC_SHIFT (8U) +/*! UCDBC - Update MMC Counters for Dropped Broadcast Packets Note: The CNTRST bit has a higher priority than the CNTPRST bit. + * 0b0..Update MMC Counters for Dropped Broadcast Packets is disabled + * 0b1..Update MMC Counters for Dropped Broadcast Packets is enabled + */ +#define ENET_QOS_MAC_MMC_CONTROL_UCDBC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_UCDBC_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_UCDBC_MASK) +/*! @} */ + +/*! @name MAC_MMC_RX_INTERRUPT - MMC Rx Interrupt */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_MASK (0x1U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_SHIFT (0U) +/*! RXGBPKTIS - MMC Receive Good Bad Packet Counter Interrupt Status This bit is set when the + * rxpacketcount_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_MASK (0x2U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_SHIFT (1U) +/*! RXGBOCTIS - MMC Receive Good Bad Octet Counter Interrupt Status This bit is set when the + * rxoctetcount_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Good Bad Octet Counter Interrupt Status not detected + * 0b1..MMC Receive Good Bad Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_MASK (0x4U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_SHIFT (2U) +/*! RXGOCTIS - MMC Receive Good Octet Counter Interrupt Status This bit is set when the + * rxoctetcount_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Good Octet Counter Interrupt Status not detected + * 0b1..MMC Receive Good Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_MASK (0x8U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_SHIFT (3U) +/*! RXBCGPIS - MMC Receive Broadcast Good Packet Counter Interrupt Status This bit is set when the + * rxbroadcastpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Broadcast Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Broadcast Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_MASK (0x10U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_SHIFT (4U) +/*! RXMCGPIS - MMC Receive Multicast Good Packet Counter Interrupt Status This bit is set when the + * rxmulticastpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Multicast Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Multicast Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_MASK (0x20U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_SHIFT (5U) +/*! RXCRCERPIS - MMC Receive CRC Error Packet Counter Interrupt Status This bit is set when the + * rxcrcerror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive CRC Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive CRC Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_MASK (0x40U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_SHIFT (6U) +/*! RXALGNERPIS - MMC Receive Alignment Error Packet Counter Interrupt Status This bit is set when + * the rxalignmenterror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Alignment Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Alignment Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_MASK (0x80U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_SHIFT (7U) +/*! RXRUNTPIS - MMC Receive Runt Packet Counter Interrupt Status This bit is set when the + * rxrunterror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Runt Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Runt Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_MASK (0x100U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_SHIFT (8U) +/*! RXJABERPIS - MMC Receive Jabber Error Packet Counter Interrupt Status This bit is set when the + * rxjabbererror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Jabber Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Jabber Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_MASK (0x200U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_SHIFT (9U) +/*! RXUSIZEGPIS - MMC Receive Undersize Good Packet Counter Interrupt Status This bit is set when + * the rxundersize_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Undersize Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Undersize Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_MASK (0x400U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_SHIFT (10U) +/*! RXOSIZEGPIS - MMC Receive Oversize Good Packet Counter Interrupt Status This bit is set when the + * rxoversize_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Oversize Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Oversize Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_MASK (0x800U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_SHIFT (11U) +/*! RX64OCTGBPIS - MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status This bit is set + * when the rx64octets_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_MASK (0x1000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_SHIFT (12U) +/*! RX65T127OCTGBPIS - MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status This bit + * is set when the rx65to127octets_gb counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_MASK (0x2000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_SHIFT (13U) +/*! RX128T255OCTGBPIS - MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status This + * bit is set when the rx128to255octets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_MASK (0x4000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_SHIFT (14U) +/*! RX256T511OCTGBPIS - MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status This + * bit is set when the rx256to511octets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_MASK (0x8000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_SHIFT (15U) +/*! RX512T1023OCTGBPIS - MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status This + * bit is set when the rx512to1023octets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_MASK (0x10000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_SHIFT (16U) +/*! RX1024TMAXOCTGBPIS - MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status + * This bit is set when the rx1024tomaxoctets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_MASK (0x20000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_SHIFT (17U) +/*! RXUCGPIS - MMC Receive Unicast Good Packet Counter Interrupt Status This bit is set when the + * rxunicastpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Unicast Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Unicast Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_MASK (0x40000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_SHIFT (18U) +/*! RXLENERPIS - MMC Receive Length Error Packet Counter Interrupt Status This bit is set when the + * rxlengtherror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Length Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Length Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_MASK (0x80000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_SHIFT (19U) +/*! RXORANGEPIS - MMC Receive Out Of Range Error Packet Counter Interrupt Status. + * 0b0..MMC Receive Out Of Range Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Out Of Range Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_MASK (0x100000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_SHIFT (20U) +/*! RXPAUSPIS - MMC Receive Pause Packet Counter Interrupt Status This bit is set when the + * rxpausepackets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Pause Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Pause Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_MASK (0x200000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_SHIFT (21U) +/*! RXFOVPIS - MMC Receive FIFO Overflow Packet Counter Interrupt Status This bit is set when the + * rxfifooverflow counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive FIFO Overflow Packet Counter Interrupt Status not detected + * 0b1..MMC Receive FIFO Overflow Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_MASK (0x400000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_SHIFT (22U) +/*! RXVLANGBPIS - MMC Receive VLAN Good Bad Packet Counter Interrupt Status This bit is set when the + * rxvlanpackets_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive VLAN Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Receive VLAN Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_MASK (0x800000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_SHIFT (23U) +/*! RXWDOGPIS - MMC Receive Watchdog Error Packet Counter Interrupt Status This bit is set when the + * rxwatchdog error counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Watchdog Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Watchdog Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_MASK (0x1000000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_SHIFT (24U) +/*! RXRCVERRPIS - MMC Receive Error Packet Counter Interrupt Status This bit is set when the + * rxrcverror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_MASK (0x2000000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_SHIFT (25U) +/*! RXCTRLPIS - MMC Receive Control Packet Counter Interrupt Status This bit is set when the + * rxctrlpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Control Packet Counter Interrupt Status not detected + * 0b1..MMC Receive Control Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_MASK (0x4000000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_SHIFT (26U) +/*! RXLPIUSCIS - MMC Receive LPI microsecond counter interrupt status This bit is set when the + * Rx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive LPI microsecond Counter Interrupt Status not detected + * 0b1..MMC Receive LPI microsecond Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_MASK (0x8000000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_SHIFT (27U) +/*! RXLPITRCIS - MMC Receive LPI transition counter interrupt status This bit is set when the + * Rx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive LPI transition Counter Interrupt Status not detected + * 0b1..MMC Receive LPI transition Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_MASK) +/*! @} */ + +/*! @name MAC_MMC_TX_INTERRUPT - MMC Tx Interrupt */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_MASK (0x1U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_SHIFT (0U) +/*! TXGBOCTIS - MMC Transmit Good Bad Octet Counter Interrupt Status This bit is set when the + * txoctetcount_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Good Bad Octet Counter Interrupt Status not detected + * 0b1..MMC Transmit Good Bad Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_MASK (0x2U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_SHIFT (1U) +/*! TXGBPKTIS - MMC Transmit Good Bad Packet Counter Interrupt Status This bit is set when the + * txpacketcount_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_MASK (0x4U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_SHIFT (2U) +/*! TXBCGPIS - MMC Transmit Broadcast Good Packet Counter Interrupt Status This bit is set when the + * txbroadcastpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Broadcast Good Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Broadcast Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_MASK (0x8U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_SHIFT (3U) +/*! TXMCGPIS - MMC Transmit Multicast Good Packet Counter Interrupt Status This bit is set when the + * txmulticastpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Multicast Good Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Multicast Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_MASK (0x10U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_SHIFT (4U) +/*! TX64OCTGBPIS - MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status This bit is set + * when the tx64octets_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_MASK (0x20U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_SHIFT (5U) +/*! TX65T127OCTGBPIS - MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status This + * bit is set when the tx65to127octets_gb counter reaches half the maximum value, and also when it + * reaches the maximum value. + * 0b0..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_MASK (0x40U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_SHIFT (6U) +/*! TX128T255OCTGBPIS - MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status This + * bit is set when the tx128to255octets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_MASK (0x80U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_SHIFT (7U) +/*! TX256T511OCTGBPIS - MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status This + * bit is set when the tx256to511octets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_MASK (0x100U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_SHIFT (8U) +/*! TX512T1023OCTGBPIS - MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status + * This bit is set when the tx512to1023octets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_MASK (0x200U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_SHIFT (9U) +/*! TX1024TMAXOCTGBPIS - MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status + * This bit is set when the tx1024tomaxoctets_gb counter reaches half of the maximum value or + * the maximum value. + * 0b0..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_MASK (0x400U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_SHIFT (10U) +/*! TXUCGBPIS - MMC Transmit Unicast Good Bad Packet Counter Interrupt Status This bit is set when + * the txunicastpackets_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Unicast Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Unicast Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_MASK (0x800U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_SHIFT (11U) +/*! TXMCGBPIS - MMC Transmit Multicast Good Bad Packet Counter Interrupt Status The bit is set when + * the txmulticastpackets_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Multicast Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Multicast Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_MASK (0x1000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_SHIFT (12U) +/*! TXBCGBPIS - MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status This bit is set when + * the txbroadcastpackets_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_MASK (0x2000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_SHIFT (13U) +/*! TXUFLOWERPIS - MMC Transmit Underflow Error Packet Counter Interrupt Status This bit is set when + * the txunderflowerror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Underflow Error Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Underflow Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_MASK (0x4000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_SHIFT (14U) +/*! TXSCOLGPIS - MMC Transmit Single Collision Good Packet Counter Interrupt Status This bit is set + * when the txsinglecol_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Single Collision Good Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Single Collision Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_MASK (0x8000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_SHIFT (15U) +/*! TXMCOLGPIS - MMC Transmit Multiple Collision Good Packet Counter Interrupt Status This bit is + * set when the txmulticol_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Multiple Collision Good Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Multiple Collision Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_MASK (0x10000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_SHIFT (16U) +/*! TXDEFPIS - MMC Transmit Deferred Packet Counter Interrupt Status This bit is set when the + * txdeferred counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Deferred Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Deferred Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_MASK (0x20000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_SHIFT (17U) +/*! TXLATCOLPIS - MMC Transmit Late Collision Packet Counter Interrupt Status This bit is set when + * the txlatecol counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Late Collision Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Late Collision Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_MASK (0x40000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_SHIFT (18U) +/*! TXEXCOLPIS - MMC Transmit Excessive Collision Packet Counter Interrupt Status This bit is set + * when the txexesscol counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Excessive Collision Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Excessive Collision Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_MASK (0x80000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_SHIFT (19U) +/*! TXCARERPIS - MMC Transmit Carrier Error Packet Counter Interrupt Status This bit is set when the + * txcarriererror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Carrier Error Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Carrier Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_MASK (0x100000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_SHIFT (20U) +/*! TXGOCTIS - MMC Transmit Good Octet Counter Interrupt Status This bit is set when the + * txoctetcount_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Good Octet Counter Interrupt Status not detected + * 0b1..MMC Transmit Good Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_MASK (0x200000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_SHIFT (21U) +/*! TXGPKTIS - MMC Transmit Good Packet Counter Interrupt Status This bit is set when the + * txpacketcount_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Good Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_MASK (0x400000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_SHIFT (22U) +/*! TXEXDEFPIS - MMC Transmit Excessive Deferral Packet Counter Interrupt Status This bit is set + * when the txexcessdef counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Excessive Deferral Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Excessive Deferral Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_MASK (0x800000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_SHIFT (23U) +/*! TXPAUSPIS - MMC Transmit Pause Packet Counter Interrupt Status This bit is set when the + * txpausepacketserror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Pause Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Pause Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_MASK (0x1000000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_SHIFT (24U) +/*! TXVLANGPIS - MMC Transmit VLAN Good Packet Counter Interrupt Status This bit is set when the + * txvlanpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit VLAN Good Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit VLAN Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_MASK (0x2000000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_SHIFT (25U) +/*! TXOSIZEGPIS - MMC Transmit Oversize Good Packet Counter Interrupt Status This bit is set when + * the txoversize_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Oversize Good Packet Counter Interrupt Status not detected + * 0b1..MMC Transmit Oversize Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_MASK (0x4000000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_SHIFT (26U) +/*! TXLPIUSCIS - MMC Transmit LPI microsecond counter interrupt status This bit is set when the + * Tx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit LPI microsecond Counter Interrupt Status not detected + * 0b1..MMC Transmit LPI microsecond Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_MASK (0x8000000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_SHIFT (27U) +/*! TXLPITRCIS - MMC Transmit LPI transition counter interrupt status This bit is set when the + * Tx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit LPI transition Counter Interrupt Status not detected + * 0b1..MMC Transmit LPI transition Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_MASK) +/*! @} */ + +/*! @name MAC_MMC_RX_INTERRUPT_MASK - MMC Rx Interrupt Mask */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_MASK (0x1U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_SHIFT (0U) +/*! RXGBPKTIM - MMC Receive Good Bad Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxpacketcount_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_MASK (0x2U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_SHIFT (1U) +/*! RXGBOCTIM - MMC Receive Good Bad Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxoctetcount_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Good Bad Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Good Bad Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_MASK (0x4U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_SHIFT (2U) +/*! RXGOCTIM - MMC Receive Good Octet Counter Interrupt Mask Setting this bit masks the interrupt + * when the rxoctetcount_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Good Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Good Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_MASK (0x8U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_SHIFT (3U) +/*! RXBCGPIM - MMC Receive Broadcast Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxbroadcastpackets_g counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive Broadcast Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Broadcast Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_MASK (0x10U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_SHIFT (4U) +/*! RXMCGPIM - MMC Receive Multicast Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxmulticastpackets_g counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive Multicast Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Multicast Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_MASK (0x20U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_SHIFT (5U) +/*! RXCRCERPIM - MMC Receive CRC Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxcrcerror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive CRC Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive CRC Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_MASK (0x40U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_SHIFT (6U) +/*! RXALGNERPIM - MMC Receive Alignment Error Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the rxalignmenterror counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive Alignment Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Alignment Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_MASK (0x80U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_SHIFT (7U) +/*! RXRUNTPIM - MMC Receive Runt Packet Counter Interrupt Mask Setting this bit masks the interrupt + * when the rxrunterror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Runt Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Runt Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_MASK (0x100U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_SHIFT (8U) +/*! RXJABERPIM - MMC Receive Jabber Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxjabbererror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Jabber Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Jabber Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_MASK (0x200U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_SHIFT (9U) +/*! RXUSIZEGPIM - MMC Receive Undersize Good Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the rxundersize_g counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive Undersize Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Undersize Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_MASK (0x400U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_SHIFT (10U) +/*! RXOSIZEGPIM - MMC Receive Oversize Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxoversize_g counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive Oversize Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Oversize Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_MASK (0x800U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_SHIFT (11U) +/*! RX64OCTGBPIM - MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the rx64octets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_MASK (0x1000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_SHIFT (12U) +/*! RX65T127OCTGBPIM - MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask Setting + * this bit masks the interrupt when the rx65to127octets_gb counter reaches half of the maximum + * value or the maximum value. + * 0b0..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_MASK (0x2000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_SHIFT (13U) +/*! RX128T255OCTGBPIM - MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask Setting + * this bit masks the interrupt when the rx128to255octets_gb counter reaches half of the maximum + * value or the maximum value. + * 0b0..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_MASK (0x4000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_SHIFT (14U) +/*! RX256T511OCTGBPIM - MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask Setting + * this bit masks the interrupt when the rx256to511octets_gb counter reaches half of the maximum + * value or the maximum value. + * 0b0..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_MASK (0x8000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_SHIFT (15U) +/*! RX512T1023OCTGBPIM - MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask + * Setting this bit masks the interrupt when the rx512to1023octets_gb counter reaches half of the + * maximum value or the maximum value. + * 0b0..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_MASK (0x10000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_SHIFT (16U) +/*! RX1024TMAXOCTGBPIM - MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask. + * 0b0..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_MASK (0x20000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_SHIFT (17U) +/*! RXUCGPIM - MMC Receive Unicast Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxunicastpackets_g counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive Unicast Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Unicast Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_MASK (0x40000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_SHIFT (18U) +/*! RXLENERPIM - MMC Receive Length Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxlengtherror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Length Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Length Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_MASK (0x80000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_SHIFT (19U) +/*! RXORANGEPIM - MMC Receive Out Of Range Error Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the rxoutofrangetype counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive Out Of Range Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Out Of Range Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_MASK (0x100000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_SHIFT (20U) +/*! RXPAUSPIM - MMC Receive Pause Packet Counter Interrupt Mask Setting this bit masks the interrupt + * when the rxpausepackets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Pause Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Pause Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_MASK (0x200000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_SHIFT (21U) +/*! RXFOVPIM - MMC Receive FIFO Overflow Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxfifooverflow counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive FIFO Overflow Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive FIFO Overflow Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_MASK (0x400000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_SHIFT (22U) +/*! RXVLANGBPIM - MMC Receive VLAN Good Bad Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxvlanpackets_gb counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive VLAN Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive VLAN Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_MASK (0x800000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_SHIFT (23U) +/*! RXWDOGPIM - MMC Receive Watchdog Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxwatchdog counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Watchdog Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Watchdog Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_MASK (0x1000000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_SHIFT (24U) +/*! RXRCVERRPIM - MMC Receive Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxrcverror counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_MASK (0x2000000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_SHIFT (25U) +/*! RXCTRLPIM - MMC Receive Control Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxctrlpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive Control Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive Control Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_MASK (0x4000000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_SHIFT (26U) +/*! RXLPIUSCIM - MMC Receive LPI microsecond counter interrupt Mask Setting this bit masks the + * interrupt when the Rx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive LPI microsecond counter interrupt Mask is disabled + * 0b1..MMC Receive LPI microsecond counter interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_MASK) + +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_MASK (0x8000000U) +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_SHIFT (27U) +/*! RXLPITRCIM - MMC Receive LPI transition counter interrupt Mask Setting this bit masks the + * interrupt when the Rx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive LPI transition counter interrupt Mask is disabled + * 0b1..MMC Receive LPI transition counter interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_MASK) +/*! @} */ + +/*! @name MAC_MMC_TX_INTERRUPT_MASK - MMC Tx Interrupt Mask */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_MASK (0x1U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_SHIFT (0U) +/*! TXGBOCTIM - MMC Transmit Good Bad Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the txoctetcount_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Good Bad Octet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Good Bad Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_MASK (0x2U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_SHIFT (1U) +/*! TXGBPKTIM - MMC Transmit Good Bad Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the txpacketcount_gb counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_MASK (0x4U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_SHIFT (2U) +/*! TXBCGPIM - MMC Transmit Broadcast Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the txbroadcastpackets_g counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit Broadcast Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Broadcast Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_MASK (0x8U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_SHIFT (3U) +/*! TXMCGPIM - MMC Transmit Multicast Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the txmulticastpackets_g counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit Multicast Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Multicast Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_MASK (0x10U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_SHIFT (4U) +/*! TX64OCTGBPIM - MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the tx64octets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_MASK (0x20U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_SHIFT (5U) +/*! TX65T127OCTGBPIM - MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask Setting + * this bit masks the interrupt when the tx65to127octets_gb counter reaches half of the maximum + * value or the maximum value. + * 0b0..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_MASK (0x40U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_SHIFT (6U) +/*! TX128T255OCTGBPIM - MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask Setting + * this bit masks the interrupt when the tx128to255octets_gb counter reaches half of the maximum + * value or the maximum value. + * 0b0..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_MASK (0x80U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_SHIFT (7U) +/*! TX256T511OCTGBPIM - MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask Setting + * this bit masks the interrupt when the tx256to511octets_gb counter reaches half of the maximum + * value or the maximum value. + * 0b0..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_MASK (0x100U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_SHIFT (8U) +/*! TX512T1023OCTGBPIM - MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask + * Setting this bit masks the interrupt when the tx512to1023octets_gb counter reaches half of the + * maximum value or the maximum value. + * 0b0..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_MASK (0x200U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_SHIFT (9U) +/*! TX1024TMAXOCTGBPIM - MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask + * Setting this bit masks the interrupt when the tx1024tomaxoctets_gb counter reaches half of the + * maximum value or the maximum value. + * 0b0..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_MASK (0x400U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_SHIFT (10U) +/*! TXUCGBPIM - MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the txunicastpackets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_MASK (0x800U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_SHIFT (11U) +/*! TXMCGBPIM - MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the txmulticastpackets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_MASK (0x1000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_SHIFT (12U) +/*! TXBCGBPIM - MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the txbroadcastpackets_gb counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_MASK (0x2000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_SHIFT (13U) +/*! TXUFLOWERPIM - MMC Transmit Underflow Error Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the txunderflowerror counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit Underflow Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Underflow Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_MASK (0x4000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_SHIFT (14U) +/*! TXSCOLGPIM - MMC Transmit Single Collision Good Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the txsinglecol_g counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit Single Collision Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Single Collision Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_MASK (0x8000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_SHIFT (15U) +/*! TXMCOLGPIM - MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the txmulticol_g counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_MASK (0x10000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_SHIFT (16U) +/*! TXDEFPIM - MMC Transmit Deferred Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the txdeferred counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Deferred Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Deferred Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_MASK (0x20000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_SHIFT (17U) +/*! TXLATCOLPIM - MMC Transmit Late Collision Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the txlatecol counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Late Collision Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Late Collision Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_MASK (0x40000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_SHIFT (18U) +/*! TXEXCOLPIM - MMC Transmit Excessive Collision Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the txexcesscol counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Transmit Excessive Collision Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Excessive Collision Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_MASK (0x80000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_SHIFT (19U) +/*! TXCARERPIM - MMC Transmit Carrier Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the txcarriererror counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Transmit Carrier Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Carrier Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_MASK (0x100000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_SHIFT (20U) +/*! TXGOCTIM - MMC Transmit Good Octet Counter Interrupt Mask Setting this bit masks the interrupt + * when the txoctetcount_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Good Octet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Good Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_MASK (0x200000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_SHIFT (21U) +/*! TXGPKTIM - MMC Transmit Good Packet Counter Interrupt Mask Setting this bit masks the interrupt + * when the txpacketcount_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_MASK (0x400000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_SHIFT (22U) +/*! TXEXDEFPIM - MMC Transmit Excessive Deferral Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the txexcessdef counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Transmit Excessive Deferral Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Excessive Deferral Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_MASK (0x800000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_SHIFT (23U) +/*! TXPAUSPIM - MMC Transmit Pause Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the txpausepackets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Pause Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Pause Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_MASK (0x1000000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_SHIFT (24U) +/*! TXVLANGPIM - MMC Transmit VLAN Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the txvlanpackets_g counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit VLAN Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit VLAN Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_MASK (0x2000000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_SHIFT (25U) +/*! TXOSIZEGPIM - MMC Transmit Oversize Good Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the txoversize_g counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Transmit Oversize Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Oversize Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_MASK (0x4000000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_SHIFT (26U) +/*! TXLPIUSCIM - MMC Transmit LPI microsecond counter interrupt Mask Setting this bit masks the + * interrupt when the Tx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit LPI microsecond counter interrupt Mask is disabled + * 0b1..MMC Transmit LPI microsecond counter interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_MASK) + +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_MASK (0x8000000U) +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_SHIFT (27U) +/*! TXLPITRCIM - MMC Transmit LPI transition counter interrupt Mask Setting this bit masks the + * interrupt when the Tx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit LPI transition counter interrupt Mask is disabled + * 0b1..MMC Transmit LPI transition counter interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_MASK) +/*! @} */ + +/*! @name MAC_TX_OCTET_COUNT_GOOD_BAD - Tx Octet Count Good and Bad */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_SHIFT (0U) +/*! TXOCTGB - Tx Octet Count Good Bad This field indicates the number of bytes transmitted, + * exclusive of preamble and retried bytes, in good and bad packets. + */ +#define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_SHIFT)) & ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_PACKET_COUNT_GOOD_BAD - Tx Packet Count Good and Bad */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_SHIFT (0U) +/*! TXPKTGB - Tx Packet Count Good Bad This field indicates the number of good and bad packets + * transmitted, exclusive of retried packets. + */ +#define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_SHIFT)) & ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_BROADCAST_PACKETS_GOOD - Tx Broadcast Packets Good */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_SHIFT (0U) +/*! TXBCASTG - Tx Broadcast Packets Good This field indicates the number of good broadcast packets transmitted. */ +#define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_SHIFT)) & ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_MASK) +/*! @} */ + +/*! @name MAC_TX_MULTICAST_PACKETS_GOOD - Tx Multicast Packets Good */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_SHIFT (0U) +/*! TXMCASTG - Tx Multicast Packets Good This field indicates the number of good multicast packets transmitted. */ +#define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_SHIFT)) & ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_MASK) +/*! @} */ + +/*! @name MAC_TX_64OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 64-Byte Packets */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_SHIFT (0U) +/*! TX64OCTGB - Tx 64Octets Packets Good_Bad This field indicates the number of good and bad packets + * transmitted with length 64 bytes, exclusive of preamble and retried packets. + */ +#define ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_SHIFT)) & ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 65 to 127-Byte Packets */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_SHIFT (0U) +/*! TX65_127OCTGB - Tx 65To127Octets Packets Good Bad This field indicates the number of good and + * bad packets transmitted with length between 65 and 127 (inclusive) bytes, exclusive of preamble + * and retried packets. + */ +#define ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_SHIFT)) & ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 128 to 255-Byte Packets */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_SHIFT (0U) +/*! TX128_255OCTGB - Tx 128To255Octets Packets Good Bad This field indicates the number of good and + * bad packets transmitted with length between 128 and 255 (inclusive) bytes, exclusive of + * preamble and retried packets. + */ +#define ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_SHIFT)) & ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 256 to 511-Byte Packets */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_SHIFT (0U) +/*! TX256_511OCTGB - Tx 256To511Octets Packets Good Bad This field indicates the number of good and + * bad packets transmitted with length between 256 and 511 (inclusive) bytes, exclusive of + * preamble and retried packets. + */ +#define ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_SHIFT)) & ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 512 to 1023-Byte Packets */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_SHIFT (0U) +/*! TX512_1023OCTGB - Tx 512To1023Octets Packets Good Bad This field indicates the number of good + * and bad packets transmitted with length between 512 and 1023 (inclusive) bytes, exclusive of + * preamble and retried packets. + */ +#define ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_SHIFT)) & ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 1024 to Max-Byte Packets */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_SHIFT (0U) +/*! TX1024_MAXOCTGB - Tx 1024ToMaxOctets Packets Good Bad This field indicates the number of good + * and bad packets transmitted with length between 1024 and maxsize (inclusive) bytes, exclusive of + * preamble and retried packets. + */ +#define ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_SHIFT)) & ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_UNICAST_PACKETS_GOOD_BAD - Good and Bad Unicast Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_SHIFT (0U) +/*! TXUCASTGB - Tx Unicast Packets Good Bad This field indicates the number of good and bad unicast packets transmitted. */ +#define ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_SHIFT)) & ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_MULTICAST_PACKETS_GOOD_BAD - Good and Bad Multicast Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_SHIFT (0U) +/*! TXMCASTGB - Tx Multicast Packets Good Bad This field indicates the number of good and bad multicast packets transmitted. */ +#define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_SHIFT)) & ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_BROADCAST_PACKETS_GOOD_BAD - Good and Bad Broadcast Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_SHIFT (0U) +/*! TXBCASTGB - Tx Broadcast Packets Good Bad This field indicates the number of good and bad broadcast packets transmitted. */ +#define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_SHIFT)) & ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_MASK) +/*! @} */ + +/*! @name MAC_TX_UNDERFLOW_ERROR_PACKETS - Tx Packets Aborted By Underflow Error */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_SHIFT (0U) +/*! TXUNDRFLW - Tx Underflow Error Packets This field indicates the number of packets aborted because of packets underflow error. */ +#define ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_SHIFT)) & ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_MASK) +/*! @} */ + +/*! @name MAC_TX_SINGLE_COLLISION_GOOD_PACKETS - Single Collision Good Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_SHIFT (0U) +/*! TXSNGLCOLG - Tx Single Collision Good Packets This field indicates the number of successfully + * transmitted packets after a single collision in the half-duplex mode. + */ +#define ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_SHIFT)) & ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_MASK) +/*! @} */ + +/*! @name MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS - Multiple Collision Good Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_SHIFT (0U) +/*! TXMULTCOLG - Tx Multiple Collision Good Packets This field indicates the number of successfully + * transmitted packets after multiple collisions in the half-duplex mode. + */ +#define ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_SHIFT)) & ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_MASK) +/*! @} */ + +/*! @name MAC_TX_DEFERRED_PACKETS - Deferred Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_SHIFT (0U) +/*! TXDEFRD - Tx Deferred Packets This field indicates the number of successfully transmitted after + * a deferral in the half-duplex mode. + */ +#define ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_SHIFT)) & ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_MASK) +/*! @} */ + +/*! @name MAC_TX_LATE_COLLISION_PACKETS - Late Collision Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_SHIFT (0U) +/*! TXLATECOL - Tx Late Collision Packets This field indicates the number of packets aborted because of late collision error. */ +#define ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_SHIFT)) & ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_MASK) +/*! @} */ + +/*! @name MAC_TX_EXCESSIVE_COLLISION_PACKETS - Excessive Collision Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_SHIFT (0U) +/*! TXEXSCOL - Tx Excessive Collision Packets This field indicates the number of packets aborted + * because of excessive (16) collision errors. + */ +#define ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_SHIFT)) & ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_MASK) +/*! @} */ + +/*! @name MAC_TX_CARRIER_ERROR_PACKETS - Carrier Error Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_SHIFT (0U) +/*! TXCARR - Tx Carrier Error Packets This field indicates the number of packets aborted because of + * carrier sense error (no carrier or loss of carrier). + */ +#define ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_SHIFT)) & ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_MASK) +/*! @} */ + +/*! @name MAC_TX_OCTET_COUNT_GOOD - Bytes Transmitted in Good Packets */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_SHIFT (0U) +/*! TXOCTG - Tx Octet Count Good This field indicates the number of bytes transmitted, exclusive of preamble, only in good packets. */ +#define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_SHIFT)) & ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_MASK) +/*! @} */ + +/*! @name MAC_TX_PACKET_COUNT_GOOD - Good Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_SHIFT (0U) +/*! TXPKTG - Tx Packet Count Good This field indicates the number of good packets transmitted. */ +#define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_SHIFT)) & ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_MASK) +/*! @} */ + +/*! @name MAC_TX_EXCESSIVE_DEFERRAL_ERROR - Packets Aborted By Excessive Deferral Error */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_SHIFT (0U) +/*! TXEXSDEF - Tx Excessive Deferral Error This field indicates the number of packets aborted + * because of excessive deferral error (deferred for more than two max-sized packet times). + */ +#define ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_SHIFT)) & ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_MASK) +/*! @} */ + +/*! @name MAC_TX_PAUSE_PACKETS - Pause Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_SHIFT (0U) +/*! TXPAUSE - Tx Pause Packets This field indicates the number of good Pause packets transmitted. */ +#define ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_SHIFT)) & ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_MASK) +/*! @} */ + +/*! @name MAC_TX_VLAN_PACKETS_GOOD - Good VLAN Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_SHIFT (0U) +/*! TXVLANG - Tx VLAN Packets Good This field provides the number of good VLAN packets transmitted. */ +#define ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_SHIFT)) & ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_MASK) +/*! @} */ + +/*! @name MAC_TX_OSIZE_PACKETS_GOOD - Good Oversize Packets Transmitted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_SHIFT (0U) +/*! TXOSIZG - Tx OSize Packets Good This field indicates the number of packets transmitted without + * errors and with length greater than the maxsize (1,518 or 1,522 bytes for VLAN tagged packets; + * 2000 bytes if enabled in S2KP bit of the CONFIGURATION register). + */ +#define ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_SHIFT)) & ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_MASK) +/*! @} */ + +/*! @name MAC_RX_PACKETS_COUNT_GOOD_BAD - Good and Bad Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_SHIFT (0U) +/*! RXPKTGB - Rx Packets Count Good Bad This field indicates the number of good and bad packets received. */ +#define ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_SHIFT)) & ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_OCTET_COUNT_GOOD_BAD - Bytes in Good and Bad Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_SHIFT (0U) +/*! RXOCTGB - Rx Octet Count Good Bad This field indicates the number of bytes received, exclusive + * of preamble, in good and bad packets. + */ +#define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_SHIFT)) & ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_OCTET_COUNT_GOOD - Bytes in Good Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_SHIFT (0U) +/*! RXOCTG - Rx Octet Count Good This field indicates the number of bytes received, exclusive of preamble, only in good packets. */ +#define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_SHIFT)) & ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_MASK) +/*! @} */ + +/*! @name MAC_RX_BROADCAST_PACKETS_GOOD - Good Broadcast Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_SHIFT (0U) +/*! RXBCASTG - Rx Broadcast Packets Good This field indicates the number of good broadcast packets received. */ +#define ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_SHIFT)) & ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_MASK) +/*! @} */ + +/*! @name MAC_RX_MULTICAST_PACKETS_GOOD - Good Multicast Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_SHIFT (0U) +/*! RXMCASTG - Rx Multicast Packets Good This field indicates the number of good multicast packets received. */ +#define ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_SHIFT)) & ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_MASK) +/*! @} */ + +/*! @name MAC_RX_CRC_ERROR_PACKETS - CRC Error Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_SHIFT (0U) +/*! RXCRCERR - Rx CRC Error Packets This field indicates the number of packets received with CRC error. */ +#define ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_SHIFT)) & ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_MASK) +/*! @} */ + +/*! @name MAC_RX_ALIGNMENT_ERROR_PACKETS - Alignment Error Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_SHIFT (0U) +/*! RXALGNERR - Rx Alignment Error Packets This field indicates the number of packets received with alignment (dribble) error. */ +#define ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_SHIFT)) & ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_MASK) +/*! @} */ + +/*! @name MAC_RX_RUNT_ERROR_PACKETS - Runt Error Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_SHIFT (0U) +/*! RXRUNTERR - Rx Runt Error Packets This field indicates the number of packets received with runt + * (length less than 64 bytes and CRC error) error. + */ +#define ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_SHIFT)) & ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_MASK) +/*! @} */ + +/*! @name MAC_RX_JABBER_ERROR_PACKETS - Jabber Error Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_SHIFT (0U) +/*! RXJABERR - Rx Jabber Error Packets This field indicates the number of giant packets received + * with length (including CRC) greater than 1,518 bytes (1,522 bytes for VLAN tagged) and with CRC + * error. + */ +#define ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_SHIFT)) & ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_MASK) +/*! @} */ + +/*! @name MAC_RX_UNDERSIZE_PACKETS_GOOD - Good Undersize Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_SHIFT (0U) +/*! RXUNDERSZG - Rx Undersize Packets Good This field indicates the number of packets received with + * length less than 64 bytes, without any errors. + */ +#define ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_SHIFT)) & ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_MASK) +/*! @} */ + +/*! @name MAC_RX_OVERSIZE_PACKETS_GOOD - Good Oversize Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_SHIFT (0U) +/*! RXOVERSZG - Rx Oversize Packets Good This field indicates the number of packets received without + * errors, with length greater than the maxsize (1,518 bytes or 1,522 bytes for VLAN tagged + * packets; 2000 bytes if enabled in the S2KP bit of the MAC_CONFIGURATION register). + */ +#define ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_SHIFT)) & ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_MASK) +/*! @} */ + +/*! @name MAC_RX_64OCTETS_PACKETS_GOOD_BAD - Good and Bad 64-Byte Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_SHIFT (0U) +/*! RX64OCTGB - Rx 64 Octets Packets Good Bad This field indicates the number of good and bad + * packets received with length 64 bytes, exclusive of the preamble. + */ +#define ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_SHIFT)) & ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD - Good and Bad 64-to-127 Byte Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_SHIFT (0U) +/*! RX65_127OCTGB - Rx 65-127 Octets Packets Good Bad This field indicates the number of good and + * bad packets received with length between 65 and 127 (inclusive) bytes, exclusive of the preamble. + */ +#define ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_SHIFT)) & ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD - Good and Bad 128-to-255 Byte Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_SHIFT (0U) +/*! RX128_255OCTGB - Rx 128-255 Octets Packets Good Bad This field indicates the number of good and + * bad packets received with length between 128 and 255 (inclusive) bytes, exclusive of the + * preamble. + */ +#define ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_SHIFT)) & ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD - Good and Bad 256-to-511 Byte Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_SHIFT (0U) +/*! RX256_511OCTGB - Rx 256-511 Octets Packets Good Bad This field indicates the number of good and + * bad packets received with length between 256 and 511 (inclusive) bytes, exclusive of the + * preamble. + */ +#define ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_SHIFT)) & ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD - Good and Bad 512-to-1023 Byte Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_SHIFT (0U) +/*! RX512_1023OCTGB - RX 512-1023 Octets Packets Good Bad This field indicates the number of good + * and bad packets received with length between 512 and 1023 (inclusive) bytes, exclusive of the + * preamble. + */ +#define ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_SHIFT)) & ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD - Good and Bad 1024-to-Max Byte Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_SHIFT (0U) +/*! RX1024_MAXOCTGB - Rx 1024-Max Octets Good Bad This field indicates the number of good and bad + * packets received with length between 1024 and maxsize (inclusive) bytes, exclusive of the + * preamble. + */ +#define ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_SHIFT)) & ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_UNICAST_PACKETS_GOOD - Good Unicast Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_SHIFT (0U) +/*! RXUCASTG - Rx Unicast Packets Good This field indicates the number of good unicast packets received. */ +#define ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_SHIFT)) & ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_MASK) +/*! @} */ + +/*! @name MAC_RX_LENGTH_ERROR_PACKETS - Length Error Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_SHIFT (0U) +/*! RXLENERR - Rx Length Error Packets This field indicates the number of packets received with + * length error (Length Type field not equal to packet size), for all packets with valid length field. + */ +#define ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_SHIFT)) & ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_MASK) +/*! @} */ + +/*! @name MAC_RX_OUT_OF_RANGE_TYPE_PACKETS - Out-of-range Type Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_SHIFT (0U) +/*! RXOUTOFRNG - Rx Out of Range Type Packet This field indicates the number of packets received + * with length field not equal to the valid packet size (greater than 1,500 but less than 1,536). + */ +#define ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_SHIFT)) & ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_MASK) +/*! @} */ + +/*! @name MAC_RX_PAUSE_PACKETS - Pause Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_SHIFT (0U) +/*! RXPAUSEPKT - Rx Pause Packets This field indicates the number of good and valid Pause packets received. */ +#define ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_SHIFT)) & ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_MASK) +/*! @} */ + +/*! @name MAC_RX_FIFO_OVERFLOW_PACKETS - Missed Packets Due to FIFO Overflow */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_SHIFT (0U) +/*! RXFIFOOVFL - Rx FIFO Overflow Packets This field indicates the number of missed received packets because of FIFO overflow. */ +#define ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_SHIFT)) & ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_MASK) +/*! @} */ + +/*! @name MAC_RX_VLAN_PACKETS_GOOD_BAD - Good and Bad VLAN Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_SHIFT (0U) +/*! RXVLANPKTGB - Rx VLAN Packets Good Bad This field indicates the number of good and bad VLAN packets received. */ +#define ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_SHIFT)) & ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_MASK) +/*! @} */ + +/*! @name MAC_RX_WATCHDOG_ERROR_PACKETS - Watchdog Error Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_SHIFT (0U) +/*! RXWDGERR - Rx Watchdog Error Packets This field indicates the number of packets received with + * error because of watchdog timeout error (packets with a data load larger than 2,048 bytes (when + * JE and WD bits are reset in MAC_CONFIGURATION register), 10,240 bytes (when JE bit is set and + * WD bit is reset in MAC_CONFIGURATION register), 16,384 bytes (when WD bit is set in + * MAC_CONFIGURATION register) or the value programmed in the MAC_WATCHDOG_TIMEOUT register). + */ +#define ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_SHIFT)) & ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_MASK) +/*! @} */ + +/*! @name MAC_RX_RECEIVE_ERROR_PACKETS - Receive Error Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_SHIFT (0U) +/*! RXRCVERR - Rx Receive Error Packets This field indicates the number of packets received with + * Receive error or Packet Extension error on the GMII interface. + */ +#define ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_SHIFT)) & ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_MASK) +/*! @} */ + +/*! @name MAC_RX_CONTROL_PACKETS_GOOD - Good Control Packets Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_SHIFT (0U) +/*! RXCTRLG - Rx Control Packets Good This field indicates the number of good control packets received. */ +#define ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_SHIFT)) & ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_MASK) +/*! @} */ + +/*! @name MAC_TX_LPI_USEC_CNTR - Microseconds Tx LPI Asserted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_SHIFT (0U) +/*! TXLPIUSC - Tx LPI Microseconds Counter This field indicates the number of microseconds Tx LPI is asserted. */ +#define ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_SHIFT)) & ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_MASK) +/*! @} */ + +/*! @name MAC_TX_LPI_TRAN_CNTR - Number of Times Tx LPI Asserted */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_SHIFT (0U) +/*! TXLPITRC - Tx LPI Transition counter This field indicates the number of times Tx LPI Entry has occurred. */ +#define ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_SHIFT)) & ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_MASK) +/*! @} */ + +/*! @name MAC_RX_LPI_USEC_CNTR - Microseconds Rx LPI Sampled */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_SHIFT (0U) +/*! RXLPIUSC - Rx LPI Microseconds Counter This field indicates the number of microseconds Rx LPI is asserted. */ +#define ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_SHIFT)) & ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_MASK) +/*! @} */ + +/*! @name MAC_RX_LPI_TRAN_CNTR - Number of Times Rx LPI Entered */ +/*! @{ */ + +#define ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_SHIFT (0U) +/*! RXLPITRC - Rx LPI Transition counter This field indicates the number of times Rx LPI Entry has occurred. */ +#define ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_SHIFT)) & ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_MASK) +/*! @} */ + +/*! @name MAC_MMC_IPC_RX_INTERRUPT_MASK - MMC IPC Receive Interrupt Mask */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_MASK (0x1U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_SHIFT (0U) +/*! RXIPV4GPIM - MMC Receive IPV4 Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxipv4_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_MASK (0x2U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_SHIFT (1U) +/*! RXIPV4HERPIM - MMC Receive IPV4 Header Error Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the rxipv4_hdrerr_pkts counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV4 Header Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 Header Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_MASK (0x4U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_SHIFT (2U) +/*! RXIPV4NOPAYPIM - MMC Receive IPV4 No Payload Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the rxipv4_nopay_pkts counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV4 No Payload Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 No Payload Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_MASK (0x8U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_SHIFT (3U) +/*! RXIPV4FRAGPIM - MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask Setting this bit masks + * the interrupt when the rxipv4_frag_pkts counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_MASK (0x10U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_SHIFT (4U) +/*! RXIPV4UDSBLPIM - MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask Setting + * this bit masks the interrupt when the rxipv4_udsbl_pkts counter reaches half of the maximum + * value or the maximum value. + * 0b0..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_MASK (0x20U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_SHIFT (5U) +/*! RXIPV6GPIM - MMC Receive IPV6 Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxipv6_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV6 Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV6 Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_MASK (0x40U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_SHIFT (6U) +/*! RXIPV6HERPIM - MMC Receive IPV6 Header Error Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the rxipv6_hdrerr_pkts counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV6 Header Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV6 Header Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_MASK (0x80U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_SHIFT (7U) +/*! RXIPV6NOPAYPIM - MMC Receive IPV6 No Payload Packet Counter Interrupt Mask Setting this bit + * masks the interrupt when the rxipv6_nopay_pkts counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV6 No Payload Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV6 No Payload Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_MASK (0x100U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_SHIFT (8U) +/*! RXUDPGPIM - MMC Receive UDP Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxudp_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive UDP Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive UDP Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_MASK (0x200U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_SHIFT (9U) +/*! RXUDPERPIM - MMC Receive UDP Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxudp_err_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive UDP Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive UDP Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_MASK (0x400U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_SHIFT (10U) +/*! RXTCPGPIM - MMC Receive TCP Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxtcp_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive TCP Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive TCP Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_MASK (0x800U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_SHIFT (11U) +/*! RXTCPERPIM - MMC Receive TCP Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxtcp_err_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive TCP Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive TCP Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_MASK (0x1000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_SHIFT (12U) +/*! RXICMPGPIM - MMC Receive ICMP Good Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxicmp_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive ICMP Good Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive ICMP Good Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_MASK (0x2000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_SHIFT (13U) +/*! RXICMPERPIM - MMC Receive ICMP Error Packet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxicmp_err_pkts counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive ICMP Error Packet Counter Interrupt Mask is disabled + * 0b1..MMC Receive ICMP Error Packet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_MASK (0x10000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_SHIFT (16U) +/*! RXIPV4GOIM - MMC Receive IPV4 Good Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxipv4_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 Good Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 Good Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_MASK (0x20000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_SHIFT (17U) +/*! RXIPV4HEROIM - MMC Receive IPV4 Header Error Octet Counter Interrupt Mask Setting this bit masks + * the interrupt when the rxipv4_hdrerr_octets counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV4 Header Error Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 Header Error Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_MASK (0x40000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_SHIFT (18U) +/*! RXIPV4NOPAYOIM - MMC Receive IPV4 No Payload Octet Counter Interrupt Mask Setting this bit masks + * the interrupt when the rxipv4_nopay_octets counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV4 No Payload Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 No Payload Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_MASK (0x80000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_SHIFT (19U) +/*! RXIPV4FRAGOIM - MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask Setting this bit masks + * the interrupt when the rxipv4_frag_octets counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_MASK (0x100000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_SHIFT (20U) +/*! RXIPV4UDSBLOIM - MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask Setting + * this bit masks the interrupt when the rxipv4_udsbl_octets counter reaches half of the maximum + * value or the maximum value. + * 0b0..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_MASK (0x200000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_SHIFT (21U) +/*! RXIPV6GOIM - MMC Receive IPV6 Good Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxipv6_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_MASK (0x400000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_SHIFT (22U) +/*! RXIPV6HEROIM - MMC Receive IPV6 Good Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxipv6_hdrerr_octets counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_MASK (0x800000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_SHIFT (23U) +/*! RXIPV6NOPAYOIM - MMC Receive IPV6 Header Error Octet Counter Interrupt Mask Setting this bit + * masks the interrupt when the rxipv6_nopay_octets counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Receive IPV6 Header Error Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV6 Header Error Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_MASK (0x1000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_SHIFT (24U) +/*! RXUDPGOIM - MMC Receive IPV6 No Payload Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxudp_gd_octets counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive IPV6 No Payload Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive IPV6 No Payload Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_MASK (0x2000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_SHIFT (25U) +/*! RXUDPEROIM - MMC Receive UDP Good Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxudp_err_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive UDP Good Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive UDP Good Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_MASK (0x4000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_SHIFT (26U) +/*! RXTCPGOIM - MMC Receive TCP Good Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxtcp_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive TCP Good Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive TCP Good Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_MASK (0x8000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_SHIFT (27U) +/*! RXTCPEROIM - MMC Receive TCP Error Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxtcp_err_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive TCP Error Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive TCP Error Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_MASK (0x10000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_SHIFT (28U) +/*! RXICMPGOIM - MMC Receive ICMP Good Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxicmp_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive ICMP Good Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive ICMP Good Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_MASK (0x20000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_SHIFT (29U) +/*! RXICMPEROIM - MMC Receive ICMP Error Octet Counter Interrupt Mask Setting this bit masks the + * interrupt when the rxicmp_err_octets counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive ICMP Error Octet Counter Interrupt Mask is disabled + * 0b1..MMC Receive ICMP Error Octet Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_MASK) +/*! @} */ + +/*! @name MAC_MMC_IPC_RX_INTERRUPT - MMC IPC Receive Interrupt */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_MASK (0x1U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_SHIFT (0U) +/*! RXIPV4GPIS - MMC Receive IPV4 Good Packet Counter Interrupt Status This bit is set when the + * rxipv4_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_MASK (0x2U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_SHIFT (1U) +/*! RXIPV4HERPIS - MMC Receive IPV4 Header Error Packet Counter Interrupt Status This bit is set + * when the rxipv4_hdrerr_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 Header Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 Header Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_MASK (0x4U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_SHIFT (2U) +/*! RXIPV4NOPAYPIS - MMC Receive IPV4 No Payload Packet Counter Interrupt Status This bit is set + * when the rxipv4_nopay_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 No Payload Packet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 No Payload Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_MASK (0x8U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_SHIFT (3U) +/*! RXIPV4FRAGPIS - MMC Receive IPV4 Fragmented Packet Counter Interrupt Status This bit is set when + * the rxipv4_frag_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 Fragmented Packet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 Fragmented Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_MASK (0x10U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_SHIFT (4U) +/*! RXIPV4UDSBLPIS - MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status This bit + * is set when the rxipv4_udsbl_pkts counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_MASK (0x20U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_SHIFT (5U) +/*! RXIPV6GPIS - MMC Receive IPV6 Good Packet Counter Interrupt Status This bit is set when the + * rxipv6_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV6 Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV6 Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_MASK (0x40U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_SHIFT (6U) +/*! RXIPV6HERPIS - MMC Receive IPV6 Header Error Packet Counter Interrupt Status This bit is set + * when the rxipv6_hdrerr_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV6 Header Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV6 Header Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_MASK (0x80U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_SHIFT (7U) +/*! RXIPV6NOPAYPIS - MMC Receive IPV6 No Payload Packet Counter Interrupt Status This bit is set + * when the rxipv6_nopay_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV6 No Payload Packet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV6 No Payload Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_MASK (0x100U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_SHIFT (8U) +/*! RXUDPGPIS - MC Receive UDP Good Packet Counter Interrupt Status This bit is set when the + * rxudp_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive UDP Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive UDP Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_MASK (0x200U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_SHIFT (9U) +/*! RXUDPERPIS - MMC Receive UDP Error Packet Counter Interrupt Status This bit is set when the + * rxudp_err_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive UDP Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive UDP Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_MASK (0x400U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_SHIFT (10U) +/*! RXTCPGPIS - MMC Receive TCP Good Packet Counter Interrupt Status This bit is set when the + * rxtcp_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive TCP Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive TCP Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_MASK (0x800U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_SHIFT (11U) +/*! RXTCPERPIS - MMC Receive TCP Error Packet Counter Interrupt Status This bit is set when the + * rxtcp_err_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive TCP Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive TCP Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_MASK (0x1000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_SHIFT (12U) +/*! RXICMPGPIS - MMC Receive ICMP Good Packet Counter Interrupt Status This bit is set when the + * rxicmp_gd_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive ICMP Good Packet Counter Interrupt Status not detected + * 0b1..MMC Receive ICMP Good Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_MASK (0x2000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_SHIFT (13U) +/*! RXICMPERPIS - MMC Receive ICMP Error Packet Counter Interrupt Status This bit is set when the + * rxicmp_err_pkts counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive ICMP Error Packet Counter Interrupt Status not detected + * 0b1..MMC Receive ICMP Error Packet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_MASK (0x10000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_SHIFT (16U) +/*! RXIPV4GOIS - MMC Receive IPV4 Good Octet Counter Interrupt Status This bit is set when the + * rxipv4_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 Good Octet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 Good Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_MASK (0x20000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_SHIFT (17U) +/*! RXIPV4HEROIS - MMC Receive IPV4 Header Error Octet Counter Interrupt Status This bit is set when + * the rxipv4_hdrerr_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 Header Error Octet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 Header Error Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_MASK (0x40000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_SHIFT (18U) +/*! RXIPV4NOPAYOIS - MMC Receive IPV4 No Payload Octet Counter Interrupt Status This bit is set when + * the rxipv4_nopay_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 No Payload Octet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 No Payload Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_MASK (0x80000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_SHIFT (19U) +/*! RXIPV4FRAGOIS - MMC Receive IPV4 Fragmented Octet Counter Interrupt Status This bit is set when + * the rxipv4_frag_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV4 Fragmented Octet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 Fragmented Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_MASK (0x100000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_SHIFT (20U) +/*! RXIPV4UDSBLOIS - MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status This bit + * is set when the rxipv4_udsbl_octets counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_MASK (0x200000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_SHIFT (21U) +/*! RXIPV6GOIS - MMC Receive IPV6 Good Octet Counter Interrupt Status This bit is set when the + * rxipv6_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_MASK (0x400000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_SHIFT (22U) +/*! RXIPV6HEROIS - MMC Receive IPV6 Header Error Octet Counter Interrupt Status This bit is set when + * the rxipv6_hdrerr_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV6 Header Error Octet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV6 Header Error Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_MASK (0x800000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_SHIFT (23U) +/*! RXIPV6NOPAYOIS - MMC Receive IPV6 No Payload Octet Counter Interrupt Status This bit is set when + * the rxipv6_nopay_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive IPV6 No Payload Octet Counter Interrupt Status not detected + * 0b1..MMC Receive IPV6 No Payload Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_MASK (0x1000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_SHIFT (24U) +/*! RXUDPGOIS - MMC Receive UDP Good Octet Counter Interrupt Status This bit is set when the + * rxudp_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive UDP Good Octet Counter Interrupt Status not detected + * 0b1..MMC Receive UDP Good Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_MASK (0x2000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_SHIFT (25U) +/*! RXUDPEROIS - MMC Receive UDP Error Octet Counter Interrupt Status This bit is set when the + * rxudp_err_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive UDP Error Octet Counter Interrupt Status not detected + * 0b1..MMC Receive UDP Error Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_MASK (0x4000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_SHIFT (26U) +/*! RXTCPGOIS - MMC Receive TCP Good Octet Counter Interrupt Status This bit is set when the + * rxtcp_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive TCP Good Octet Counter Interrupt Status not detected + * 0b1..MMC Receive TCP Good Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_MASK (0x8000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_SHIFT (27U) +/*! RXTCPEROIS - MMC Receive TCP Error Octet Counter Interrupt Status This bit is set when the + * rxtcp_err_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive TCP Error Octet Counter Interrupt Status not detected + * 0b1..MMC Receive TCP Error Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_MASK (0x10000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_SHIFT (28U) +/*! RXICMPGOIS - MMC Receive ICMP Good Octet Counter Interrupt Status This bit is set when the + * rxicmp_gd_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive ICMP Good Octet Counter Interrupt Status not detected + * 0b1..MMC Receive ICMP Good Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_MASK) + +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_MASK (0x20000000U) +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_SHIFT (29U) +/*! RXICMPEROIS - MMC Receive ICMP Error Octet Counter Interrupt Status This bit is set when the + * rxicmp_err_octets counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Receive ICMP Error Octet Counter Interrupt Status not detected + * 0b1..MMC Receive ICMP Error Octet Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_GOOD_PACKETS - Good IPv4 Datagrams Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_SHIFT (0U) +/*! RXIPV4GDPKT - RxIPv4 Good Packets This field indicates the number of good IPv4 datagrams received with the TCP, UDP, or ICMP payload. */ +#define ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_HEADER_ERROR_PACKETS - IPv4 Datagrams Received with Header Errors */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_SHIFT (0U) +/*! RXIPV4HDRERRPKT - RxIPv4 Header Error Packets This field indicates the number of IPv4 datagrams + * received with header (checksum, length, or version mismatch) errors. + */ +#define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_NO_PAYLOAD_PACKETS - IPv4 Datagrams Received with No Payload */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_SHIFT (0U) +/*! RXIPV4NOPAYPKT - RxIPv4 Payload Packets This field indicates the number of IPv4 datagram packets + * received that did not have a TCP, UDP, or ICMP payload. + */ +#define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_FRAGMENTED_PACKETS - IPv4 Datagrams Received with Fragmentation */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_SHIFT (0U) +/*! RXIPV4FRAGPKT - RxIPv4 Fragmented Packets This field indicates the number of good IPv4 datagrams received with fragmentation. */ +#define ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS - IPv4 Datagrams Received with UDP Checksum Disabled */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_SHIFT (0U) +/*! RXIPV4UDSBLPKT - RxIPv4 UDP Checksum Disabled Packets This field indicates the number of good + * IPv4 datagrams received that had a UDP payload with checksum disabled. + */ +#define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV6_GOOD_PACKETS - Good IPv6 Datagrams Received */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_SHIFT (0U) +/*! RXIPV6GDPKT - RxIPv6 Good Packets This field indicates the number of good IPv6 datagrams received with the TCP, UDP, or ICMP payload. */ +#define ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_SHIFT)) & ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV6_HEADER_ERROR_PACKETS - IPv6 Datagrams Received with Header Errors */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_SHIFT (0U) +/*! RXIPV6HDRERRPKT - RxIPv6 Header Error Packets This field indicates the number of IPv6 datagrams + * received with header (length or version mismatch) errors. + */ +#define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_SHIFT)) & ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV6_NO_PAYLOAD_PACKETS - IPv6 Datagrams Received with No Payload */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_SHIFT (0U) +/*! RXIPV6NOPAYPKT - RxIPv6 Payload Packets This field indicates the number of IPv6 datagram packets + * received that did not have a TCP, UDP, or ICMP payload. + */ +#define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_SHIFT)) & ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_MASK) +/*! @} */ + +/*! @name MAC_RXUDP_GOOD_PACKETS - IPv6 Datagrams Received with Good UDP */ +/*! @{ */ + +#define ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_SHIFT (0U) +/*! RXUDPGDPKT - RxUDP Good Packets This field indicates the number of good IP datagrams received with a good UDP payload. */ +#define ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_SHIFT)) & ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_MASK) +/*! @} */ + +/*! @name MAC_RXUDP_ERROR_PACKETS - IPv6 Datagrams Received with UDP Checksum Error */ +/*! @{ */ + +#define ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_SHIFT (0U) +/*! RXUDPERRPKT - RxUDP Error Packets This field indicates the number of good IP datagrams received + * whose UDP payload has a checksum error. + */ +#define ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_SHIFT)) & ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_MASK) +/*! @} */ + +/*! @name MAC_RXTCP_GOOD_PACKETS - IPv6 Datagrams Received with Good TCP Payload */ +/*! @{ */ + +#define ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_SHIFT (0U) +/*! RXTCPGDPKT - RxTCP Good Packets This field indicates the number of good IP datagrams received with a good TCP payload. */ +#define ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_SHIFT)) & ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_MASK) +/*! @} */ + +/*! @name MAC_RXTCP_ERROR_PACKETS - IPv6 Datagrams Received with TCP Checksum Error */ +/*! @{ */ + +#define ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_SHIFT (0U) +/*! RXTCPERRPKT - RxTCP Error Packets This field indicates the number of good IP datagrams received + * whose TCP payload has a checksum error. + */ +#define ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_SHIFT)) & ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_MASK) +/*! @} */ + +/*! @name MAC_RXICMP_GOOD_PACKETS - IPv6 Datagrams Received with Good ICMP Payload */ +/*! @{ */ + +#define ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_SHIFT (0U) +/*! RXICMPGDPKT - RxICMP Good Packets This field indicates the number of good IP datagrams received with a good ICMP payload. */ +#define ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_SHIFT)) & ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_MASK) +/*! @} */ + +/*! @name MAC_RXICMP_ERROR_PACKETS - IPv6 Datagrams Received with ICMP Checksum Error */ +/*! @{ */ + +#define ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_SHIFT (0U) +/*! RXICMPERRPKT - RxICMP Error Packets This field indicates the number of good IP datagrams + * received whose ICMP payload has a checksum error. + */ +#define ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_SHIFT)) & ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_GOOD_OCTETS - Good Bytes Received in IPv4 Datagrams */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_SHIFT (0U) +/*! RXIPV4GDOCT - RxIPv4 Good Octets This field indicates the number of bytes received in good IPv4 + * datagrams encapsulating TCP, UDP, or ICMP data. + */ +#define ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_HEADER_ERROR_OCTETS - Bytes Received in IPv4 Datagrams with Header Errors */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_SHIFT (0U) +/*! RXIPV4HDRERROCT - RxIPv4 Header Error Octets This field indicates the number of bytes received + * in IPv4 datagrams with header errors (checksum, length, version mismatch). + */ +#define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_NO_PAYLOAD_OCTETS - Bytes Received in IPv4 Datagrams with No Payload */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_SHIFT (0U) +/*! RXIPV4NOPAYOCT - RxIPv4 Payload Octets This field indicates the number of bytes received in IPv4 + * datagrams that did not have a TCP, UDP, or ICMP payload. + */ +#define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_FRAGMENTED_OCTETS - Bytes Received in Fragmented IPv4 Datagrams */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_SHIFT (0U) +/*! RXIPV4FRAGOCT - RxIPv4 Fragmented Octets This field indicates the number of bytes received in fragmented IPv4 datagrams. */ +#define ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS - Bytes Received with UDP Checksum Disabled */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_SHIFT (0U) +/*! RXIPV4UDSBLOCT - RxIPv4 UDP Checksum Disable Octets This field indicates the number of bytes + * received in a UDP segment that had the UDP checksum disabled. + */ +#define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV6_GOOD_OCTETS - Bytes Received in Good IPv6 Datagrams */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_SHIFT (0U) +/*! RXIPV6GDOCT - RxIPv6 Good Octets This field indicates the number of bytes received in good IPv6 + * datagrams encapsulating TCP, UDP, or ICMP data. + */ +#define ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_SHIFT)) & ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV6_HEADER_ERROR_OCTETS - Bytes Received in IPv6 Datagrams with Data Errors */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_SHIFT (0U) +/*! RXIPV6HDRERROCT - RxIPv6 Header Error Octets This field indicates the number of bytes received + * in IPv6 datagrams with header errors (length, version mismatch). + */ +#define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_SHIFT)) & ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_MASK) +/*! @} */ + +/*! @name MAC_RXIPV6_NO_PAYLOAD_OCTETS - Bytes Received in IPv6 Datagrams with No Payload */ +/*! @{ */ + +#define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_SHIFT (0U) +/*! RXIPV6NOPAYOCT - RxIPv6 Payload Octets This field indicates the number of bytes received in IPv6 + * datagrams that did not have a TCP, UDP, or ICMP payload. + */ +#define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_SHIFT)) & ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_MASK) +/*! @} */ + +/*! @name MAC_RXUDP_GOOD_OCTETS - Bytes Received in Good UDP Segment */ +/*! @{ */ + +#define ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_SHIFT (0U) +/*! RXUDPGDOCT - RxUDP Good Octets This field indicates the number of bytes received in a good UDP segment. */ +#define ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_SHIFT)) & ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_MASK) +/*! @} */ + +/*! @name MAC_RXUDP_ERROR_OCTETS - Bytes Received in UDP Segment with Checksum Errors */ +/*! @{ */ + +#define ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_SHIFT (0U) +/*! RXUDPERROCT - RxUDP Error Octets This field indicates the number of bytes received in a UDP segment that had checksum errors. */ +#define ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_SHIFT)) & ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_MASK) +/*! @} */ + +/*! @name MAC_RXTCP_GOOD_OCTETS - Bytes Received in Good TCP Segment */ +/*! @{ */ + +#define ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_SHIFT (0U) +/*! RXTCPGDOCT - RxTCP Good Octets This field indicates the number of bytes received in a good TCP segment. */ +#define ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_SHIFT)) & ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_MASK) +/*! @} */ + +/*! @name MAC_RXTCP_ERROR_OCTETS - Bytes Received in TCP Segment with Checksum Errors */ +/*! @{ */ + +#define ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_SHIFT (0U) +/*! RXTCPERROCT - RxTCP Error Octets This field indicates the number of bytes received in a TCP segment that had checksum errors. */ +#define ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_SHIFT)) & ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_MASK) +/*! @} */ + +/*! @name MAC_RXICMP_GOOD_OCTETS - Bytes Received in Good ICMP Segment */ +/*! @{ */ + +#define ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_SHIFT (0U) +/*! RXICMPGDOCT - RxICMP Good Octets This field indicates the number of bytes received in a good ICMP segment. */ +#define ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_SHIFT)) & ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_MASK) +/*! @} */ + +/*! @name MAC_RXICMP_ERROR_OCTETS - Bytes Received in ICMP Segment with Checksum Errors */ +/*! @{ */ + +#define ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_SHIFT (0U) +/*! RXICMPERROCT - RxICMP Error Octets This field indicates the number of bytes received in a ICMP segment that had checksum errors. */ +#define ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_SHIFT)) & ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_MASK) +/*! @} */ + +/*! @name MAC_MMC_FPE_TX_INTERRUPT - MMC FPE Transmit Interrupt */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_MASK (0x1U) +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_SHIFT (0U) +/*! FCIS - MMC Tx FPE Fragment Counter Interrupt status This bit is set when the + * Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Tx FPE Fragment Counter Interrupt status not detected + * 0b1..MMC Tx FPE Fragment Counter Interrupt status detected + */ +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_MASK) + +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_MASK (0x2U) +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_SHIFT (1U) +/*! HRCIS - MMC Tx Hold Request Counter Interrupt Status This bit is set when the Tx_Hold_Req_Cntr + * counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Tx Hold Request Counter Interrupt Status not detected + * 0b1..MMC Tx Hold Request Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_MASK) +/*! @} */ + +/*! @name MAC_MMC_FPE_TX_INTERRUPT_MASK - MMC FPE Transmit Mask Interrupt */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_MASK (0x1U) +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_SHIFT (0U) +/*! FCIM - MMC Transmit Fragment Counter Interrupt Mask Setting this bit masks the interrupt when + * the Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Fragment Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Fragment Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_MASK) + +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_MASK (0x2U) +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_SHIFT (1U) +/*! HRCIM - MMC Transmit Hold Request Counter Interrupt Mask Setting this bit masks the interrupt + * when the Tx_Hold_Req_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Transmit Hold Request Counter Interrupt Mask is disabled + * 0b1..MMC Transmit Hold Request Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_MASK) +/*! @} */ + +/*! @name MAC_MMC_TX_FPE_FRAGMENT_CNTR - MMC FPE Transmitted Fragment Counter */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_SHIFT (0U) +/*! TXFFC - Tx FPE Fragment counter This field indicates the number of additional mPackets that has + * been transmitted due to preemption Exists when any one of the RX/TX MMC counters are enabled + * during FPE Enabled configuration. + */ +#define ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_SHIFT)) & ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_MASK) +/*! @} */ + +/*! @name MAC_MMC_TX_HOLD_REQ_CNTR - MMC FPE Transmitted Hold Request Counter */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_SHIFT (0U) +/*! TXHRC - Tx Hold Request Counter This field indicates count of number of a hold request is given to MAC. */ +#define ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_SHIFT)) & ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_MASK) +/*! @} */ + +/*! @name MAC_MMC_FPE_RX_INTERRUPT - MMC FPE Receive Interrupt */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_MASK (0x1U) +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_SHIFT (0U) +/*! PAECIS - MMC Rx Packet Assembly Error Counter Interrupt Status This bit is set when the + * Rx_Packet_Assemble_Err_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Rx Packet Assembly Error Counter Interrupt Status not detected + * 0b1..MMC Rx Packet Assembly Error Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_MASK) + +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_MASK (0x2U) +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_SHIFT (1U) +/*! PSECIS - MMC Rx Packet SMD Error Counter Interrupt Status This bit is set when the + * Rx_Packet_SMD_Err_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Rx Packet SMD Error Counter Interrupt Status not detected + * 0b1..MMC Rx Packet SMD Error Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_MASK) + +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_MASK (0x4U) +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_SHIFT (2U) +/*! PAOCIS - MMC Rx Packet Assembly OK Counter Interrupt Status This bit is set when the + * Rx_Packet_Assemble_Ok_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Rx Packet Assembly OK Counter Interrupt Status not detected + * 0b1..MMC Rx Packet Assembly OK Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_MASK) + +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_MASK (0x8U) +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_SHIFT (3U) +/*! FCIS - MMC Rx FPE Fragment Counter Interrupt Status This bit is set when the + * Rx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Rx FPE Fragment Counter Interrupt Status not detected + * 0b1..MMC Rx FPE Fragment Counter Interrupt Status detected + */ +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_MASK) +/*! @} */ + +/*! @name MAC_MMC_FPE_RX_INTERRUPT_MASK - MMC FPE Receive Interrupt Mask */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_MASK (0x1U) +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_SHIFT (0U) +/*! PAECIM - MMC Rx Packet Assembly Error Counter Interrupt Mask Setting this bit masks the + * interrupt when the R Rx_Packet_Assemble_Err_Cntr counter reaches half of the maximum value or the + * maximum value. + * 0b0..MMC Rx Packet Assembly Error Counter Interrupt Mask is disabled + * 0b1..MMC Rx Packet Assembly Error Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_MASK) + +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_MASK (0x2U) +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_SHIFT (1U) +/*! PSECIM - MMC Rx Packet SMD Error Counter Interrupt Mask Setting this bit masks the interrupt + * when the R Rx_Packet_SMD_Err_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Rx Packet SMD Error Counter Interrupt Mask is disabled + * 0b1..MMC Rx Packet SMD Error Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_MASK) + +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_MASK (0x4U) +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_SHIFT (2U) +/*! PAOCIM - MMC Rx Packet Assembly OK Counter Interrupt Mask Setting this bit masks the interrupt + * when the Rx_Packet_Assemble_Ok_Cntr counter reaches half of the maximum value or the maximum + * value. + * 0b0..MMC Rx Packet Assembly OK Counter Interrupt Mask is disabled + * 0b1..MMC Rx Packet Assembly OK Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_MASK) + +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_MASK (0x8U) +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_SHIFT (3U) +/*! FCIM - MMC Rx FPE Fragment Counter Interrupt Mask Setting this bit masks the interrupt when the + * Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value. + * 0b0..MMC Rx FPE Fragment Counter Interrupt Mask is disabled + * 0b1..MMC Rx FPE Fragment Counter Interrupt Mask is enabled + */ +#define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_MASK) +/*! @} */ + +/*! @name MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR - MMC Receive Packet Reassembly Error Counter */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_SHIFT (0U) +/*! PAEC - Rx Packet Assembly Error Counter This field indicates the number of MAC frames with + * reassembly errors on the Receiver, due to mismatch in the Fragment Count value. + */ +#define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_SHIFT)) & ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_MASK) +/*! @} */ + +/*! @name MAC_MMC_RX_PACKET_SMD_ERR_CNTR - MMC Receive Packet SMD Error Counter */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_SHIFT (0U) +/*! PSEC - Rx Packet SMD Error Counter This field indicates the number of MAC frames rejected due to + * unknown SMD value and MAC frame fragments rejected due to arriving with an SMD-C when there + * was no preceding preempted frame. + */ +#define ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_SHIFT)) & ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_MASK) +/*! @} */ + +/*! @name MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR - MMC Receive Packet Successful Reassembly Counter */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_SHIFT (0U) +/*! PAOC - Rx Packet Assembly OK Counter This field indicates the number of MAC frames that were + * successfully reassembled and delivered to MAC. + */ +#define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_SHIFT)) & ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_MASK) +/*! @} */ + +/*! @name MAC_MMC_RX_FPE_FRAGMENT_CNTR - MMC FPE Received Fragment Counter */ +/*! @{ */ + +#define ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_SHIFT (0U) +/*! FFC - Rx FPE Fragment Counter This field indicates the number of additional mPackets received + * due to preemption Exists when at least one of the RX/TX MMC counters are enabled during FPE + * Enabled configuration. + */ +#define ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_SHIFT)) & ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_MASK) +/*! @} */ + +/*! @name MAC_L3_L4_CONTROL0 - Layer 3 and Layer 4 Control of Filter 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_MASK (0x1U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_SHIFT (0U) +/*! L3PEN0 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination + * Address matching is enabled for IPv6 packets. + * 0b0..Layer 3 Protocol is disabled + * 0b1..Layer 3 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_MASK (0x4U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_SHIFT (2U) +/*! L3SAM0 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. + * 0b0..Layer 3 IP SA Match is disabled + * 0b1..Layer 3 IP SA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_MASK (0x8U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_SHIFT (3U) +/*! L3SAIM0 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address + * field is enabled for inverse matching. + * 0b0..Layer 3 IP SA Inverse Match is disabled + * 0b1..Layer 3 IP SA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_MASK (0x10U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_SHIFT (4U) +/*! L3DAM0 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. + * 0b0..Layer 3 IP DA Match is disabled + * 0b1..Layer 3 IP DA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_MASK (0x20U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_SHIFT (5U) +/*! L3DAIM0 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination + * Address field is enabled for inverse matching. + * 0b0..Layer 3 IP DA Inverse Match is disabled + * 0b1..Layer 3 IP DA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_MASK (0x7C0U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_SHIFT (6U) +/*! L3HSBM0 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower + * bits of IP Source Address that are masked for matching in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_MASK (0xF800U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_SHIFT (11U) +/*! L3HDBM0 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher + * bits of IP Destination Address that are matched in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_MASK (0x10000U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_SHIFT (16U) +/*! L4PEN0 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number + * fields of UDP packets are used for matching. + * 0b0..Layer 4 Protocol is disabled + * 0b1..Layer 4 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_MASK (0x40000U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_SHIFT (18U) +/*! L4SPM0 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. + * 0b0..Layer 4 Source Port Match is disabled + * 0b1..Layer 4 Source Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_MASK (0x80000U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_SHIFT (19U) +/*! L4SPIM0 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port + * number field is enabled for inverse matching. + * 0b0..Layer 4 Source Port Inverse Match is disabled + * 0b1..Layer 4 Source Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_MASK (0x100000U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_SHIFT (20U) +/*! L4DPM0 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination + * Port number field is enabled for matching. + * 0b0..Layer 4 Destination Port Match is disabled + * 0b1..Layer 4 Destination Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_MASK (0x200000U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_SHIFT (21U) +/*! L4DPIM0 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 + * Destination Port number field is enabled for inverse matching. + * 0b0..Layer 4 Destination Port Inverse Match is disabled + * 0b1..Layer 4 Destination Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_MASK (0x7000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_SHIFT (24U) +/*! DMCHN0 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number + * to which the packet passed by this filter is routed. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_MASK (0x10000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_SHIFT (28U) +/*! DMCHEN0 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel + * number for the packet that is passed by this L3_L4 filter. + * 0b0..DMA Channel Select is disabled + * 0b1..DMA Channel Select is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_MASK) +/*! @} */ + +/*! @name MAC_LAYER4_ADDRESS0 - Layer 4 Address 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_MASK (0xFFFFU) +#define ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_SHIFT (0U) +/*! L4SP0 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set + * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP + * Source Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_MASK) + +#define ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_SHIFT (16U) +/*! L4DP0 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is + * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the + * TCP Destination Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR0_REG0 - Layer 3 Address 0 Register 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_SHIFT (0U) +/*! L3A00 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR1_REG0 - Layer 3 Address 1 Register 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_SHIFT (0U) +/*! L3A10 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR2_REG0 - Layer 3 Address 2 Register 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_SHIFT (0U) +/*! L3A20 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR3_REG0 - Layer 3 Address 3 Register 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_SHIFT (0U) +/*! L3A30 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_MASK) +/*! @} */ + +/*! @name MAC_L3_L4_CONTROL1 - Layer 3 and Layer 4 Control of Filter 1 */ +/*! @{ */ + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_MASK (0x1U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_SHIFT (0U) +/*! L3PEN1 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination + * Address matching is enabled for IPv6 packets. + * 0b0..Layer 3 Protocol is disabled + * 0b1..Layer 3 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_MASK (0x4U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_SHIFT (2U) +/*! L3SAM1 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. + * 0b0..Layer 3 IP SA Match is disabled + * 0b1..Layer 3 IP SA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_MASK (0x8U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_SHIFT (3U) +/*! L3SAIM1 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address + * field is enabled for inverse matching. + * 0b0..Layer 3 IP SA Inverse Match is disabled + * 0b1..Layer 3 IP SA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_MASK (0x10U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_SHIFT (4U) +/*! L3DAM1 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. + * 0b0..Layer 3 IP DA Match is disabled + * 0b1..Layer 3 IP DA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_MASK (0x20U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_SHIFT (5U) +/*! L3DAIM1 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination + * Address field is enabled for inverse matching. + * 0b0..Layer 3 IP DA Inverse Match is disabled + * 0b1..Layer 3 IP DA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_MASK (0x7C0U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_SHIFT (6U) +/*! L3HSBM1 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower + * bits of IP Source Address that are masked for matching in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_MASK (0xF800U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_SHIFT (11U) +/*! L3HDBM1 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher + * bits of IP Destination Address that are matched in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_MASK (0x10000U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_SHIFT (16U) +/*! L4PEN1 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number + * fields of UDP packets are used for matching. + * 0b0..Layer 4 Protocol is disabled + * 0b1..Layer 4 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_MASK (0x40000U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_SHIFT (18U) +/*! L4SPM1 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. + * 0b0..Layer 4 Source Port Match is disabled + * 0b1..Layer 4 Source Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_MASK (0x80000U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_SHIFT (19U) +/*! L4SPIM1 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port + * number field is enabled for inverse matching. + * 0b0..Layer 4 Source Port Inverse Match is disabled + * 0b1..Layer 4 Source Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_MASK (0x100000U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_SHIFT (20U) +/*! L4DPM1 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination + * Port number field is enabled for matching. + * 0b0..Layer 4 Destination Port Match is disabled + * 0b1..Layer 4 Destination Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_MASK (0x200000U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_SHIFT (21U) +/*! L4DPIM1 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 + * Destination Port number field is enabled for inverse matching. + * 0b0..Layer 4 Destination Port Inverse Match is disabled + * 0b1..Layer 4 Destination Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_MASK (0x7000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_SHIFT (24U) +/*! DMCHN1 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number + * to which the packet passed by this filter is routed. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_MASK (0x10000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_SHIFT (28U) +/*! DMCHEN1 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel + * number for the packet that is passed by this L3_L4 filter. + * 0b0..DMA Channel Select is disabled + * 0b1..DMA Channel Select is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_MASK) +/*! @} */ + +/*! @name MAC_LAYER4_ADDRESS1 - Layer 4 Address 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_MASK (0xFFFFU) +#define ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_SHIFT (0U) +/*! L4SP1 - Layer 4 Source Port Number Field When the L4PEN1 bit is reset and the L4SPM0 bit is set + * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP + * Source Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_MASK) + +#define ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_SHIFT (16U) +/*! L4DP1 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM1 bit is + * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the + * TCP Destination Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR0_REG1 - Layer 3 Address 0 Register 1 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_SHIFT (0U) +/*! L3A01 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR1_REG1 - Layer 3 Address 1 Register 1 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_SHIFT (0U) +/*! L3A11 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR2_REG1 - Layer 3 Address 2 Register 1 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_SHIFT (0U) +/*! L3A21 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR3_REG1 - Layer 3 Address 3 Register 1 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_SHIFT (0U) +/*! L3A31 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_MASK) +/*! @} */ + +/*! @name MAC_L3_L4_CONTROL2 - Layer 3 and Layer 4 Control of Filter 2 */ +/*! @{ */ + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_MASK (0x1U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_SHIFT (0U) +/*! L3PEN2 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination + * Address matching is enabled for IPv6 packets. + * 0b0..Layer 3 Protocol is disabled + * 0b1..Layer 3 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_MASK (0x4U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_SHIFT (2U) +/*! L3SAM2 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. + * 0b0..Layer 3 IP SA Match is disabled + * 0b1..Layer 3 IP SA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_MASK (0x8U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_SHIFT (3U) +/*! L3SAIM2 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address + * field is enabled for inverse matching. + * 0b0..Layer 3 IP SA Inverse Match is disabled + * 0b1..Layer 3 IP SA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_MASK (0x10U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_SHIFT (4U) +/*! L3DAM2 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. + * 0b0..Layer 3 IP DA Match is disabled + * 0b1..Layer 3 IP DA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_MASK (0x20U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_SHIFT (5U) +/*! L3DAIM2 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination + * Address field is enabled for inverse matching. + * 0b0..Layer 3 IP DA Inverse Match is disabled + * 0b1..Layer 3 IP DA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_MASK (0x7C0U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_SHIFT (6U) +/*! L3HSBM2 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower + * bits of IP Source Address that are masked for matching in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_MASK (0xF800U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_SHIFT (11U) +/*! L3HDBM2 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher + * bits of IP Destination Address that are matched in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_MASK (0x10000U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_SHIFT (16U) +/*! L4PEN2 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number + * fields of UDP packets are used for matching. + * 0b0..Layer 4 Protocol is disabled + * 0b1..Layer 4 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_MASK (0x40000U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_SHIFT (18U) +/*! L4SPM2 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. + * 0b0..Layer 4 Source Port Match is disabled + * 0b1..Layer 4 Source Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_MASK (0x80000U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_SHIFT (19U) +/*! L4SPIM2 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port + * number field is enabled for inverse matching. + * 0b0..Layer 4 Source Port Inverse Match is disabled + * 0b1..Layer 4 Source Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_MASK (0x100000U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_SHIFT (20U) +/*! L4DPM2 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination + * Port number field is enabled for matching. + * 0b0..Layer 4 Destination Port Match is disabled + * 0b1..Layer 4 Destination Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_MASK (0x200000U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_SHIFT (21U) +/*! L4DPIM2 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 + * Destination Port number field is enabled for inverse matching. + * 0b0..Layer 4 Destination Port Inverse Match is disabled + * 0b1..Layer 4 Destination Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_MASK (0x7000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_SHIFT (24U) +/*! DMCHN2 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number + * to which the packet passed by this filter is routed. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_MASK (0x10000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_SHIFT (28U) +/*! DMCHEN2 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel + * number for the packet that is passed by this L3_L4 filter. + * 0b0..DMA Channel Select is disabled + * 0b1..DMA Channel Select is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_MASK) +/*! @} */ + +/*! @name MAC_LAYER4_ADDRESS2 - Layer 4 Address 2 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_MASK (0xFFFFU) +#define ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_SHIFT (0U) +/*! L4SP2 - Layer 4 Source Port Number Field When the L4PEN2 bit is reset and the L4SPM0 bit is set + * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP + * Source Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_MASK) + +#define ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_SHIFT (16U) +/*! L4DP2 - Layer 4 Destination Port Number Field When the L4PEN2 bit is reset and the L4DPM2 bit is + * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the + * TCP Destination Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR0_REG2 - Layer 3 Address 0 Register 2 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_SHIFT (0U) +/*! L3A02 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR1_REG2 - Layer 3 Address 0 Register 2 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_SHIFT (0U) +/*! L3A12 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR2_REG2 - Layer 3 Address 2 Register 2 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_SHIFT (0U) +/*! L3A22 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR3_REG2 - Layer 3 Address 3 Register 2 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_SHIFT (0U) +/*! L3A32 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_MASK) +/*! @} */ + +/*! @name MAC_L3_L4_CONTROL3 - Layer 3 and Layer 4 Control of Filter 3 */ +/*! @{ */ + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_MASK (0x1U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_SHIFT (0U) +/*! L3PEN3 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination + * Address matching is enabled for IPv6 packets. + * 0b0..Layer 3 Protocol is disabled + * 0b1..Layer 3 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_MASK (0x4U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_SHIFT (2U) +/*! L3SAM3 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. + * 0b0..Layer 3 IP SA Match is disabled + * 0b1..Layer 3 IP SA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_MASK (0x8U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_SHIFT (3U) +/*! L3SAIM3 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address + * field is enabled for inverse matching. + * 0b0..Layer 3 IP SA Inverse Match is disabled + * 0b1..Layer 3 IP SA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_MASK (0x10U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_SHIFT (4U) +/*! L3DAM3 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. + * 0b0..Layer 3 IP DA Match is disabled + * 0b1..Layer 3 IP DA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_MASK (0x20U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_SHIFT (5U) +/*! L3DAIM3 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination + * Address field is enabled for inverse matching. + * 0b0..Layer 3 IP DA Inverse Match is disabled + * 0b1..Layer 3 IP DA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_MASK (0x7C0U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_SHIFT (6U) +/*! L3HSBM3 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower + * bits of IP Source Address that are masked for matching in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_MASK (0xF800U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_SHIFT (11U) +/*! L3HDBM3 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher + * bits of IP Destination Address that are matched in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_MASK (0x10000U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_SHIFT (16U) +/*! L4PEN3 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number + * fields of UDP packets are used for matching. + * 0b0..Layer 4 Protocol is disabled + * 0b1..Layer 4 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_MASK (0x40000U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_SHIFT (18U) +/*! L4SPM3 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. + * 0b0..Layer 4 Source Port Match is disabled + * 0b1..Layer 4 Source Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_MASK (0x80000U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_SHIFT (19U) +/*! L4SPIM3 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port + * number field is enabled for inverse matching. + * 0b0..Layer 4 Source Port Inverse Match is disabled + * 0b1..Layer 4 Source Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_MASK (0x100000U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_SHIFT (20U) +/*! L4DPM3 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination + * Port number field is enabled for matching. + * 0b0..Layer 4 Destination Port Match is disabled + * 0b1..Layer 4 Destination Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_MASK (0x200000U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_SHIFT (21U) +/*! L4DPIM3 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 + * Destination Port number field is enabled for inverse matching. + * 0b0..Layer 4 Destination Port Inverse Match is disabled + * 0b1..Layer 4 Destination Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_MASK (0x7000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_SHIFT (24U) +/*! DMCHN3 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number + * to which the packet passed by this filter is routed. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_MASK (0x10000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_SHIFT (28U) +/*! DMCHEN3 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel + * number for the packet that is passed by this L3_L4 filter. + * 0b0..DMA Channel Select is disabled + * 0b1..DMA Channel Select is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_MASK) +/*! @} */ + +/*! @name MAC_LAYER4_ADDRESS3 - Layer 4 Address 3 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_MASK (0xFFFFU) +#define ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_SHIFT (0U) +/*! L4SP3 - Layer 4 Source Port Number Field When the L4PEN3 bit is reset and the L4SPM0 bit is set + * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP + * Source Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_MASK) + +#define ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_SHIFT (16U) +/*! L4DP3 - Layer 4 Destination Port Number Field When the L4PEN3 bit is reset and the L4DPM3 bit is + * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the + * TCP Destination Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR0_REG3 - Layer 3 Address 0 Register 3 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_SHIFT (0U) +/*! L3A03 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR1_REG3 - Layer 3 Address 1 Register 3 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_SHIFT (0U) +/*! L3A13 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR2_REG3 - Layer 3 Address 2 Register 3 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_SHIFT (0U) +/*! L3A23 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR3_REG3 - Layer 3 Address 3 Register 3 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_SHIFT (0U) +/*! L3A33 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_MASK) +/*! @} */ + +/*! @name MAC_L3_L4_CONTROL4 - Layer 3 and Layer 4 Control of Filter 4 */ +/*! @{ */ + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_MASK (0x1U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_SHIFT (0U) +/*! L3PEN4 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination + * Address matching is enabled for IPv6 packets. + * 0b0..Layer 3 Protocol is disabled + * 0b1..Layer 3 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_MASK (0x4U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_SHIFT (2U) +/*! L3SAM4 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. + * 0b0..Layer 3 IP SA Match is disabled + * 0b1..Layer 3 IP SA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_MASK (0x8U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_SHIFT (3U) +/*! L3SAIM4 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address + * field is enabled for inverse matching. + * 0b0..Layer 3 IP SA Inverse Match is disabled + * 0b1..Layer 3 IP SA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_MASK (0x10U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_SHIFT (4U) +/*! L3DAM4 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. + * 0b0..Layer 3 IP DA Match is disabled + * 0b1..Layer 3 IP DA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_MASK (0x20U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_SHIFT (5U) +/*! L3DAIM4 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination + * Address field is enabled for inverse matching. + * 0b0..Layer 3 IP DA Inverse Match is disabled + * 0b1..Layer 3 IP DA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_MASK (0x7C0U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_SHIFT (6U) +/*! L3HSBM4 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower + * bits of IP Source Address that are masked for matching in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_MASK (0xF800U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_SHIFT (11U) +/*! L3HDBM4 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher + * bits of IP Destination Address that are matched in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_MASK (0x10000U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_SHIFT (16U) +/*! L4PEN4 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number + * fields of UDP packets are used for matching. + * 0b0..Layer 4 Protocol is disabled + * 0b1..Layer 4 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_MASK (0x40000U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_SHIFT (18U) +/*! L4SPM4 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. + * 0b0..Layer 4 Source Port Match is disabled + * 0b1..Layer 4 Source Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_MASK (0x80000U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_SHIFT (19U) +/*! L4SPIM4 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port + * number field is enabled for inverse matching. + * 0b0..Layer 4 Source Port Inverse Match is disabled + * 0b1..Layer 4 Source Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_MASK (0x100000U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_SHIFT (20U) +/*! L4DPM4 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination + * Port number field is enabled for matching. + * 0b0..Layer 4 Destination Port Match is disabled + * 0b1..Layer 4 Destination Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_MASK (0x200000U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_SHIFT (21U) +/*! L4DPIM4 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 + * Destination Port number field is enabled for inverse matching. + * 0b0..Layer 4 Destination Port Inverse Match is disabled + * 0b1..Layer 4 Destination Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_MASK (0x7000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_SHIFT (24U) +/*! DMCHN4 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number + * to which the packet passed by this filter is routed. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_MASK (0x10000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_SHIFT (28U) +/*! DMCHEN4 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel + * number for the packet that is passed by this L3_L4 filter. + * 0b0..DMA Channel Select is disabled + * 0b1..DMA Channel Select is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_MASK) +/*! @} */ + +/*! @name MAC_LAYER4_ADDRESS4 - Layer 4 Address 4 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_MASK (0xFFFFU) +#define ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_SHIFT (0U) +/*! L4SP4 - Layer 4 Source Port Number Field When the L4PEN4 bit is reset and the L4SPM0 bit is set + * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP + * Source Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_MASK) + +#define ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_SHIFT (16U) +/*! L4DP4 - Layer 4 Destination Port Number Field When the L4PEN4 bit is reset and the L4DPM4 bit is + * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the + * TCP Destination Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR0_REG4 - Layer 3 Address 0 Register 4 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_SHIFT (0U) +/*! L3A04 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR1_REG4 - Layer 3 Address 1 Register 4 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_SHIFT (0U) +/*! L3A14 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR2_REG4 - Layer 3 Address 2 Register 4 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_SHIFT (0U) +/*! L3A24 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR3_REG4 - Layer 3 Address 3 Register 4 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_SHIFT (0U) +/*! L3A34 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_MASK) +/*! @} */ + +/*! @name MAC_L3_L4_CONTROL5 - Layer 3 and Layer 4 Control of Filter 5 */ +/*! @{ */ + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_MASK (0x1U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_SHIFT (0U) +/*! L3PEN5 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination + * Address matching is enabled for IPv6 packets. + * 0b0..Layer 3 Protocol is disabled + * 0b1..Layer 3 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_MASK (0x4U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_SHIFT (2U) +/*! L3SAM5 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. + * 0b0..Layer 3 IP SA Match is disabled + * 0b1..Layer 3 IP SA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_MASK (0x8U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_SHIFT (3U) +/*! L3SAIM5 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address + * field is enabled for inverse matching. + * 0b0..Layer 3 IP SA Inverse Match is disabled + * 0b1..Layer 3 IP SA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_MASK (0x10U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_SHIFT (4U) +/*! L3DAM5 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. + * 0b0..Layer 3 IP DA Match is disabled + * 0b1..Layer 3 IP DA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_MASK (0x20U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_SHIFT (5U) +/*! L3DAIM5 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination + * Address field is enabled for inverse matching. + * 0b0..Layer 3 IP DA Inverse Match is disabled + * 0b1..Layer 3 IP DA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_MASK (0x7C0U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_SHIFT (6U) +/*! L3HSBM5 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower + * bits of IP Source Address that are masked for matching in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_MASK (0xF800U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_SHIFT (11U) +/*! L3HDBM5 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher + * bits of IP Destination Address that are matched in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_MASK (0x10000U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_SHIFT (16U) +/*! L4PEN5 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number + * fields of UDP packets are used for matching. + * 0b0..Layer 4 Protocol is disabled + * 0b1..Layer 4 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_MASK (0x40000U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_SHIFT (18U) +/*! L4SPM5 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. + * 0b0..Layer 4 Source Port Match is disabled + * 0b1..Layer 4 Source Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_MASK (0x80000U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_SHIFT (19U) +/*! L4SPIM5 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port + * number field is enabled for inverse matching. + * 0b0..Layer 4 Source Port Inverse Match is disabled + * 0b1..Layer 4 Source Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_MASK (0x100000U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_SHIFT (20U) +/*! L4DPM5 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination + * Port number field is enabled for matching. + * 0b0..Layer 4 Destination Port Match is disabled + * 0b1..Layer 4 Destination Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_MASK (0x200000U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_SHIFT (21U) +/*! L4DPIM5 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 + * Destination Port number field is enabled for inverse matching. + * 0b0..Layer 4 Destination Port Inverse Match is disabled + * 0b1..Layer 4 Destination Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_MASK (0x7000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_SHIFT (24U) +/*! DMCHN5 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number + * to which the packet passed by this filter is routed. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_MASK (0x10000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_SHIFT (28U) +/*! DMCHEN5 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel + * number for the packet that is passed by this L3_L4 filter. + * 0b0..DMA Channel Select is disabled + * 0b1..DMA Channel Select is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_MASK) +/*! @} */ + +/*! @name MAC_LAYER4_ADDRESS5 - Layer 4 Address 5 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_MASK (0xFFFFU) +#define ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_SHIFT (0U) +/*! L4SP5 - Layer 4 Source Port Number Field When the L4PEN5 bit is reset and the L4SPM0 bit is set + * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP + * Source Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_MASK) + +#define ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_SHIFT (16U) +/*! L4DP5 - Layer 4 Destination Port Number Field When the L4PEN5 bit is reset and the L4DPM5 bit is + * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the + * TCP Destination Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR0_REG5 - Layer 3 Address 0 Register 5 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_SHIFT (0U) +/*! L3A05 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR1_REG5 - Layer 3 Address 1 Register 5 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_SHIFT (0U) +/*! L3A15 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR2_REG5 - Layer 3 Address 2 Register 5 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_SHIFT (0U) +/*! L3A25 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR3_REG5 - Layer 3 Address 3 Register 5 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_SHIFT (0U) +/*! L3A35 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_MASK) +/*! @} */ + +/*! @name MAC_L3_L4_CONTROL6 - Layer 3 and Layer 4 Control of Filter 6 */ +/*! @{ */ + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_MASK (0x1U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_SHIFT (0U) +/*! L3PEN6 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination + * Address matching is enabled for IPv6 packets. + * 0b0..Layer 3 Protocol is disabled + * 0b1..Layer 3 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_MASK (0x4U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_SHIFT (2U) +/*! L3SAM6 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. + * 0b0..Layer 3 IP SA Match is disabled + * 0b1..Layer 3 IP SA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_MASK (0x8U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_SHIFT (3U) +/*! L3SAIM6 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address + * field is enabled for inverse matching. + * 0b0..Layer 3 IP SA Inverse Match is disabled + * 0b1..Layer 3 IP SA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_MASK (0x10U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_SHIFT (4U) +/*! L3DAM6 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. + * 0b0..Layer 3 IP DA Match is disabled + * 0b1..Layer 3 IP DA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_MASK (0x20U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_SHIFT (5U) +/*! L3DAIM6 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination + * Address field is enabled for inverse matching. + * 0b0..Layer 3 IP DA Inverse Match is disabled + * 0b1..Layer 3 IP DA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_MASK (0x7C0U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_SHIFT (6U) +/*! L3HSBM6 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower + * bits of IP Source Address that are masked for matching in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_MASK (0xF800U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_SHIFT (11U) +/*! L3HDBM6 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher + * bits of IP Destination Address that are matched in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_MASK (0x10000U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_SHIFT (16U) +/*! L4PEN6 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number + * fields of UDP packets are used for matching. + * 0b0..Layer 4 Protocol is disabled + * 0b1..Layer 4 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_MASK (0x40000U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_SHIFT (18U) +/*! L4SPM6 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. + * 0b0..Layer 4 Source Port Match is disabled + * 0b1..Layer 4 Source Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_MASK (0x80000U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_SHIFT (19U) +/*! L4SPIM6 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port + * number field is enabled for inverse matching. + * 0b0..Layer 4 Source Port Inverse Match is disabled + * 0b1..Layer 4 Source Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_MASK (0x100000U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_SHIFT (20U) +/*! L4DPM6 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination + * Port number field is enabled for matching. + * 0b0..Layer 4 Destination Port Match is disabled + * 0b1..Layer 4 Destination Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_MASK (0x200000U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_SHIFT (21U) +/*! L4DPIM6 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 + * Destination Port number field is enabled for inverse matching. + * 0b0..Layer 4 Destination Port Inverse Match is disabled + * 0b1..Layer 4 Destination Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_MASK (0x7000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_SHIFT (24U) +/*! DMCHN6 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number + * to which the packet passed by this filter is routed. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_MASK (0x10000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_SHIFT (28U) +/*! DMCHEN6 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel + * number for the packet that is passed by this L3_L4 filter. + * 0b0..DMA Channel Select is disabled + * 0b1..DMA Channel Select is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_MASK) +/*! @} */ + +/*! @name MAC_LAYER4_ADDRESS6 - Layer 4 Address 6 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_MASK (0xFFFFU) +#define ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_SHIFT (0U) +/*! L4SP6 - Layer 4 Source Port Number Field When the L4PEN6 bit is reset and the L4SPM0 bit is set + * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP + * Source Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_MASK) + +#define ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_SHIFT (16U) +/*! L4DP6 - Layer 4 Destination Port Number Field When the L4PEN6 bit is reset and the L4DPM6 bit is + * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the + * TCP Destination Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR0_REG6 - Layer 3 Address 0 Register 6 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_SHIFT (0U) +/*! L3A06 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR1_REG6 - Layer 3 Address 1 Register 6 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_SHIFT (0U) +/*! L3A16 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR2_REG6 - Layer 3 Address 2 Register 6 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_SHIFT (0U) +/*! L3A26 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR3_REG6 - Layer 3 Address 3 Register 6 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_SHIFT (0U) +/*! L3A36 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_MASK) +/*! @} */ + +/*! @name MAC_L3_L4_CONTROL7 - Layer 3 and Layer 4 Control of Filter 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_MASK (0x1U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_SHIFT (0U) +/*! L3PEN7 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination + * Address matching is enabled for IPv6 packets. + * 0b0..Layer 3 Protocol is disabled + * 0b1..Layer 3 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_MASK (0x4U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_SHIFT (2U) +/*! L3SAM7 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching. + * 0b0..Layer 3 IP SA Match is disabled + * 0b1..Layer 3 IP SA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_MASK (0x8U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_SHIFT (3U) +/*! L3SAIM7 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address + * field is enabled for inverse matching. + * 0b0..Layer 3 IP SA Inverse Match is disabled + * 0b1..Layer 3 IP SA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_MASK (0x10U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_SHIFT (4U) +/*! L3DAM7 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. + * 0b0..Layer 3 IP DA Match is disabled + * 0b1..Layer 3 IP DA Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_MASK (0x20U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_SHIFT (5U) +/*! L3DAIM7 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination + * Address field is enabled for inverse matching. + * 0b0..Layer 3 IP DA Inverse Match is disabled + * 0b1..Layer 3 IP DA Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_MASK (0x7C0U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_SHIFT (6U) +/*! L3HSBM7 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower + * bits of IP Source Address that are masked for matching in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_MASK (0xF800U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_SHIFT (11U) +/*! L3HDBM7 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher + * bits of IP Destination Address that are matched in the IPv4 packets. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_MASK (0x10000U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_SHIFT (16U) +/*! L4PEN7 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number + * fields of UDP packets are used for matching. + * 0b0..Layer 4 Protocol is disabled + * 0b1..Layer 4 Protocol is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_MASK (0x40000U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_SHIFT (18U) +/*! L4SPM7 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching. + * 0b0..Layer 4 Source Port Match is disabled + * 0b1..Layer 4 Source Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_MASK (0x80000U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_SHIFT (19U) +/*! L4SPIM7 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port + * number field is enabled for inverse matching. + * 0b0..Layer 4 Source Port Inverse Match is disabled + * 0b1..Layer 4 Source Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_MASK (0x100000U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_SHIFT (20U) +/*! L4DPM7 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination + * Port number field is enabled for matching. + * 0b0..Layer 4 Destination Port Match is disabled + * 0b1..Layer 4 Destination Port Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_MASK (0x200000U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_SHIFT (21U) +/*! L4DPIM7 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4 + * Destination Port number field is enabled for inverse matching. + * 0b0..Layer 4 Destination Port Inverse Match is disabled + * 0b1..Layer 4 Destination Port Inverse Match is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_MASK (0x7000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_SHIFT (24U) +/*! DMCHN7 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number + * to which the packet passed by this filter is routed. + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_MASK) + +#define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_MASK (0x10000000U) +#define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_SHIFT (28U) +/*! DMCHEN7 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel + * number for the packet that is passed by this L3_L4 filter. + * 0b0..DMA Channel Select is disabled + * 0b1..DMA Channel Select is enabled + */ +#define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_MASK) +/*! @} */ + +/*! @name MAC_LAYER4_ADDRESS7 - Layer 4 Address 7 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_MASK (0xFFFFU) +#define ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_SHIFT (0U) +/*! L4SP7 - Layer 4 Source Port Number Field When the L4PEN7 bit is reset and the L4SPM0 bit is set + * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP + * Source Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_MASK) + +#define ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_MASK (0xFFFF0000U) +#define ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_SHIFT (16U) +/*! L4DP7 - Layer 4 Destination Port Number Field When the L4PEN7 bit is reset and the L4DPM7 bit is + * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the + * TCP Destination Port Number field in the IPv4 or IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR0_REG7 - Layer 3 Address 0 Register 7 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_SHIFT (0U) +/*! L3A07 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR1_REG7 - Layer 3 Address 1 Register 7 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_SHIFT (0U) +/*! L3A17 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR2_REG7 - Layer 3 Address 2 Register 7 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_SHIFT (0U) +/*! L3A27 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_MASK) +/*! @} */ + +/*! @name MAC_LAYER3_ADDR3_REG7 - Layer 3 Address 3 Register 7 */ +/*! @{ */ + +#define ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_SHIFT (0U) +/*! L3A37 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the + * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source + * Address field in the IPv6 packets. + */ +#define ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_MASK) +/*! @} */ + +/*! @name MAC_INDIR_ACCESS_CTRL - MAC_INDIR_ACCESS_CTRL */ +/*! @{ */ + +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_OB_MASK (0x1U) +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_OB_SHIFT (0U) +/*! OB - Operation Busy */ +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_OB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INDIR_ACCESS_CTRL_OB_SHIFT)) & ENET_QOS_MAC_INDIR_ACCESS_CTRL_OB_MASK) + +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_COM_MASK (0x2U) +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_COM_SHIFT (1U) +/*! COM - Command type. Indicates the register access type. + * 0b0..Indicates a write operation + * 0b1..Indicates a read operation + */ +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_COM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INDIR_ACCESS_CTRL_COM_SHIFT)) & ENET_QOS_MAC_INDIR_ACCESS_CTRL_COM_MASK) + +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_AUTO_MASK (0x20U) +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_AUTO_SHIFT (5U) +/*! AUTO - Auto increment enable + * 0b0..AOFF is not incremented automatically. Software should program the correct Address Offset for each access. + * 0b1..AOFF is incremented by 1. Software should ensure not to cause a wrap condition. Byte wise read/write is + * not supported when auto increment is enabled. + */ +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_AUTO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INDIR_ACCESS_CTRL_AUTO_SHIFT)) & ENET_QOS_MAC_INDIR_ACCESS_CTRL_AUTO_MASK) + +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_AOFF_MASK (0xFF00U) +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_AOFF_SHIFT (8U) +/*! AOFF - Address Offset */ +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_AOFF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INDIR_ACCESS_CTRL_AOFF_SHIFT)) & ENET_QOS_MAC_INDIR_ACCESS_CTRL_AOFF_MASK) + +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_MSEL_MASK (0xF0000U) +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_MSEL_SHIFT (16U) +/*! MSEL - Mode Select */ +#define ENET_QOS_MAC_INDIR_ACCESS_CTRL_MSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INDIR_ACCESS_CTRL_MSEL_SHIFT)) & ENET_QOS_MAC_INDIR_ACCESS_CTRL_MSEL_MASK) +/*! @} */ + +/*! @name MAC_INDIR_ACCESS_DATA - MAC_INDIR_ACCESS_DATA */ +/*! @{ */ + +#define ENET_QOS_MAC_INDIR_ACCESS_DATA_DATA_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_INDIR_ACCESS_DATA_DATA_SHIFT (0U) +/*! DATA - This field contains data to read/write for Indirect address access associated with MAC_INDIR_ACCESS_CTRL register. */ +#define ENET_QOS_MAC_INDIR_ACCESS_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INDIR_ACCESS_DATA_DATA_SHIFT)) & ENET_QOS_MAC_INDIR_ACCESS_DATA_DATA_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_CONTROL - Timestamp Control */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_MASK (0x1U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_SHIFT (0U) +/*! TSENA - Enable Timestamp When this bit is set, the timestamp is added for Transmit and Receive packets. + * 0b0..Timestamp is disabled + * 0b1..Timestamp is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_MASK (0x2U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_SHIFT (1U) +/*! TSCFUPDT - Fine or Coarse Timestamp Update When this bit is set, the Fine method is used to update system timestamp. + * 0b0..Coarse method is used to update system timestamp + * 0b1..Fine method is used to update system timestamp + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_MASK (0x4U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_SHIFT (2U) +/*! TSINIT - Initialize Timestamp When this bit is set, the system time is initialized (overwritten) + * with the value specified in the MAC_System_Time_Seconds_Update and + * MAC_System_Time_Nanoseconds_Update registers. + * 0b0..Timestamp is not initialized + * 0b1..Timestamp is initialized + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_MASK (0x8U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_SHIFT (3U) +/*! TSUPDT - Update Timestamp When this bit is set, the system time is updated (added or subtracted) + * with the value specified in MAC_System_Time_Seconds_Update and + * MAC_System_Time_Nanoseconds_Update registers. + * 0b0..Timestamp is not updated + * 0b1..Timestamp is updated + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_MASK (0x20U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_SHIFT (5U) +/*! TSADDREG - Update Addend Register When this bit is set, the content of the Timestamp Addend + * register is updated in the PTP block for fine correction. + * 0b0..Addend Register is not updated + * 0b1..Addend Register is updated + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_MASK (0x40U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_SHIFT (6U) +/*! PTGE - Presentation Time Generation Enable When this bit is set the Presentation Time generation will be enabled. + * 0b0..Presentation Time Generation is disabled + * 0b1..Presentation Time Generation is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_MASK (0x100U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_SHIFT (8U) +/*! TSENALL - Enable Timestamp for All Packets When this bit is set, the timestamp snapshot is + * enabled for all packets received by the MAC. + * 0b0..Timestamp for All Packets disabled + * 0b1..Timestamp for All Packets enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_MASK (0x200U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_SHIFT (9U) +/*! TSCTRLSSR - Timestamp Digital or Binary Rollover Control When this bit is set, the Timestamp Low + * register rolls over after 0x3B9A_C9FF value (that is, 1 nanosecond accuracy) and increments + * the timestamp (High) seconds. + * 0b0..Timestamp Digital or Binary Rollover Control is disabled + * 0b1..Timestamp Digital or Binary Rollover Control is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_MASK (0x400U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_SHIFT (10U) +/*! TSVER2ENA - Enable PTP Packet Processing for Version 2 Format When this bit is set, the IEEE + * 1588 version 2 format is used to process the PTP packets. + * 0b0..PTP Packet Processing for Version 2 Format is disabled + * 0b1..PTP Packet Processing for Version 2 Format is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_MASK (0x800U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_SHIFT (11U) +/*! TSIPENA - Enable Processing of PTP over Ethernet Packets When this bit is set, the MAC receiver + * processes the PTP packets encapsulated directly in the Ethernet packets. + * 0b0..Processing of PTP over Ethernet Packets is disabled + * 0b1..Processing of PTP over Ethernet Packets is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_MASK (0x1000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_SHIFT (12U) +/*! TSIPV6ENA - Enable Processing of PTP Packets Sent over IPv6-UDP When this bit is set, the MAC + * receiver processes the PTP packets encapsulated in IPv6-UDP packets. + * 0b0..Processing of PTP Packets Sent over IPv6-UDP is disabled + * 0b1..Processing of PTP Packets Sent over IPv6-UDP is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_MASK (0x2000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_SHIFT (13U) +/*! TSIPV4ENA - Enable Processing of PTP Packets Sent over IPv4-UDP When this bit is set, the MAC + * receiver processes the PTP packets encapsulated in IPv4-UDP packets. + * 0b0..Processing of PTP Packets Sent over IPv4-UDP is disabled + * 0b1..Processing of PTP Packets Sent over IPv4-UDP is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_MASK (0x4000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_SHIFT (14U) +/*! TSEVNTENA - Enable Timestamp Snapshot for Event Messages When this bit is set, the timestamp + * snapshot is taken only for event messages (SYNC, Delay_Req, Pdelay_Req, or Pdelay_Resp). + * 0b0..Timestamp Snapshot for Event Messages is disabled + * 0b1..Timestamp Snapshot for Event Messages is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_MASK (0x8000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_SHIFT (15U) +/*! TSMSTRENA - Enable Snapshot for Messages Relevant to Master When this bit is set, the snapshot + * is taken only for the messages that are relevant to the master node. + * 0b0..Snapshot for Messages Relevant to Master is disabled + * 0b1..Snapshot for Messages Relevant to Master is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_MASK (0x30000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_SHIFT (16U) +/*! SNAPTYPSEL - Select PTP packets for Taking Snapshots These bits, along with Bits 15 and 14, + * decide the set of PTP packet types for which snapshot needs to be taken. + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_MASK (0x40000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_SHIFT (18U) +/*! TSENMACADDR - Enable MAC Address for PTP Packet Filtering When this bit is set, the DA MAC + * address (that matches any MAC Address register) is used to filter the PTP packets when PTP is + * directly sent over Ethernet. + * 0b0..MAC Address for PTP Packet Filtering is disabled + * 0b1..MAC Address for PTP Packet Filtering is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_MASK (0x80000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_SHIFT (19U) +/*! CSC - Enable checksum correction during OST for PTP over UDP/IPv4 packets When this bit is set, + * the last two bytes of PTP message sent over UDP/IPv4 is updated to keep the UDP checksum + * correct, for changes made to origin timestamp and/or correction field as part of one step timestamp + * operation. + * 0b0..checksum correction during OST for PTP over UDP/IPv4 packets is disabled + * 0b1..checksum correction during OST for PTP over UDP/IPv4 packets is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_MASK (0x100000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_SHIFT (20U) +/*! ESTI - External System Time Input When this bit is set, the MAC uses the external 64-bit + * reference System Time input for the following: - To take the timestamp provided as status - To insert + * the timestamp in transmit PTP packets when One-step Timestamp or Timestamp Offload feature is + * enabled. + * 0b0..External System Time Input is disabled + * 0b1..External System Time Input is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_MASK (0x1000000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_SHIFT (24U) +/*! TXTSSTSM - Transmit Timestamp Status Mode When this bit is set, the MAC overwrites the earlier + * transmit timestamp status even if it is not read by the software. + * 0b0..Transmit Timestamp Status Mode is disabled + * 0b1..Transmit Timestamp Status Mode is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_MASK (0x10000000U) +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_SHIFT (28U) +/*! AV8021ASMEN - AV 802. + * 0b0..AV 802.1AS Mode is disabled + * 0b1..AV 802.1AS Mode is enabled + */ +#define ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_MASK) +/*! @} */ + +/*! @name MAC_SUB_SECOND_INCREMENT - Subsecond Increment */ +/*! @{ */ + +#define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_MASK (0xFF00U) +#define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_SHIFT (8U) +/*! SNSINC - Sub-nanosecond Increment Value This field contains the sub-nanosecond increment value, + * represented in nanoseconds multiplied by 2^8. + */ +#define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_SHIFT)) & ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_MASK) + +#define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_MASK (0xFF0000U) +#define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_SHIFT (16U) +/*! SSINC - Sub-second Increment Value The value programmed in this field is accumulated every clock + * cycle (of clk_ptp_i) with the contents of the sub-second register. + */ +#define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_SHIFT)) & ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_MASK) +/*! @} */ + +/*! @name MAC_SYSTEM_TIME_SECONDS - System Time Seconds */ +/*! @{ */ + +#define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_SHIFT (0U) +/*! TSS - Timestamp Second The value in this field indicates the current value in seconds of the + * System Time maintained by the MAC. + */ +#define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_MASK) +/*! @} */ + +/*! @name MAC_SYSTEM_TIME_NANOSECONDS - System Time Nanoseconds */ +/*! @{ */ + +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_MASK (0x7FFFFFFFU) +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_SHIFT (0U) +/*! TSSS - Timestamp Sub Seconds The value in this field has the sub-second representation of time, with an accuracy of 0. */ +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_MASK) +/*! @} */ + +/*! @name MAC_SYSTEM_TIME_SECONDS_UPDATE - System Time Seconds Update */ +/*! @{ */ + +#define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_SHIFT (0U) +/*! TSS - Timestamp Seconds The value in this field is the seconds part of the update. */ +#define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_MASK) +/*! @} */ + +/*! @name MAC_SYSTEM_TIME_NANOSECONDS_UPDATE - System Time Nanoseconds Update */ +/*! @{ */ + +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_MASK (0x7FFFFFFFU) +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_SHIFT (0U) +/*! TSSS - Timestamp Sub Seconds The value in this field is the sub-seconds part of the update. */ +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_MASK) + +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_MASK (0x80000000U) +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_SHIFT (31U) +/*! ADDSUB - Add or Subtract Time When this bit is set, the time value is subtracted with the contents of the update register. + * 0b0..Add time + * 0b1..Subtract time + */ +#define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_ADDEND - Timestamp Addend */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_SHIFT (0U) +/*! TSAR - Timestamp Addend Register This field indicates the 32-bit time value to be added to the + * Accumulator register to achieve time synchronization. + */ +#define ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_MASK) +/*! @} */ + +/*! @name MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS - System Time - Higher Word Seconds */ +/*! @{ */ + +#define ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_MASK (0xFFFFU) +#define ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_SHIFT (0U) +/*! TSHWR - Timestamp Higher Word Register This field contains the most-significant 16-bits of timestamp seconds value. */ +#define ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_STATUS - Timestamp Status */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_MASK (0x1U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_SHIFT (0U) +/*! TSSOVF - Timestamp Seconds Overflow When this bit is set, it indicates that the seconds value of + * the timestamp (when supporting version 2 format) has overflowed beyond 32'hFFFF_FFFF. + * 0b0..Timestamp Seconds Overflow status not detected + * 0b1..Timestamp Seconds Overflow status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_MASK (0x2U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_SHIFT (1U) +/*! TSTARGT0 - Timestamp Target Time Reached When set, this bit indicates that the value of system + * time is greater than or equal to the value specified in the MAC_PPS0_Target_Time_Seconds and + * MAC_PPS0_Target_Time_Nanoseconds registers. + * 0b0..Timestamp Target Time Reached status not detected + * 0b1..Timestamp Target Time Reached status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_MASK (0x4U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_SHIFT (2U) +/*! AUXTSTRIG - Auxiliary Timestamp Trigger Snapshot This bit is set high when the auxiliary snapshot is written to the FIFO. + * 0b0..Auxiliary Timestamp Trigger Snapshot status not detected + * 0b1..Auxiliary Timestamp Trigger Snapshot status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_MASK (0x8U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_SHIFT (3U) +/*! TSTRGTERR0 - Timestamp Target Time Error This bit is set when the latest target time programmed + * in the MAC_PPS0_Target_Time_Seconds and MAC_PPS0_Target_Time_Nanoseconds registers elapses. + * 0b0..Timestamp Target Time Error status not detected + * 0b1..Timestamp Target Time Error status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_MASK (0x10U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_SHIFT (4U) +/*! TSTARGT1 - Timestamp Target Time Reached for Target Time PPS1 When set, this bit indicates that + * the value of system time is greater than or equal to the value specified in the + * MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS registers. + * 0b0..Timestamp Target Time Reached for Target Time PPS1 status not detected + * 0b1..Timestamp Target Time Reached for Target Time PPS1 status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_MASK (0x20U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_SHIFT (5U) +/*! TSTRGTERR1 - Timestamp Target Time Error This bit is set when the latest target time programmed + * in the MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS registers elapses. + * 0b0..Timestamp Target Time Error status not detected + * 0b1..Timestamp Target Time Error status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_MASK (0x40U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_SHIFT (6U) +/*! TSTARGT2 - Timestamp Target Time Reached for Target Time PPS2 When set, this bit indicates that + * the value of system time is greater than or equal to the value specified in the + * MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS registers. + * 0b0..Timestamp Target Time Reached for Target Time PPS2 status not detected + * 0b1..Timestamp Target Time Reached for Target Time PPS2 status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_MASK (0x80U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_SHIFT (7U) +/*! TSTRGTERR2 - Timestamp Target Time Error This bit is set when the latest target time programmed + * in the MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS registers elapses. + * 0b0..Timestamp Target Time Error status not detected + * 0b1..Timestamp Target Time Error status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_MASK (0x100U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_SHIFT (8U) +/*! TSTARGT3 - Timestamp Target Time Reached for Target Time PPS3 When this bit is set, it indicates + * that the value of system time is greater than or equal to the value specified in the + * MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS registers. + * 0b0..Timestamp Target Time Reached for Target Time PPS3 status not detected + * 0b1..Timestamp Target Time Reached for Target Time PPS3 status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_MASK (0x200U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_SHIFT (9U) +/*! TSTRGTERR3 - Timestamp Target Time Error This bit is set when the latest target time programmed + * in the MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS registers elapses. + * 0b0..Timestamp Target Time Error status not detected + * 0b1..Timestamp Target Time Error status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_MASK (0x8000U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_SHIFT (15U) +/*! TXTSSIS - Tx Timestamp Status Interrupt Status In non-EQOS_CORE configurations when drop + * transmit status is enabled in MTL, this bit is set when the captured transmit timestamp is updated in + * the MAC_TX_TIMESTAMP_STATUS_NANOSECONDS and MAC_TX_TIMESTAMP_STATUS_SECONDS registers. + * 0b0..Tx Timestamp Status Interrupt status not detected + * 0b1..Tx Timestamp Status Interrupt status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_MASK (0xF0000U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_SHIFT (16U) +/*! ATSSTN - Auxiliary Timestamp Snapshot Trigger Identifier These bits identify the Auxiliary + * trigger inputs for which the timestamp available in the Auxiliary Snapshot Register is applicable. + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_MASK (0x1000000U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_SHIFT (24U) +/*! ATSSTM - Auxiliary Timestamp Snapshot Trigger Missed This bit is set when the Auxiliary + * timestamp snapshot FIFO is full and external trigger was set. + * 0b0..Auxiliary Timestamp Snapshot Trigger Missed status not detected + * 0b1..Auxiliary Timestamp Snapshot Trigger Missed status detected + */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_MASK (0x3E000000U) +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_SHIFT (25U) +/*! ATSNS - Number of Auxiliary Timestamp Snapshots This field indicates the number of Snapshots available in the FIFO. */ +#define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_MASK) +/*! @} */ + +/*! @name MAC_TX_TIMESTAMP_STATUS_NANOSECONDS - Transmit Timestamp Status Nanoseconds */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_MASK (0x7FFFFFFFU) +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_SHIFT (0U) +/*! TXTSSLO - Transmit Timestamp Status Low This field contains the 31 bits of the Nanoseconds field + * of the Transmit packet's captured timestamp. + */ +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_SHIFT)) & ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_MASK) + +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_MASK (0x80000000U) +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_SHIFT (31U) +/*! TXTSSMIS - Transmit Timestamp Status Missed + * 0b0..Transmit Timestamp Status Missed status not detected + * 0b1..Transmit Timestamp Status Missed status detected + */ +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_SHIFT)) & ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_MASK) +/*! @} */ + +/*! @name MAC_TX_TIMESTAMP_STATUS_SECONDS - Transmit Timestamp Status Seconds */ +/*! @{ */ + +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_SHIFT (0U) +/*! TXTSSHI - Transmit Timestamp Status High This field contains the lower 32 bits of the Seconds + * field of Transmit packet's captured timestamp. + */ +#define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_SHIFT)) & ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_MASK) +/*! @} */ + +/*! @name MAC_AUXILIARY_CONTROL - Auxiliary Timestamp Control */ +/*! @{ */ + +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_MASK (0x1U) +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_SHIFT (0U) +/*! ATSFC - Auxiliary Snapshot FIFO Clear + * 0b0..Auxiliary Snapshot FIFO Clear is disabled + * 0b1..Auxiliary Snapshot FIFO Clear is enabled + */ +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_MASK) + +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_MASK (0x10U) +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_SHIFT (4U) +/*! ATSEN0 - Auxiliary Snapshot 0 Enable + * 0b0..Auxiliary Snapshot $i is disabled + * 0b1..Auxiliary Snapshot $i is enabled + */ +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_MASK) + +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_MASK (0x20U) +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_SHIFT (5U) +/*! ATSEN1 - Auxiliary Snapshot 1 Enable + * 0b0..Auxiliary Snapshot $i is disabled + * 0b1..Auxiliary Snapshot $i is enabled + */ +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_MASK) + +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_MASK (0x40U) +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_SHIFT (6U) +/*! ATSEN2 - Auxiliary Snapshot 2 Enable + * 0b0..Auxiliary Snapshot $i is disabled + * 0b1..Auxiliary Snapshot $i is enabled + */ +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_MASK) + +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_MASK (0x80U) +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_SHIFT (7U) +/*! ATSEN3 - Auxiliary Snapshot 3 Enable + * 0b0..Auxiliary Snapshot $i is disabled + * 0b1..Auxiliary Snapshot $i is enabled + */ +#define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_MASK) +/*! @} */ + +/*! @name MAC_AUXILIARY_TIMESTAMP_NANOSECONDS - Auxiliary Timestamp Nanoseconds */ +/*! @{ */ + +#define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_MASK (0x7FFFFFFFU) +#define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_SHIFT (0U) +/*! AUXTSLO - Auxiliary Timestamp Contains the lower 31 bits (nanoseconds field) of the auxiliary timestamp. */ +#define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_SHIFT)) & ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_MASK) +/*! @} */ + +/*! @name MAC_AUXILIARY_TIMESTAMP_SECONDS - Auxiliary Timestamp Seconds */ +/*! @{ */ + +#define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_SHIFT (0U) +/*! AUXTSHI - Auxiliary Timestamp Contains the lower 32 bits of the Seconds field of the auxiliary timestamp. */ +#define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_SHIFT)) & ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_INGRESS_ASYM_CORR - Timestamp Ingress Asymmetry Correction */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_SHIFT (0U) +/*! OSTIAC - One-Step Timestamp Ingress Asymmetry Correction */ +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_EGRESS_ASYM_CORR - Timestamp Egress Asymmetry Correction */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_SHIFT (0U) +/*! OSTEAC - One-Step Timestamp Egress Asymmetry Correction */ +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND - Timestamp Ingress Correction Nanosecond */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_SHIFT (0U) +/*! TSIC - Timestamp Ingress Correction This field contains the ingress path correction value as + * defined by the Ingress Correction expression. + */ +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND - Timestamp Egress Correction Nanosecond */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_SHIFT (0U) +/*! TSEC - Timestamp Egress Correction This field contains the nanoseconds part of the egress path + * correction value as defined by the Egress Correction expression. + */ +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC - Timestamp Ingress Correction Subnanosecond */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_MASK (0xFF00U) +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_SHIFT (8U) +/*! TSICSNS - Timestamp Ingress Correction, sub-nanoseconds This field contains the sub-nanoseconds + * part of the ingress path correction value as defined by the "Ingress Correction" expression. + */ +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC - Timestamp Egress Correction Subnanosecond */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_MASK (0xFF00U) +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_SHIFT (8U) +/*! TSECSNS - Timestamp Egress Correction, sub-nanoseconds This field contains the sub-nanoseconds + * part of the egress path correction value as defined by the "Egress Correction" expression. + */ +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_INGRESS_LATENCY - Timestamp Ingress Latency */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_MASK (0xFF00U) +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_SHIFT (8U) +/*! ITLSNS - Ingress Timestamp Latency, in nanoseconds */ +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_MASK (0xFFF0000U) +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_SHIFT (16U) +/*! ITLNS - Ingress Timestamp Latency, in sub-nanoseconds */ +#define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_MASK) +/*! @} */ + +/*! @name MAC_TIMESTAMP_EGRESS_LATENCY - Timestamp Egress Latency */ +/*! @{ */ + +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_MASK (0xFF00U) +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_SHIFT (8U) +/*! ETLSNS - Egress Timestamp Latency, in sub-nanoseconds */ +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_MASK) + +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_MASK (0xFFF0000U) +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_SHIFT (16U) +/*! ETLNS - Egress Timestamp Latency, in nanoseconds */ +#define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_MASK) +/*! @} */ + +/*! @name MAC_PPS_CONTROL - PPS Control */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_MASK (0xFU) +#define ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_SHIFT (0U) +/*! PPSCTRL_PPSCMD - PPS Output Frequency Control This field controls the frequency of the PPS0 output (ptp_pps_o[0]) signal. */ +#define ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_PPSEN0_MASK (0x10U) +#define ENET_QOS_MAC_PPS_CONTROL_PPSEN0_SHIFT (4U) +/*! PPSEN0 - Flexible PPS Output Mode Enable When this bit is set, Bits[3:0] function as PPSCMD. + * 0b0..Flexible PPS Output Mode is disabled + * 0b1..Flexible PPS Output Mode is enabled + */ +#define ENET_QOS_MAC_PPS_CONTROL_PPSEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSEN0_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSEN0_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_MASK (0x60U) +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_SHIFT (5U) +/*! TRGTMODSEL0 - Target Time Register Mode for PPS0 Output This field indicates the Target Time + * registers (MAC_PPS0_TARGET_TIME_SECONDS and MAC_PPS0_TARGET_TIME_NANOSECONDS) mode for PPS0 + * output signal: + * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function + * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding + * ptp_pps_o output port + * 0b01..Reserved + * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation + * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted + */ +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN0_MASK (0x80U) +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN0_SHIFT (7U) +/*! MCGREN0 - MCGR Mode Enable for PPS0 Output This field enables the 0th PPS instance to operate in PPS or MCGR mode. + * 0b0..0th PPS instance is enabled to operate in PPS mode + * 0b1..0th PPS instance is enabled to operate in MCGR mode + */ +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_MCGREN0_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_MCGREN0_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_MASK (0xF00U) +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_SHIFT (8U) +/*! PPSCMD1 - Flexible PPS1 Output Control This field controls the flexible PPS1 output (ptp_pps_o[1]) signal. */ +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_MASK (0x6000U) +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_SHIFT (13U) +/*! TRGTMODSEL1 - Target Time Register Mode for PPS1 Output This field indicates the Target Time + * registers (MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS) mode for PPS1 + * output signal. + * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function + * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding + * ptp_pps_o output port + * 0b01..Reserved + * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation + * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted + */ +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN1_MASK (0x8000U) +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN1_SHIFT (15U) +/*! MCGREN1 - MCGR Mode Enable for PPS1 Output This field enables the 1st PPS instance to operate in PPS or MCGR mode. + * 0b0..1st PPS instance is disabled to operate in PPS or MCGR mode + * 0b1..1st PPS instance is enabled to operate in PPS or MCGR mode + */ +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_MCGREN1_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_MCGREN1_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_MASK (0xF0000U) +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_SHIFT (16U) +/*! PPSCMD2 - Flexible PPS2 Output Control This field controls the flexible PPS2 output (ptp_pps_o[2]) signal. */ +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_MASK (0x600000U) +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_SHIFT (21U) +/*! TRGTMODSEL2 - Target Time Register Mode for PPS2 Output This field indicates the Target Time + * registers (MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS) mode for PPS2 + * output signal. + * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function + * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding + * ptp_pps_o output port + * 0b01..Reserved + * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation + * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted + */ +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN2_MASK (0x800000U) +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN2_SHIFT (23U) +/*! MCGREN2 - MCGR Mode Enable for PPS2 Output This field enables the 2nd PPS instance to operate in PPS or MCGR mode. + * 0b0..2nd PPS instance is disabled to operate in PPS or MCGR mode + * 0b1..2nd PPS instance is enabled to operate in PPS or MCGR mode + */ +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_MCGREN2_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_MCGREN2_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_MASK (0xF000000U) +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_SHIFT (24U) +/*! PPSCMD3 - Flexible PPS3 Output Control This field controls the flexible PPS3 output (ptp_pps_o[3]) signal. */ +#define ENET_QOS_MAC_PPS_CONTROL_PPSCMD3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_MASK (0x60000000U) +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_SHIFT (29U) +/*! TRGTMODSEL3 - Target Time Register Mode for PPS3 Output This field indicates the Target Time + * registers (MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS) mode for PPS3 + * output signal. + * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function + * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding + * ptp_pps_o output port + * 0b01..Reserved + * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation + * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted + */ +#define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_MASK) + +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN3_MASK (0x80000000U) +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN3_SHIFT (31U) +/*! MCGREN3 - MCGR Mode Enable for PPS3 Output This field enables the 3rd PPS instance to operate in PPS or MCGR mode. */ +#define ENET_QOS_MAC_PPS_CONTROL_MCGREN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_MCGREN3_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_MCGREN3_MASK) +/*! @} */ + +/*! @name MAC_PPS0_TARGET_TIME_SECONDS - PPS0 Target Time Seconds */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_SHIFT (0U) +/*! TSTRH0 - PPS Target Time Seconds Register This field stores the time in seconds. */ +#define ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_SHIFT)) & ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_MASK) +/*! @} */ + +/*! @name MAC_PPS0_TARGET_TIME_NANOSECONDS - PPS0 Target Time Nanoseconds */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_MASK (0x7FFFFFFFU) +#define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_SHIFT (0U) +/*! TTSL0 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds. */ +#define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_SHIFT)) & ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_MASK) + +#define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_MASK (0x80000000U) +#define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_SHIFT (31U) +/*! TRGTBUSY0 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the + * PPS_CONTROL register is programmed to 010 or 011. + * 0b0..PPS Target Time Register Busy status is not detected + * 0b1..PPS Target Time Register Busy is detected + */ +#define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_SHIFT)) & ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_MASK) +/*! @} */ + +/*! @name MAC_PPS0_INTERVAL - PPS0 Interval */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_SHIFT (0U) +/*! PPSINT0 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output. */ +#define ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_SHIFT)) & ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_MASK) +/*! @} */ + +/*! @name MAC_PPS0_WIDTH - PPS0 Width */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_SHIFT (0U) +/*! PPSWIDTH0 - PPS Output Signal Width These bits store the width between the rising edge and + * corresponding falling edge of PPS0 signal output. + */ +#define ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_SHIFT)) & ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_MASK) +/*! @} */ + +/*! @name MAC_PPS1_TARGET_TIME_SECONDS - PPS1 Target Time Seconds */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_SHIFT (0U) +/*! TSTRH1 - PPS Target Time Seconds Register This field stores the time in seconds. */ +#define ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_SHIFT)) & ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_MASK) +/*! @} */ + +/*! @name MAC_PPS1_TARGET_TIME_NANOSECONDS - PPS1 Target Time Nanoseconds */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_MASK (0x7FFFFFFFU) +#define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_SHIFT (0U) +/*! TTSL1 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds. */ +#define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_SHIFT)) & ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_MASK) + +#define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_MASK (0x80000000U) +#define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_SHIFT (31U) +/*! TRGTBUSY1 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the + * PPS_CONTROL register is programmed to 010 or 011. + * 0b0..PPS Target Time Register Busy status is not detected + * 0b1..PPS Target Time Register Busy is detected + */ +#define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_SHIFT)) & ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_MASK) +/*! @} */ + +/*! @name MAC_PPS1_INTERVAL - PPS1 Interval */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_SHIFT (0U) +/*! PPSINT1 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS1 signal output. */ +#define ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_SHIFT)) & ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_MASK) +/*! @} */ + +/*! @name MAC_PPS1_WIDTH - PPS1 Width */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_SHIFT (0U) +/*! PPSWIDTH1 - PPS Output Signal Width These bits store the width between the rising edge and + * corresponding falling edge of PPS0 signal output. + */ +#define ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_SHIFT)) & ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_MASK) +/*! @} */ + +/*! @name MAC_PPS2_TARGET_TIME_SECONDS - PPS2 Target Time Seconds */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_SHIFT (0U) +/*! TSTRH2 - PPS Target Time Seconds Register This field stores the time in seconds. */ +#define ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_SHIFT)) & ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_MASK) +/*! @} */ + +/*! @name MAC_PPS2_TARGET_TIME_NANOSECONDS - PPS2 Target Time Nanoseconds */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_MASK (0x7FFFFFFFU) +#define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_SHIFT (0U) +/*! TTSL2 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds. */ +#define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_SHIFT)) & ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_MASK) + +#define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_MASK (0x80000000U) +#define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_SHIFT (31U) +/*! TRGTBUSY2 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the + * PPS_CONTROL register is programmed to 010 or 011. + * 0b0..PPS Target Time Register Busy status is not detected + * 0b1..PPS Target Time Register Busy is detected + */ +#define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_SHIFT)) & ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_MASK) +/*! @} */ + +/*! @name MAC_PPS2_INTERVAL - PPS2 Interval */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_SHIFT (0U) +/*! PPSINT2 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS2 signal output. */ +#define ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_SHIFT)) & ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_MASK) +/*! @} */ + +/*! @name MAC_PPS2_WIDTH - PPS2 Width */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_SHIFT (0U) +/*! PPSWIDTH2 - PPS Output Signal Width These bits store the width between the rising edge and + * corresponding falling edge of PPS0 signal output. + */ +#define ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_SHIFT)) & ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_MASK) +/*! @} */ + +/*! @name MAC_PPS3_TARGET_TIME_SECONDS - PPS3 Target Time Seconds */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_SHIFT (0U) +/*! TSTRH3 - PPS Target Time Seconds Register This field stores the time in seconds. */ +#define ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_SHIFT)) & ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_MASK) +/*! @} */ + +/*! @name MAC_PPS3_TARGET_TIME_NANOSECONDS - PPS3 Target Time Nanoseconds */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_MASK (0x7FFFFFFFU) +#define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_SHIFT (0U) +/*! TTSL3 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds. */ +#define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_SHIFT)) & ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_MASK) + +#define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_MASK (0x80000000U) +#define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_SHIFT (31U) +/*! TRGTBUSY3 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the + * PPS_CONTROL register is programmed to 010 or 011. + * 0b0..PPS Target Time Register Busy status is not detected + * 0b1..PPS Target Time Register Busy is detected + */ +#define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_SHIFT)) & ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_MASK) +/*! @} */ + +/*! @name MAC_PPS3_INTERVAL - PPS3 Interval */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_SHIFT (0U) +/*! PPSINT3 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS3 signal output. */ +#define ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_SHIFT)) & ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_MASK) +/*! @} */ + +/*! @name MAC_PPS3_WIDTH - PPS3 Width */ +/*! @{ */ + +#define ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_SHIFT (0U) +/*! PPSWIDTH3 - PPS Output Signal Width These bits store the width between the rising edge and + * corresponding falling edge of PPS0 signal output. + */ +#define ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_SHIFT)) & ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_MASK) +/*! @} */ + +/*! @name MAC_PTO_CONTROL - PTP Offload Engine Control */ +/*! @{ */ + +#define ENET_QOS_MAC_PTO_CONTROL_PTOEN_MASK (0x1U) +#define ENET_QOS_MAC_PTO_CONTROL_PTOEN_SHIFT (0U) +/*! PTOEN - PTP Offload Enable When this bit is set, the PTP Offload feature is enabled. + * 0b0..PTP Offload feature is disabled + * 0b1..PTP Offload feature is enabled + */ +#define ENET_QOS_MAC_PTO_CONTROL_PTOEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_PTOEN_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_PTOEN_MASK) + +#define ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_MASK (0x2U) +#define ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_SHIFT (1U) +/*! ASYNCEN - Automatic PTP SYNC message Enable When this bit is set, PTP SYNC message is generated + * periodically based on interval programmed or trigger from application, when the MAC is + * programmed to be in Clock Master mode. + * 0b0..Automatic PTP SYNC message is disabled + * 0b1..Automatic PTP SYNC message is enabled + */ +#define ENET_QOS_MAC_PTO_CONTROL_ASYNCEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_MASK) + +#define ENET_QOS_MAC_PTO_CONTROL_APDREQEN_MASK (0x4U) +#define ENET_QOS_MAC_PTO_CONTROL_APDREQEN_SHIFT (2U) +/*! APDREQEN - Automatic PTP Pdelay_Req message Enable When this bit is set, PTP Pdelay_Req message + * is generated periodically based on interval programmed or trigger from application, when the + * MAC is programmed to be in Peer-to-Peer Transparent mode. + * 0b0..Automatic PTP Pdelay_Req message is disabled + * 0b1..Automatic PTP Pdelay_Req message is enabled + */ +#define ENET_QOS_MAC_PTO_CONTROL_APDREQEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_APDREQEN_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_APDREQEN_MASK) + +#define ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_MASK (0x10U) +#define ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_SHIFT (4U) +/*! ASYNCTRIG - Automatic PTP SYNC message Trigger When this bit is set, one PTP SYNC message is transmitted. + * 0b0..Automatic PTP SYNC message Trigger is disabled + * 0b1..Automatic PTP SYNC message Trigger is enabled + */ +#define ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_MASK) + +#define ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_MASK (0x20U) +#define ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_SHIFT (5U) +/*! APDREQTRIG - Automatic PTP Pdelay_Req message Trigger When this bit is set, one PTP Pdelay_Req message is transmitted. + * 0b0..Automatic PTP Pdelay_Req message Trigger is disabled + * 0b1..Automatic PTP Pdelay_Req message Trigger is enabled + */ +#define ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_MASK) + +#define ENET_QOS_MAC_PTO_CONTROL_DRRDIS_MASK (0x40U) +#define ENET_QOS_MAC_PTO_CONTROL_DRRDIS_SHIFT (6U) +/*! DRRDIS - Disable PTO Delay Request/Response response generation When this bit is set, the Delay + * Request and Delay response is not generated for received SYNC and Delay request packet + * respectively, as required by the programmed mode. + * 0b0..PTO Delay Request/Response response generation is enabled + * 0b1..PTO Delay Request/Response response generation is disabled + */ +#define ENET_QOS_MAC_PTO_CONTROL_DRRDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_DRRDIS_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_DRRDIS_MASK) + +#define ENET_QOS_MAC_PTO_CONTROL_PDRDIS_MASK (0x80U) +#define ENET_QOS_MAC_PTO_CONTROL_PDRDIS_SHIFT (7U) +/*! PDRDIS - Disable Peer Delay Response response generation When this bit is set, the Peer Delay + * Response (Pdelay_Resp) response is not be generated for received Peer Delay Request (Pdelay_Req) + * request packet, as required by the programmed mode. + * 0b0..Peer Delay Response response generation is enabled + * 0b1..Peer Delay Response response generation is disabled + */ +#define ENET_QOS_MAC_PTO_CONTROL_PDRDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_PDRDIS_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_PDRDIS_MASK) + +#define ENET_QOS_MAC_PTO_CONTROL_DN_MASK (0xFF00U) +#define ENET_QOS_MAC_PTO_CONTROL_DN_SHIFT (8U) +/*! DN - Domain Number This field indicates the domain Number in which the PTP node is operating. */ +#define ENET_QOS_MAC_PTO_CONTROL_DN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_DN_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_DN_MASK) +/*! @} */ + +/*! @name MAC_SOURCE_PORT_IDENTITY0 - Source Port Identity 0 */ +/*! @{ */ + +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_SHIFT (0U) +/*! SPI0 - Source Port Identity 0 This field indicates bits [31:0] of sourcePortIdentity of PTP node. */ +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_SHIFT)) & ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_MASK) +/*! @} */ + +/*! @name MAC_SOURCE_PORT_IDENTITY1 - Source Port Identity 1 */ +/*! @{ */ + +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_MASK (0xFFFFFFFFU) +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_SHIFT (0U) +/*! SPI1 - Source Port Identity 1 This field indicates bits [63:32] of sourcePortIdentity of PTP node. */ +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_SHIFT)) & ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_MASK) +/*! @} */ + +/*! @name MAC_SOURCE_PORT_IDENTITY2 - Source Port Identity 2 */ +/*! @{ */ + +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_MASK (0xFFFFU) +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_SHIFT (0U) +/*! SPI2 - Source Port Identity 2 This field indicates bits [79:64] of sourcePortIdentity of PTP node. */ +#define ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_SHIFT)) & ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_MASK) +/*! @} */ + +/*! @name MAC_LOG_MESSAGE_INTERVAL - Log Message Interval */ +/*! @{ */ + +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_MASK (0xFFU) +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_SHIFT (0U) +/*! LSI - Log Sync Interval This field indicates the periodicity of the automatically generated SYNC + * message when the PTP node is Master. + */ +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_SHIFT)) & ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_MASK) + +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_MASK (0x700U) +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_SHIFT (8U) +/*! DRSYNCR - Delay_Req to SYNC Ratio In Slave mode, it is used for controlling frequency of Delay_Req messages transmitted. + * 0b000..DelayReq generated for every received SYNC + * 0b001..DelayReq generated every alternate reception of SYNC + * 0b010..for every 4 SYNC messages + * 0b011..for every 8 SYNC messages + * 0b100..for every 16 SYNC messages + * 0b101..for every 32 SYNC messages + * 0b110..Reserved + */ +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_SHIFT)) & ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_MASK) + +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_MASK (0xFF000000U) +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_SHIFT (24U) +/*! LMPDRI - Log Min Pdelay_Req Interval This field indicates logMinPdelayReqInterval of PTP node. */ +#define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_SHIFT)) & ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_MASK) +/*! @} */ + +/*! @name MTL_OPERATION_MODE - MTL Operation Mode */ +/*! @{ */ + +#define ENET_QOS_MTL_OPERATION_MODE_DTXSTS_MASK (0x2U) +#define ENET_QOS_MTL_OPERATION_MODE_DTXSTS_SHIFT (1U) +/*! DTXSTS - Drop Transmit Status When this bit is set, the Tx packet status received from the MAC is dropped in the MTL. + * 0b0..Drop Transmit Status is disabled + * 0b1..Drop Transmit Status is enabled + */ +#define ENET_QOS_MTL_OPERATION_MODE_DTXSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_DTXSTS_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_DTXSTS_MASK) + +#define ENET_QOS_MTL_OPERATION_MODE_RAA_MASK (0x4U) +#define ENET_QOS_MTL_OPERATION_MODE_RAA_SHIFT (2U) +/*! RAA - Receive Arbitration Algorithm This field is used to select the arbitration algorithm for the Rx side. + * 0b0..Strict priority (SP) + * 0b1..Weighted Strict Priority (WSP) + */ +#define ENET_QOS_MTL_OPERATION_MODE_RAA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_RAA_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_RAA_MASK) + +#define ENET_QOS_MTL_OPERATION_MODE_SCHALG_MASK (0x60U) +#define ENET_QOS_MTL_OPERATION_MODE_SCHALG_SHIFT (5U) +/*! SCHALG - Tx Scheduling Algorithm This field indicates the algorithm for Tx scheduling: + * 0b00..WRR algorithm + * 0b01..WFQ algorithm when DCB feature is selected.Otherwise, Reserved + * 0b10..DWRR algorithm when DCB feature is selected.Otherwise, Reserved + * 0b11..Strict priority algorithm + */ +#define ENET_QOS_MTL_OPERATION_MODE_SCHALG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_SCHALG_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_SCHALG_MASK) + +#define ENET_QOS_MTL_OPERATION_MODE_CNTPRST_MASK (0x100U) +#define ENET_QOS_MTL_OPERATION_MODE_CNTPRST_SHIFT (8U) +/*! CNTPRST - Counters Preset When this bit is set, - MTL_TxQ[0-7]_Underflow register is initialized/preset to 12'h7F0. + * 0b0..Counters Preset is disabled + * 0b1..Counters Preset is enabled + */ +#define ENET_QOS_MTL_OPERATION_MODE_CNTPRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_CNTPRST_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_CNTPRST_MASK) + +#define ENET_QOS_MTL_OPERATION_MODE_CNTCLR_MASK (0x200U) +#define ENET_QOS_MTL_OPERATION_MODE_CNTCLR_SHIFT (9U) +/*! CNTCLR - Counters Reset When this bit is set, all counters are reset. + * 0b0..Counters are not reset + * 0b1..All counters are reset + */ +#define ENET_QOS_MTL_OPERATION_MODE_CNTCLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_CNTCLR_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_CNTCLR_MASK) + +#define ENET_QOS_MTL_OPERATION_MODE_FRPE_MASK (0x8000U) +#define ENET_QOS_MTL_OPERATION_MODE_FRPE_SHIFT (15U) +/*! FRPE - Flexible Rx parser Enable When this bit is set to 1, the Programmable Rx Parser functionality is enabled. + * 0b0..Flexible Rx parser is disabled + * 0b1..Flexible Rx parser is enabled + */ +#define ENET_QOS_MTL_OPERATION_MODE_FRPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_FRPE_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_FRPE_MASK) +/*! @} */ + +/*! @name MTL_DBG_CTL - FIFO Debug Access Control and Status */ +/*! @{ */ + +#define ENET_QOS_MTL_DBG_CTL_FDBGEN_MASK (0x1U) +#define ENET_QOS_MTL_DBG_CTL_FDBGEN_SHIFT (0U) +/*! FDBGEN - FIFO Debug Access Enable When this bit is set, it indicates that the debug mode access to the FIFO is enabled. + * 0b0..FIFO Debug Access is disabled + * 0b1..FIFO Debug Access is enabled + */ +#define ENET_QOS_MTL_DBG_CTL_FDBGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_FDBGEN_SHIFT)) & ENET_QOS_MTL_DBG_CTL_FDBGEN_MASK) + +#define ENET_QOS_MTL_DBG_CTL_DBGMOD_MASK (0x2U) +#define ENET_QOS_MTL_DBG_CTL_DBGMOD_SHIFT (1U) +/*! DBGMOD - Debug Mode Access to FIFO When this bit is set, it indicates that the current access to + * the FIFO is read, write, and debug access. + * 0b0..Debug Mode Access to FIFO is disabled + * 0b1..Debug Mode Access to FIFO is enabled + */ +#define ENET_QOS_MTL_DBG_CTL_DBGMOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_DBGMOD_SHIFT)) & ENET_QOS_MTL_DBG_CTL_DBGMOD_MASK) + +#define ENET_QOS_MTL_DBG_CTL_BYTEEN_MASK (0xCU) +#define ENET_QOS_MTL_DBG_CTL_BYTEEN_SHIFT (2U) +/*! BYTEEN - Byte Enables This field indicates the number of data bytes valid in the data register during Write operation. + * 0b00..Byte 0 valid + * 0b01..Byte 0 and Byte 1 are valid + * 0b10..Byte 0, Byte 1, and Byte 2 are valid + * 0b11..All four bytes are valid + */ +#define ENET_QOS_MTL_DBG_CTL_BYTEEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_BYTEEN_SHIFT)) & ENET_QOS_MTL_DBG_CTL_BYTEEN_MASK) + +#define ENET_QOS_MTL_DBG_CTL_PKTSTATE_MASK (0x60U) +#define ENET_QOS_MTL_DBG_CTL_PKTSTATE_SHIFT (5U) +/*! PKTSTATE - Encoded Packet State This field is used to write the control information to the Tx FIFO or Rx FIFO. + * 0b00..Packet Data + * 0b01..Control Word/Normal Status + * 0b10..SOP Data/Last Status + * 0b11..EOP Data/EOP + */ +#define ENET_QOS_MTL_DBG_CTL_PKTSTATE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_PKTSTATE_SHIFT)) & ENET_QOS_MTL_DBG_CTL_PKTSTATE_MASK) + +#define ENET_QOS_MTL_DBG_CTL_RSTALL_MASK (0x100U) +#define ENET_QOS_MTL_DBG_CTL_RSTALL_SHIFT (8U) +/*! RSTALL - Reset All Pointers When this bit is set, the pointers of all FIFOs are reset when FIFO Debug Access is enabled. + * 0b0..Reset All Pointers is disabled + * 0b1..Reset All Pointers is enabled + */ +#define ENET_QOS_MTL_DBG_CTL_RSTALL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_RSTALL_SHIFT)) & ENET_QOS_MTL_DBG_CTL_RSTALL_MASK) + +#define ENET_QOS_MTL_DBG_CTL_RSTSEL_MASK (0x200U) +#define ENET_QOS_MTL_DBG_CTL_RSTSEL_SHIFT (9U) +/*! RSTSEL - Reset Pointers of Selected FIFO When this bit is set, the pointers of the + * currently-selected FIFO are reset when FIFO Debug Access is enabled. + * 0b0..Reset Pointers of Selected FIFO is disabled + * 0b1..Reset Pointers of Selected FIFO is enabled + */ +#define ENET_QOS_MTL_DBG_CTL_RSTSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_RSTSEL_SHIFT)) & ENET_QOS_MTL_DBG_CTL_RSTSEL_MASK) + +#define ENET_QOS_MTL_DBG_CTL_FIFORDEN_MASK (0x400U) +#define ENET_QOS_MTL_DBG_CTL_FIFORDEN_SHIFT (10U) +/*! FIFORDEN - FIFO Read Enable When this bit is set, it enables the Read operation on selected FIFO when FIFO Debug Access is enabled. + * 0b0..FIFO Read is disabled + * 0b1..FIFO Read is enabled + */ +#define ENET_QOS_MTL_DBG_CTL_FIFORDEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_FIFORDEN_SHIFT)) & ENET_QOS_MTL_DBG_CTL_FIFORDEN_MASK) + +#define ENET_QOS_MTL_DBG_CTL_FIFOWREN_MASK (0x800U) +#define ENET_QOS_MTL_DBG_CTL_FIFOWREN_SHIFT (11U) +/*! FIFOWREN - FIFO Write Enable When this bit is set, it enables the Write operation on selected + * FIFO when FIFO Debug Access is enabled. + * 0b0..FIFO Write is disabled + * 0b1..FIFO Write is enabled + */ +#define ENET_QOS_MTL_DBG_CTL_FIFOWREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_FIFOWREN_SHIFT)) & ENET_QOS_MTL_DBG_CTL_FIFOWREN_MASK) + +#define ENET_QOS_MTL_DBG_CTL_FIFOSEL_MASK (0x3000U) +#define ENET_QOS_MTL_DBG_CTL_FIFOSEL_SHIFT (12U) +/*! FIFOSEL - FIFO Selected for Access This field indicates the FIFO selected for debug access: + * 0b00..Tx FIFO + * 0b01..Tx Status FIFO (only read access when SLVMOD is set) + * 0b10..TSO FIFO (cannot be accessed when SLVMOD is set) + * 0b11..Rx FIFO + */ +#define ENET_QOS_MTL_DBG_CTL_FIFOSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_FIFOSEL_SHIFT)) & ENET_QOS_MTL_DBG_CTL_FIFOSEL_MASK) + +#define ENET_QOS_MTL_DBG_CTL_PKTIE_MASK (0x4000U) +#define ENET_QOS_MTL_DBG_CTL_PKTIE_SHIFT (14U) +/*! PKTIE - Receive Packet Available Interrupt Status Enable When this bit is set, an interrupt is + * generated when EOP of received packet is written to the Rx FIFO. + * 0b0..Receive Packet Available Interrupt Status is disabled + * 0b1..Receive Packet Available Interrupt Status is enabled + */ +#define ENET_QOS_MTL_DBG_CTL_PKTIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_PKTIE_SHIFT)) & ENET_QOS_MTL_DBG_CTL_PKTIE_MASK) + +#define ENET_QOS_MTL_DBG_CTL_STSIE_MASK (0x8000U) +#define ENET_QOS_MTL_DBG_CTL_STSIE_SHIFT (15U) +/*! STSIE - Transmit Status Available Interrupt Status Enable When this bit is set, an interrupt is + * generated when Transmit status is available in slave mode. + * 0b0..Transmit Packet Available Interrupt Status is disabled + * 0b1..Transmit Packet Available Interrupt Status is enabled + */ +#define ENET_QOS_MTL_DBG_CTL_STSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_STSIE_SHIFT)) & ENET_QOS_MTL_DBG_CTL_STSIE_MASK) +/*! @} */ + +/*! @name MTL_DBG_STS - FIFO Debug Status */ +/*! @{ */ + +#define ENET_QOS_MTL_DBG_STS_FIFOBUSY_MASK (0x1U) +#define ENET_QOS_MTL_DBG_STS_FIFOBUSY_SHIFT (0U) +/*! FIFOBUSY - FIFO Busy When set, this bit indicates that a FIFO operation is in progress in the + * MAC and content of the following fields is not valid: - All other fields of this register - All + * fields of the MTL_FIFO_DEBUG_DATA register + * 0b0..FIFO Busy not detected + * 0b1..FIFO Busy detected + */ +#define ENET_QOS_MTL_DBG_STS_FIFOBUSY(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_FIFOBUSY_SHIFT)) & ENET_QOS_MTL_DBG_STS_FIFOBUSY_MASK) + +#define ENET_QOS_MTL_DBG_STS_PKTSTATE_MASK (0x6U) +#define ENET_QOS_MTL_DBG_STS_PKTSTATE_SHIFT (1U) +/*! PKTSTATE - Encoded Packet State This field is used to get the control or status information of the selected FIFO. + * 0b00..Packet Data + * 0b01..Control Word/Normal Status + * 0b10..SOP Data/Last Status + * 0b11..EOP Data/EOP + */ +#define ENET_QOS_MTL_DBG_STS_PKTSTATE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_PKTSTATE_SHIFT)) & ENET_QOS_MTL_DBG_STS_PKTSTATE_MASK) + +#define ENET_QOS_MTL_DBG_STS_BYTEEN_MASK (0x18U) +#define ENET_QOS_MTL_DBG_STS_BYTEEN_SHIFT (3U) +/*! BYTEEN - Byte Enables This field indicates the number of data bytes valid in the data register during Read operation. + * 0b00..Byte 0 valid + * 0b01..Byte 0 and Byte 1 are valid + * 0b10..Byte 0, Byte 1, and Byte 2 are valid + * 0b11..All four bytes are valid + */ +#define ENET_QOS_MTL_DBG_STS_BYTEEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_BYTEEN_SHIFT)) & ENET_QOS_MTL_DBG_STS_BYTEEN_MASK) + +#define ENET_QOS_MTL_DBG_STS_PKTI_MASK (0x100U) +#define ENET_QOS_MTL_DBG_STS_PKTI_SHIFT (8U) +/*! PKTI - Receive Packet Available Interrupt Status When set, this bit indicates that MAC layer has + * written the EOP of received packet to the Rx FIFO. + * 0b0..Receive Packet Available Interrupt Status not detected + * 0b1..Receive Packet Available Interrupt Status detected + */ +#define ENET_QOS_MTL_DBG_STS_PKTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_PKTI_SHIFT)) & ENET_QOS_MTL_DBG_STS_PKTI_MASK) + +#define ENET_QOS_MTL_DBG_STS_STSI_MASK (0x200U) +#define ENET_QOS_MTL_DBG_STS_STSI_SHIFT (9U) +/*! STSI - Transmit Status Available Interrupt Status When set, this bit indicates that the Slave + * mode Tx packet is transmitted, and the status is available in Tx Status FIFO. + * 0b0..Transmit Status Available Interrupt Status not detected + * 0b1..Transmit Status Available Interrupt Status detected + */ +#define ENET_QOS_MTL_DBG_STS_STSI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_STSI_SHIFT)) & ENET_QOS_MTL_DBG_STS_STSI_MASK) + +#define ENET_QOS_MTL_DBG_STS_LOCR_MASK (0xFFFF8000U) +#define ENET_QOS_MTL_DBG_STS_LOCR_SHIFT (15U) +/*! LOCR - Remaining Locations in the FIFO Slave Access Mode: This field indicates the space available in selected FIFO. */ +#define ENET_QOS_MTL_DBG_STS_LOCR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_LOCR_SHIFT)) & ENET_QOS_MTL_DBG_STS_LOCR_MASK) +/*! @} */ + +/*! @name MTL_FIFO_DEBUG_DATA - FIFO Debug Data */ +/*! @{ */ + +#define ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_MASK (0xFFFFFFFFU) +#define ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_SHIFT (0U) +/*! FDBGDATA - FIFO Debug Data During debug or slave access write operation, this field contains the + * data to be written to the Tx FIFO, Rx FIFO, or TSO FIFO. + */ +#define ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_SHIFT)) & ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_MASK) +/*! @} */ + +/*! @name MTL_INTERRUPT_STATUS - MTL Interrupt Status */ +/*! @{ */ + +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_MASK (0x1U) +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_SHIFT (0U) +/*! Q0IS - Queue 0 Interrupt status This bit indicates that there is an interrupt from Queue 0. + * 0b0..Queue 0 Interrupt status not detected + * 0b1..Queue 0 Interrupt status detected + */ +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_MASK) + +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_MASK (0x2U) +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_SHIFT (1U) +/*! Q1IS - Queue 1 Interrupt status This bit indicates that there is an interrupt from Queue 1. + * 0b0..Queue 1 Interrupt status not detected + * 0b1..Queue 1 Interrupt status detected + */ +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_MASK) + +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_MASK (0x4U) +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_SHIFT (2U) +/*! Q2IS - Queue 2 Interrupt status This bit indicates that there is an interrupt from Queue 2. + * 0b0..Queue 2 Interrupt status not detected + * 0b1..Queue 2 Interrupt status detected + */ +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_MASK) + +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_MASK (0x8U) +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_SHIFT (3U) +/*! Q3IS - Queue 3 Interrupt status This bit indicates that there is an interrupt from Queue 3. + * 0b0..Queue 3 Interrupt status not detected + * 0b1..Queue 3 Interrupt status detected + */ +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_MASK) + +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_MASK (0x10U) +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_SHIFT (4U) +/*! Q4IS - Queue 4 Interrupt status This bit indicates that there is an interrupt from Queue 4. + * 0b0..Queue 4 Interrupt status not detected + * 0b1..Queue 4 Interrupt status detected + */ +#define ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_MASK) + +#define ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_MASK (0x20000U) +#define ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_SHIFT (17U) +/*! DBGIS - Debug Interrupt status This bit indicates an interrupt event during the slave access. + * 0b0..Debug Interrupt status not detected + * 0b1..Debug Interrupt status detected + */ +#define ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_MASK) + +#define ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_MASK (0x40000U) +#define ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_SHIFT (18U) +/*! ESTIS - EST (TAS- 802. + * 0b0..EST (TAS- 802.1Qbv) Interrupt status not detected + * 0b1..EST (TAS- 802.1Qbv) Interrupt status detected + */ +#define ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_MASK) + +#define ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_MASK (0x800000U) +#define ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_SHIFT (23U) +/*! MTLPIS - MTL Rx Parser Interrupt Status This bit indicates that there is an interrupt from Rx Parser Block. + * 0b0..MTL Rx Parser Interrupt status not detected + * 0b1..MTL Rx Parser Interrupt status detected + */ +#define ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_MASK) +/*! @} */ + +/*! @name MTL_RXQ_DMA_MAP0 - Receive Queue and DMA Channel Mapping 0 */ +/*! @{ */ + +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_MASK (0x7U) +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_SHIFT (0U) +/*! Q0MDMACH - Queue 0 Mapped to DMA Channel This field controls the routing of the packet received + * in Queue 0 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2 + * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This + * field is valid when the Q0DDMACH field is reset. + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_MASK) + +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_MASK (0x10U) +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_SHIFT (4U) +/*! Q0DDMACH - Queue 0 Enabled for DA-based DMA Channel Selection When set, this bit indicates that + * the packets received in Queue 0 are routed to a particular DMA channel as decided in the MAC + * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the + * Ethernet DA address. + * 0b0..Queue 0 disabled for DA-based DMA Channel Selection + * 0b1..Queue 0 enabled for DA-based DMA Channel Selection + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_MASK) + +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_MASK (0x700U) +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_SHIFT (8U) +/*! Q1MDMACH - Queue 1 Mapped to DMA Channel This field controls the routing of the received packet + * in Queue 1 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2 + * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This + * field is valid when the Q1DDMACH field is reset. + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_MASK) + +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_MASK (0x1000U) +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_SHIFT (12U) +/*! Q1DDMACH - Queue 1 Enabled for DA-based DMA Channel Selection When set, this bit indicates that + * the packets received in Queue 1 are routed to a particular DMA channel as decided in the MAC + * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the + * Ethernet DA address. + * 0b0..Queue 1 disabled for DA-based DMA Channel Selection + * 0b1..Queue 1 enabled for DA-based DMA Channel Selection + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_MASK) + +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_MASK (0x70000U) +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_SHIFT (16U) +/*! Q2MDMACH - Queue 2 Mapped to DMA Channel This field controls the routing of the received packet + * in Queue 2 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2 + * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This + * field is valid when the Q2DDMACH field is reset. + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_MASK) + +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_MASK (0x100000U) +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_SHIFT (20U) +/*! Q2DDMACH - Queue 2 Enabled for DA-based DMA Channel Selection When set, this bit indicates that + * the packets received in Queue 2 are routed to a particular DMA channel as decided in the MAC + * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the + * Ethernet DA address. + * 0b0..Queue 2 disabled for DA-based DMA Channel Selection + * 0b1..Queue 2 enabled for DA-based DMA Channel Selection + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_MASK) + +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_MASK (0x7000000U) +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_SHIFT (24U) +/*! Q3MDMACH - Queue 3 Mapped to DMA Channel This field controls the routing of the received packet + * in Queue 3 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2 + * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This + * field is valid when the Q3DDMACH field is reset. + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_MASK) + +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_MASK (0x10000000U) +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_SHIFT (28U) +/*! Q3DDMACH - Queue 3 Enabled for Dynamic (per packet) DMA Channel Selection When set, this bit + * indicates that the packets received in Queue 3 are routed to a particular DMA channel as decided + * in the MAC Receiver based on the DMA channel number programmed in the L3-L4 filter registers, + * or the Ethernet DA address. + * 0b0..Queue 3 disabled for DA-based DMA Channel Selection + * 0b1..Queue 3 enabled for DA-based DMA Channel Selection + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_MASK) +/*! @} */ + +/*! @name MTL_RXQ_DMA_MAP1 - Receive Queue and DMA Channel Mapping 1 */ +/*! @{ */ + +#define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_MASK (0x7U) +#define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_SHIFT (0U) +/*! Q4MDMACH - Queue 4 Mapped to DMA Channel This field controls the routing of the packet received + * in Queue 4 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2 + * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This + * field is valid when the Q4DDMACH field is reset. + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_MASK) + +#define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_MASK (0x10U) +#define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_SHIFT (4U) +/*! Q4DDMACH - Queue 4 Enabled for DA-based DMA Channel Selection When set, this bit indicates that + * the packets received in Queue 4 are routed to a particular DMA channel as decided in the MAC + * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the + * Ethernet DA address. + * 0b0..Queue 4 disabled for DA-based DMA Channel Selection + * 0b1..Queue 4 enabled for DA-based DMA Channel Selection + */ +#define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_MASK) +/*! @} */ + +/*! @name MTL_TBS_CTRL - Time Based Scheduling Control */ +/*! @{ */ + +#define ENET_QOS_MTL_TBS_CTRL_ESTM_MASK (0x1U) +#define ENET_QOS_MTL_TBS_CTRL_ESTM_SHIFT (0U) +/*! ESTM - EST offset Mode When this bit is set, the Launch Time value used in Time Based Scheduling + * is interpreted as an EST offset value and is added to the Base Time Register (BTR) of the + * current list. + * 0b0..EST offset Mode is disabled + * 0b1..EST offset Mode is enabled + */ +#define ENET_QOS_MTL_TBS_CTRL_ESTM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TBS_CTRL_ESTM_SHIFT)) & ENET_QOS_MTL_TBS_CTRL_ESTM_MASK) + +#define ENET_QOS_MTL_TBS_CTRL_LEOV_MASK (0x2U) +#define ENET_QOS_MTL_TBS_CTRL_LEOV_SHIFT (1U) +/*! LEOV - Launch Expiry Offset Valid When set indicates the LEOS field is valid. + * 0b0..LEOS field is invalid + * 0b1..LEOS field is valid + */ +#define ENET_QOS_MTL_TBS_CTRL_LEOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TBS_CTRL_LEOV_SHIFT)) & ENET_QOS_MTL_TBS_CTRL_LEOV_MASK) + +#define ENET_QOS_MTL_TBS_CTRL_LEGOS_MASK (0x70U) +#define ENET_QOS_MTL_TBS_CTRL_LEGOS_SHIFT (4U) +/*! LEGOS - Launch Expiry GSN Offset The number GSN slots that has to be added to the Launch GSN to compute the Launch Expiry time. */ +#define ENET_QOS_MTL_TBS_CTRL_LEGOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TBS_CTRL_LEGOS_SHIFT)) & ENET_QOS_MTL_TBS_CTRL_LEGOS_MASK) + +#define ENET_QOS_MTL_TBS_CTRL_LEOS_MASK (0xFFFFFF00U) +#define ENET_QOS_MTL_TBS_CTRL_LEOS_SHIFT (8U) +/*! LEOS - Launch Expiry Offset The value in units of 256 nanoseconds that has to be added to the + * Launch time to compute the Launch Expiry time. + */ +#define ENET_QOS_MTL_TBS_CTRL_LEOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TBS_CTRL_LEOS_SHIFT)) & ENET_QOS_MTL_TBS_CTRL_LEOS_MASK) +/*! @} */ + +/*! @name MTL_EST_CONTROL - Enhancements to Scheduled Transmission Control */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_CONTROL_EEST_MASK (0x1U) +#define ENET_QOS_MTL_EST_CONTROL_EEST_SHIFT (0U) +/*! EEST - Enable EST When reset, the gate control list processing is halted and all gates are assumed to be in Open state. + * 0b0..EST is disabled + * 0b1..EST is enabled + */ +#define ENET_QOS_MTL_EST_CONTROL_EEST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_EEST_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_EEST_MASK) + +#define ENET_QOS_MTL_EST_CONTROL_SSWL_MASK (0x2U) +#define ENET_QOS_MTL_EST_CONTROL_SSWL_SHIFT (1U) +/*! SSWL - Switch to S/W owned list When set indicates that the software has programmed that list + * that it currently owns (SWOL) and the hardware should switch to the new list based on the new + * BTR. + * 0b0..Switch to S/W owned list is disabled + * 0b1..Switch to S/W owned list is enabled + */ +#define ENET_QOS_MTL_EST_CONTROL_SSWL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_SSWL_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_SSWL_MASK) + +#define ENET_QOS_MTL_EST_CONTROL_DDBF_MASK (0x10U) +#define ENET_QOS_MTL_EST_CONTROL_DDBF_SHIFT (4U) +/*! DDBF - Do not Drop frames during Frame Size Error When set, frames are not be dropped during + * Head-of-Line blocking due to Frame Size Error (HLBF field of MTL_EST_STATUS register). + * 0b0..Drop frames during Frame Size Error + * 0b1..Do not Drop frames during Frame Size Error + */ +#define ENET_QOS_MTL_EST_CONTROL_DDBF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_DDBF_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_DDBF_MASK) + +#define ENET_QOS_MTL_EST_CONTROL_DFBS_MASK (0x20U) +#define ENET_QOS_MTL_EST_CONTROL_DFBS_SHIFT (5U) +/*! DFBS - Drop Frames causing Scheduling Error When set frames reported to cause HOL Blocking due + * to not getting scheduled (HLBS field of EST_STATUS register) after 4,8,16,32 (based on LCSE + * field of this register) GCL iterations are dropped. + * 0b0..Do not Drop Frames causing Scheduling Error + * 0b1..Drop Frames causing Scheduling Error + */ +#define ENET_QOS_MTL_EST_CONTROL_DFBS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_DFBS_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_DFBS_MASK) + +#define ENET_QOS_MTL_EST_CONTROL_LCSE_MASK (0xC0U) +#define ENET_QOS_MTL_EST_CONTROL_LCSE_SHIFT (6U) +/*! LCSE - Loop Count to report Scheduling Error Programmable number of GCL list iterations before + * reporting an HLBS error defined in EST_STATUS register. + * 0b00..4 iterations + * 0b01..8 iterations + * 0b10..16 iterations + * 0b11..32 iterations + */ +#define ENET_QOS_MTL_EST_CONTROL_LCSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_LCSE_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_LCSE_MASK) + +#define ENET_QOS_MTL_EST_CONTROL_TILS_MASK (0x700U) +#define ENET_QOS_MTL_EST_CONTROL_TILS_SHIFT (8U) +/*! TILS - Time Interval Left Shift Amount This field provides the left shift amount for the + * programmed Time Interval values used in the Gate Control Lists. + */ +#define ENET_QOS_MTL_EST_CONTROL_TILS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_TILS_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_TILS_MASK) + +#define ENET_QOS_MTL_EST_CONTROL_CTOV_MASK (0xFFF000U) +#define ENET_QOS_MTL_EST_CONTROL_CTOV_SHIFT (12U) +/*! CTOV - Current Time Offset Value Provides a 12 bit time offset value in nano second that is + * added to the current time to compensate for all the implementation pipeline delays such as the CDC + * sync delay, buffering delays, data path delays etc. + */ +#define ENET_QOS_MTL_EST_CONTROL_CTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_CTOV_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_CTOV_MASK) + +#define ENET_QOS_MTL_EST_CONTROL_PTOV_MASK (0xFF000000U) +#define ENET_QOS_MTL_EST_CONTROL_PTOV_SHIFT (24U) +/*! PTOV - PTP Time Offset Value The value of PTP Clock period multiplied by 6 in nanoseconds. */ +#define ENET_QOS_MTL_EST_CONTROL_PTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_PTOV_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_PTOV_MASK) +/*! @} */ + +/*! @name MTL_EST_EXT_CONTROL - MTL_EST_EXT_CONTROL */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_EXT_CONTROL_OVHD_MASK (0x3FU) +#define ENET_QOS_MTL_EST_EXT_CONTROL_OVHD_SHIFT (0U) +/*! OVHD - Overhead Bytes Value */ +#define ENET_QOS_MTL_EST_EXT_CONTROL_OVHD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_EXT_CONTROL_OVHD_SHIFT)) & ENET_QOS_MTL_EST_EXT_CONTROL_OVHD_MASK) +/*! @} */ + +/*! @name MTL_EST_STATUS - Enhancements to Scheduled Transmission Status */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_STATUS_SWLC_MASK (0x1U) +#define ENET_QOS_MTL_EST_STATUS_SWLC_SHIFT (0U) +/*! SWLC - Switch to S/W owned list Complete When "1" indicates the hardware has successfully + * switched to the SWOL, and the SWOL bit has been updated to that effect. + * 0b0..Switch to S/W owned list Complete not detected + * 0b1..Switch to S/W owned list Complete detected + */ +#define ENET_QOS_MTL_EST_STATUS_SWLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_SWLC_SHIFT)) & ENET_QOS_MTL_EST_STATUS_SWLC_MASK) + +#define ENET_QOS_MTL_EST_STATUS_BTRE_MASK (0x2U) +#define ENET_QOS_MTL_EST_STATUS_BTRE_SHIFT (1U) +/*! BTRE - BTR Error When "1" indicates a programming error in the BTR of SWOL where the programmed + * value is less than current time. + * 0b0..BTR Error not detected + * 0b1..BTR Error detected + */ +#define ENET_QOS_MTL_EST_STATUS_BTRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_BTRE_SHIFT)) & ENET_QOS_MTL_EST_STATUS_BTRE_MASK) + +#define ENET_QOS_MTL_EST_STATUS_HLBF_MASK (0x4U) +#define ENET_QOS_MTL_EST_STATUS_HLBF_SHIFT (2U) +/*! HLBF - Head-Of-Line Blocking due to Frame Size Set when HOL Blocking is noticed on one or more + * Queues as a result of none of the Time Intervals of gate open in the GCL being greater than or + * equal to the duration needed for frame size (or frame fragment size when preemption is + * enabled) transmission. + * 0b0..Head-Of-Line Blocking due to Frame Size not detected + * 0b1..Head-Of-Line Blocking due to Frame Size detected + */ +#define ENET_QOS_MTL_EST_STATUS_HLBF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_HLBF_SHIFT)) & ENET_QOS_MTL_EST_STATUS_HLBF_MASK) + +#define ENET_QOS_MTL_EST_STATUS_HLBS_MASK (0x8U) +#define ENET_QOS_MTL_EST_STATUS_HLBS_SHIFT (3U) +/*! HLBS - Head-Of-Line Blocking due to Scheduling Set when the frame is not able to win arbitration + * and get scheduled even after 4 iterations of the GCL. + * 0b0..Head-Of-Line Blocking due to Scheduling not detected + * 0b1..Head-Of-Line Blocking due to Scheduling detected + */ +#define ENET_QOS_MTL_EST_STATUS_HLBS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_HLBS_SHIFT)) & ENET_QOS_MTL_EST_STATUS_HLBS_MASK) + +#define ENET_QOS_MTL_EST_STATUS_CGCE_MASK (0x10U) +#define ENET_QOS_MTL_EST_STATUS_CGCE_SHIFT (4U) +/*! CGCE - Constant Gate Control Error This error occurs when the list length (LLR) is 1 and the + * programmed Time Interval (TI) value after the optional Left Shifting is less than or equal to the + * Cycle Time (CTR). + * 0b0..Constant Gate Control Error not detected + * 0b1..Constant Gate Control Error detected + */ +#define ENET_QOS_MTL_EST_STATUS_CGCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_CGCE_SHIFT)) & ENET_QOS_MTL_EST_STATUS_CGCE_MASK) + +#define ENET_QOS_MTL_EST_STATUS_SWOL_MASK (0x80U) +#define ENET_QOS_MTL_EST_STATUS_SWOL_SHIFT (7U) +/*! SWOL - S/W owned list When '0' indicates Gate control list number "0" is owned by software and + * when "1" indicates the Gate Control list "1" is owned by the software. + * 0b0..Gate control list number "0" is owned by software + * 0b1..Gate control list number "1" is owned by software + */ +#define ENET_QOS_MTL_EST_STATUS_SWOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_SWOL_SHIFT)) & ENET_QOS_MTL_EST_STATUS_SWOL_MASK) + +#define ENET_QOS_MTL_EST_STATUS_BTRL_MASK (0xF00U) +#define ENET_QOS_MTL_EST_STATUS_BTRL_SHIFT (8U) +/*! BTRL - BTR Error Loop Count Provides the minimum count (N) for which the equation Current Time + * =< New BTR + (N * New Cycle Time) becomes true. + */ +#define ENET_QOS_MTL_EST_STATUS_BTRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_BTRL_SHIFT)) & ENET_QOS_MTL_EST_STATUS_BTRL_MASK) + +#define ENET_QOS_MTL_EST_STATUS_CGSN_MASK (0xF0000U) +#define ENET_QOS_MTL_EST_STATUS_CGSN_SHIFT (16U) +/*! CGSN - Current GCL Slot Number Indicates the slot number of the GCL list. */ +#define ENET_QOS_MTL_EST_STATUS_CGSN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_CGSN_SHIFT)) & ENET_QOS_MTL_EST_STATUS_CGSN_MASK) +/*! @} */ + +/*! @name MTL_EST_SCH_ERROR - EST Scheduling Error */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_SCH_ERROR_SEQN_MASK (0x1FU) +#define ENET_QOS_MTL_EST_SCH_ERROR_SEQN_SHIFT (0U) +/*! SEQN - Schedule Error Queue Number The One Hot Encoded Queue Numbers that have experienced + * error/timeout described in HLBS field of status register. + */ +#define ENET_QOS_MTL_EST_SCH_ERROR_SEQN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_SCH_ERROR_SEQN_SHIFT)) & ENET_QOS_MTL_EST_SCH_ERROR_SEQN_MASK) +/*! @} */ + +/*! @name MTL_EST_FRM_SIZE_ERROR - EST Frame Size Error */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_MASK (0x1FU) +#define ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_SHIFT (0U) +/*! FEQN - Frame Size Error Queue Number The One Hot Encoded Queue Numbers that have experienced + * error described in HLBF field of status register. + */ +#define ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_SHIFT)) & ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_MASK) +/*! @} */ + +/*! @name MTL_EST_FRM_SIZE_CAPTURE - EST Frame Size Capture */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_MASK (0x7FFFU) +#define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_SHIFT (0U) +/*! HBFS - Frame Size of HLBF Captures the Frame Size of the dropped frame related to queue number + * indicated in HBFQ field of this register. + */ +#define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_SHIFT)) & ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_MASK) + +#define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_MASK (0x70000U) +#define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_SHIFT (16U) +/*! HBFQ - Queue Number of HLBF Captures the binary value of the of the first Queue (number) + * experiencing HLBF error (see HLBF field of status register). + */ +#define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_SHIFT)) & ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_MASK) +/*! @} */ + +/*! @name MTL_EST_INTR_ENABLE - EST Interrupt Enable */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_INTR_ENABLE_IECC_MASK (0x1U) +#define ENET_QOS_MTL_EST_INTR_ENABLE_IECC_SHIFT (0U) +/*! IECC - Interrupt Enable for Switch List When set, generates interrupt when the configuration + * change is successful and the hardware has switched to the new list. + * 0b0..Interrupt for Switch List is disabled + * 0b1..Interrupt for Switch List is enabled + */ +#define ENET_QOS_MTL_EST_INTR_ENABLE_IECC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_IECC_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_IECC_MASK) + +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_MASK (0x2U) +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_SHIFT (1U) +/*! IEBE - Interrupt Enable for BTR Error When set, generates interrupt when the BTR Error occurs and is indicated in the status. + * 0b0..Interrupt for BTR Error is disabled + * 0b1..Interrupt for BTR Error is enabled + */ +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEBE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_MASK) + +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_MASK (0x4U) +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_SHIFT (2U) +/*! IEHF - Interrupt Enable for HLBF When set, generates interrupt when the Head-of-Line Blocking + * due to Frame Size error occurs and is indicated in the status. + * 0b0..Interrupt for HLBF is disabled + * 0b1..Interrupt for HLBF is enabled + */ +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEHF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_MASK) + +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_MASK (0x8U) +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_SHIFT (3U) +/*! IEHS - Interrupt Enable for HLBS When set, generates interrupt when the Head-of-Line Blocking + * due to Scheduling issue and is indicated in the status. + * 0b0..Interrupt for HLBS is disabled + * 0b1..Interrupt for HLBS is enabled + */ +#define ENET_QOS_MTL_EST_INTR_ENABLE_IEHS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_MASK) + +#define ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_MASK (0x10U) +#define ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_SHIFT (4U) +/*! CGCE - Interrupt Enable for CGCE When set, generates interrupt when the Constant Gate Control + * Error occurs and is indicated in the status. + * 0b0..Interrupt for CGCE is disabled + * 0b1..Interrupt for CGCE is enabled + */ +#define ENET_QOS_MTL_EST_INTR_ENABLE_CGCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_MASK) +/*! @} */ + +/*! @name MTL_EST_GCL_CONTROL - EST GCL Control */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_MASK (0x1U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_SHIFT (0U) +/*! SRWO - Start Read/Write Op When set indicates a Read/Write Op has started and is in progress. + * 0b0..Start Read/Write Op disabled + * 0b1..Start Read/Write Op enabled + */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_SRWO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_MASK) + +#define ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_MASK (0x2U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_SHIFT (1U) +/*! R1W0 - Read '1', Write '0': When set to '1': Read Operation When set to '0': Write Operation. + * 0b0..Write Operation + * 0b1..Read Operation + */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_R1W0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_MASK) + +#define ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_MASK (0x4U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_SHIFT (2U) +/*! GCRR - Gate Control Related Registers When set to "1" indicates the R/W access is for the GCL + * related registers (BTR, CTR, TER, LLR) whose address is provided by GCRA. + * 0b0..Gate Control Related Registers are disabled + * 0b1..Gate Control Related Registers are enabled + */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_GCRR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_MASK) + +#define ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_MASK (0x10U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_SHIFT (4U) +/*! DBGM - Debug Mode When set to "1" indicates R/W in debug mode where the memory bank (for GCL and + * Time related registers) is explicitly provided by DBGB value, when set to "0" SWOL bit is + * used to determine which bank to use. + * 0b0..Debug Mode is disabled + * 0b1..Debug Mode is enabled + */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_DBGM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_MASK) + +#define ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_MASK (0x20U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_SHIFT (5U) +/*! DBGB - Debug Mode Bank Select When set to "0" indicates R/W in debug mode should be directed to + * Bank 0 (GCL0 and corresponding Time related registers). + * 0b0..R/W in debug mode should be directed to Bank 0 + * 0b1..R/W in debug mode should be directed to Bank 1 + */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_DBGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_MASK) + +#define ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_MASK (0x1FF00U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_SHIFT (8U) +/*! ADDR - Gate Control List Address: (GCLA when GCRR is "0"). */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_MASK) + +#define ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_MASK (0x100000U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_SHIFT (20U) +/*! ERR0 - When set indicates the last write operation was aborted as software writes to GCL and GCL + * registers is prohibited when SSWL bit of MTL_EST_CONTROL Register is set. + * 0b0..ERR0 is disabled + * 0b1..ERR1 is enabled + */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_ERR0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_MASK) + +#define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_MASK (0x200000U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_SHIFT (21U) +/*! ESTEIEE - EST ECC Inject Error Enable When set along with EEST bit of MTL_EST_CONTROL register, + * enables the ECC error injection feature. + * 0b0..EST ECC Inject Error is disabled + * 0b1..EST ECC Inject Error is enabled + */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_MASK) + +#define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_MASK (0xC00000U) +#define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_SHIFT (22U) +/*! ESTEIEC - ECC Inject Error Control for EST Memory When EIEE bit of this register is set, + * following are the errors inserted based on the value encoded in this field. + * 0b00..Insert 1 bit error + * 0b01..Insert 2 bit errors + * 0b10..Insert 3 bit errors + * 0b11..Insert 1 bit error in address field + */ +#define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_MASK) +/*! @} */ + +/*! @name MTL_EST_GCL_DATA - EST GCL Data */ +/*! @{ */ + +#define ENET_QOS_MTL_EST_GCL_DATA_GCD_MASK (0xFFFFFFFFU) +#define ENET_QOS_MTL_EST_GCL_DATA_GCD_SHIFT (0U) +/*! GCD - Gate Control Data The data corresponding to the address selected in the MTL_GCL_CONTROL register. */ +#define ENET_QOS_MTL_EST_GCL_DATA_GCD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_DATA_GCD_SHIFT)) & ENET_QOS_MTL_EST_GCL_DATA_GCD_MASK) +/*! @} */ + +/*! @name MTL_FPE_CTRL_STS - Frame Preemption Control and Status */ +/*! @{ */ + +#define ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_MASK (0x3U) +#define ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_SHIFT (0U) +/*! AFSZ - Additional Fragment Size used to indicate, in units of 64 bytes, the minimum number of + * bytes over 64 bytes required in non-final fragments of preempted frames. + */ +#define ENET_QOS_MTL_FPE_CTRL_STS_AFSZ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_SHIFT)) & ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_MASK) + +#define ENET_QOS_MTL_FPE_CTRL_STS_PEC_MASK (0x1F00U) +#define ENET_QOS_MTL_FPE_CTRL_STS_PEC_SHIFT (8U) +/*! PEC - Preemption Classification When set indicates the corresponding Queue must be classified as + * preemptable, when '0' Queue is classified as express. + */ +#define ENET_QOS_MTL_FPE_CTRL_STS_PEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_CTRL_STS_PEC_SHIFT)) & ENET_QOS_MTL_FPE_CTRL_STS_PEC_MASK) + +#define ENET_QOS_MTL_FPE_CTRL_STS_HRS_MASK (0x10000000U) +#define ENET_QOS_MTL_FPE_CTRL_STS_HRS_SHIFT (28U) +/*! HRS - Hold/Release Status - 1: Indicates a Set-and-Hold-MAC operation was last executed and the pMAC is in Hold State. + * 0b0..Indicates a Set-and-Release-MAC operation was last executed and the pMAC is in Release State + * 0b1..Indicates a Set-and-Hold-MAC operation was last executed and the pMAC is in Hold State + */ +#define ENET_QOS_MTL_FPE_CTRL_STS_HRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_CTRL_STS_HRS_SHIFT)) & ENET_QOS_MTL_FPE_CTRL_STS_HRS_MASK) +/*! @} */ + +/*! @name MTL_FPE_ADVANCE - Frame Preemption Hold and Release Advance */ +/*! @{ */ + +#define ENET_QOS_MTL_FPE_ADVANCE_HADV_MASK (0xFFFFU) +#define ENET_QOS_MTL_FPE_ADVANCE_HADV_SHIFT (0U) +/*! HADV - Hold Advance The maximum time in nanoseconds that can elapse between issuing a HOLD to + * the MAC and the MAC ceasing to transmit any preemptable frame that is in the process of + * transmission or any preemptable frames that are queued for transmission. + */ +#define ENET_QOS_MTL_FPE_ADVANCE_HADV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_ADVANCE_HADV_SHIFT)) & ENET_QOS_MTL_FPE_ADVANCE_HADV_MASK) + +#define ENET_QOS_MTL_FPE_ADVANCE_RADV_MASK (0xFFFF0000U) +#define ENET_QOS_MTL_FPE_ADVANCE_RADV_SHIFT (16U) +/*! RADV - Release Advance The maximum time in nanoseconds that can elapse between issuing a RELEASE + * to the MAC and the MAC being ready to resume transmission of preemptable frames, in the + * absence of there being any express frames available for transmission. + */ +#define ENET_QOS_MTL_FPE_ADVANCE_RADV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_ADVANCE_RADV_SHIFT)) & ENET_QOS_MTL_FPE_ADVANCE_RADV_MASK) +/*! @} */ + +/*! @name MTL_RXP_CONTROL_STATUS - RXP Control Status */ +/*! @{ */ + +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_MASK (0xFFU) +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_SHIFT (0U) +/*! NVE - Number of valid entries in the Instruction table This control indicates the number of + * valid entries in the Instruction Memory. + */ +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_SHIFT)) & ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_MASK) + +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_MASK (0xFF0000U) +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_SHIFT (16U) +/*! NPE - Number of parsable entries in the Instruction table This control indicates the number of + * parsable entries in the Instruction Memory. + */ +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_SHIFT)) & ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_MASK) + +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_MASK (0x80000000U) +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_SHIFT (31U) +/*! RXPI - RX Parser in Idle state This status bit is set to 1 when the Rx parser is in Idle State + * and waiting for a new packet for processing. + * 0b0..RX Parser not in Idle state + * 0b1..RX Parser in Idle state + */ +#define ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_SHIFT)) & ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_MASK) +/*! @} */ + +/*! @name MTL_RXP_INTERRUPT_CONTROL_STATUS - RXP Interrupt Control Status */ +/*! @{ */ + +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_MASK (0x1U) +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_SHIFT (0U) +/*! NVEOVIS - Number of Valid Entries Overflow Interrupt Status While parsing if the Instruction + * address found to be more than NVE (Number of Valid Entries in MTL_RXP_CONTROL register), then + * this bit is set to 1. + * 0b0..Number of Valid Entries Overflow Interrupt Status not detected + * 0b1..Number of Valid Entries Overflow Interrupt Status detected + */ +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_MASK) + +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_MASK (0x2U) +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_SHIFT (1U) +/*! NPEOVIS - Number of Parsable Entries Overflow Interrupt Status While parsing a packet if the + * number of parsed entries found to be more than NPE[] (Number of Parseable Entries in + * MTL_RXP_CONTROL register),then this bit is set to 1. + * 0b0..Number of Parsable Entries Overflow Interrupt Status not detected + * 0b1..Number of Parsable Entries Overflow Interrupt Status detected + */ +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_MASK) + +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_MASK (0x4U) +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_SHIFT (2U) +/*! FOOVIS - Frame Offset Overflow Interrupt Status While parsing if the Instruction table entry's + * 'Frame Offset' found to be more than EOF offset, then then this bit is set. + * 0b0..Frame Offset Overflow Interrupt Status not detected + * 0b1..Frame Offset Overflow Interrupt Status detected + */ +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_MASK) + +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_MASK (0x8U) +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_SHIFT (3U) +/*! PDRFIS - Packet Dropped due to RF Interrupt Status If the Rx Parser result says to drop the + * packet by setting RF=1 in the instruction memory, then this bit is set to 1. + * 0b0..Packet Dropped due to RF Interrupt Status not detected + * 0b1..Packet Dropped due to RF Interrupt Status detected + */ +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_MASK) + +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_MASK (0x10000U) +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_SHIFT (16U) +/*! NVEOVIE - Number of Valid Entries Overflow Interrupt Enable When this bit is set, the NVEOVIS interrupt is enabled. + * 0b0..Number of Valid Entries Overflow Interrupt is disabled + * 0b1..Number of Valid Entries Overflow Interrupt is enabled + */ +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_MASK) + +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_MASK (0x20000U) +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_SHIFT (17U) +/*! NPEOVIE - Number of Parsable Entries Overflow Interrupt Enable When this bit is set, the NPEOVIS interrupt is enabled. + * 0b0..Number of Parsable Entries Overflow Interrupt is disabled + * 0b1..Number of Parsable Entries Overflow Interrupt is enabled + */ +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_MASK) + +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_MASK (0x40000U) +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_SHIFT (18U) +/*! FOOVIE - Frame Offset Overflow Interrupt Enable When this bit is set, the FOOVIS interrupt is enabled. + * 0b0..Frame Offset Overflow Interrupt is disabled + * 0b1..Frame Offset Overflow Interrupt is enabled + */ +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_MASK) + +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_MASK (0x80000U) +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_SHIFT (19U) +/*! PDRFIE - Packet Drop due to RF Interrupt Enable When this bit is set, the PDRFIS interrupt is enabled. + * 0b0..Packet Drop due to RF Interrupt is disabled + * 0b1..Packet Drop due to RF Interrupt is enabled + */ +#define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_MASK) +/*! @} */ + +/*! @name MTL_RXP_DROP_CNT - RXP Drop Count */ +/*! @{ */ + +#define ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_MASK (0x7FFFFFFFU) +#define ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_SHIFT (0U) +/*! RXPDC - Rx Parser Drop count This 31-bit counter is implemented whenever a Rx Parser Drops a packet due to RF =1. */ +#define ENET_QOS_MTL_RXP_DROP_CNT_RXPDC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_SHIFT)) & ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_MASK) + +#define ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_MASK (0x80000000U) +#define ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_SHIFT (31U) +/*! RXPDCOVF - Rx Parser Drop Counter Overflow Bit When set, this bit indicates that the + * MTL_RXP_DROP_CNT (RXPDC) Counter field crossed the maximum limit. + * 0b0..Rx Parser Drop count overflow not occurred + * 0b1..Rx Parser Drop count overflow occurred + */ +#define ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_SHIFT)) & ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_MASK) +/*! @} */ + +/*! @name MTL_RXP_ERROR_CNT - RXP Error Count */ +/*! @{ */ + +#define ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_MASK (0x7FFFFFFFU) +#define ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_SHIFT (0U) +/*! RXPEC - Rx Parser Error count This 31-bit counter is implemented whenever a Rx Parser encounters + * following Error scenarios - Entry address >= NVE[] - Number Parsed Entries >= NPE[] - Entry + * address > EOF data entry address The counter is cleared when the register is read. + */ +#define ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_SHIFT)) & ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_MASK) + +#define ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_MASK (0x80000000U) +#define ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_SHIFT (31U) +/*! RXPECOVF - Rx Parser Error Counter Overflow Bit When set, this bit indicates that the + * MTL_RXP_ERROR_CNT (RXPEC) Counter field crossed the maximum limit. + * 0b0..Rx Parser Error count overflow not occurred + * 0b1..Rx Parser Error count overflow occurred + */ +#define ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_SHIFT)) & ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_MASK) +/*! @} */ + +/*! @name MTL_RXP_INDIRECT_ACC_CONTROL_STATUS - RXP Indirect Access Control and Status */ +/*! @{ */ + +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_MASK (0x3FFU) +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_SHIFT (0U) +/*! ADDR - FRP Instruction Table Offset Address This field indicates the ADDR of the 32-bit entry in Rx parser instruction table. */ +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_SHIFT)) & ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_MASK) + +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_MASK (0x10000U) +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_SHIFT (16U) +/*! WRRDN - Read Write Control When this bit is set to 1 indicates the write operation to the Rx Parser Memory. + * 0b0..Read operation to the Rx Parser Memory + * 0b1..Write operation to the Rx Parser Memory + */ +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_SHIFT)) & ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_MASK) + +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_MASK (0x80000000U) +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_SHIFT (31U) +/*! STARTBUSY - FRP Instruction Table Access Busy When this bit is set to 1 by the software then it + * indicates to start the Read/Write operation from/to the Rx Parser Memory. + * 0b0..hardware not busy + * 0b1..hardware is busy (Read/Write operation from/to the Rx Parser Memory) + */ +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_SHIFT)) & ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_MASK) +/*! @} */ + +/*! @name MTL_RXP_INDIRECT_ACC_DATA - RXP Indirect Access Data */ +/*! @{ */ + +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_MASK (0xFFFFFFFFU) +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_SHIFT (0U) +/*! DATA - FRP Instruction Table Write/Read Data Software should write this register before issuing any write command. */ +#define ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_SHIFT)) & ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_MASK) +/*! @} */ + +/*! @name MTL_RXP_BYPASS_CNT - MTL_RXP_BYPASS_CNT */ +/*! @{ */ + +#define ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBC_MASK (0x7FFFFFFFU) +#define ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBC_SHIFT (0U) +/*! RXPBC - Rx Parser Bypass Count */ +#define ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBC_SHIFT)) & ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBC_MASK) + +#define ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBCOF_MASK (0x80000000U) +#define ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBCOF_SHIFT (31U) +/*! RXPBCOF - Rx Parser bypass Counter Overflow Bit. Access restriction applies. Clears on read. Self-set to 1 on internal event. + * 0b0..Indicates that MTL_RXP_BYPASS_CNT[RXPBC] counter field has not crossed the maximum limit + * 0b1..Indicates that MTL_RXP_BYPASS_CNT[RXPBC] counter field has crossed the maximum limit + */ +#define ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBCOF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBCOF_SHIFT)) & ENET_QOS_MTL_RXP_BYPASS_CNT_RXPBCOF_MASK) +/*! @} */ + +/*! @name MTL_TXQX_OP_MODE - Queue 0 Transmit Operation Mode..Queue 4 Transmit Operation Mode */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_OP_MODE_FTQ_MASK (0x1U) +#define ENET_QOS_MTL_TXQX_OP_MODE_FTQ_SHIFT (0U) +/*! FTQ - Flush Transmit Queue When this bit is set, the Tx queue controller logic is reset to its default values. + * 0b0..Flush Transmit Queue is disabled + * 0b1..Flush Transmit Queue is enabled + */ +#define ENET_QOS_MTL_TXQX_OP_MODE_FTQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_FTQ_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_FTQ_MASK) + +#define ENET_QOS_MTL_TXQX_OP_MODE_TSF_MASK (0x2U) +#define ENET_QOS_MTL_TXQX_OP_MODE_TSF_SHIFT (1U) +/*! TSF - Transmit Store and Forward When this bit is set, the transmission starts when a full packet resides in the MTL Tx queue. + * 0b0..Transmit Store and Forward is disabled + * 0b1..Transmit Store and Forward is enabled + */ +#define ENET_QOS_MTL_TXQX_OP_MODE_TSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_TSF_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_TSF_MASK) + +#define ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_MASK (0xCU) +#define ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_SHIFT (2U) +/*! TXQEN - Transmit Queue Enable This field is used to enable/disable the transmit queue 0. + * 0b00..Not enabled + * 0b01..Enable in AV mode (Reserved in non-AV) + * 0b10..Enabled + * 0b11..Reserved + */ +#define ENET_QOS_MTL_TXQX_OP_MODE_TXQEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_MASK) + +#define ENET_QOS_MTL_TXQX_OP_MODE_TTC_MASK (0x70U) +#define ENET_QOS_MTL_TXQX_OP_MODE_TTC_SHIFT (4U) +/*! TTC - Transmit Threshold Control These bits control the threshold level of the MTL Tx Queue. + * 0b000..32 + * 0b001..64 + * 0b010..96 + * 0b011..128 + * 0b100..192 + * 0b101..256 + * 0b110..384 + * 0b111..512 + */ +#define ENET_QOS_MTL_TXQX_OP_MODE_TTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_TTC_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_TTC_MASK) + +#define ENET_QOS_MTL_TXQX_OP_MODE_TQS_MASK (0x1F0000U) +#define ENET_QOS_MTL_TXQX_OP_MODE_TQS_SHIFT (16U) +/*! TQS - Transmit Queue Size This field indicates the size of the allocated Transmit queues in blocks of 256 bytes. */ +#define ENET_QOS_MTL_TXQX_OP_MODE_TQS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_TQS_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_TQS_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_OP_MODE */ +#define ENET_QOS_MTL_TXQX_OP_MODE_COUNT (5U) + +/*! @name MTL_TXQX_UNDRFLW - Queue 0 Underflow Counter..Queue 4 Underflow Counter */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_MASK (0x7FFU) +#define ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_SHIFT (0U) +/*! UFFRMCNT - Underflow Packet Counter This field indicates the number of packets aborted by the + * controller because of Tx Queue Underflow. + */ +#define ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_SHIFT)) & ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_MASK) + +#define ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_MASK (0x800U) +#define ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_SHIFT (11U) +/*! UFCNTOVF - Overflow Bit for Underflow Packet Counter This bit is set every time the Tx queue + * Underflow Packet Counter field overflows, that is, it has crossed the maximum count. + * 0b0..Overflow not detected for Underflow Packet Counter + * 0b1..Overflow detected for Underflow Packet Counter + */ +#define ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_SHIFT)) & ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_UNDRFLW */ +#define ENET_QOS_MTL_TXQX_UNDRFLW_COUNT (5U) + +/*! @name MTL_TXQX_DBG - Queue 0 Transmit Debug..Queue 4 Transmit Debug */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_MASK (0x1U) +#define ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_SHIFT (0U) +/*! TXQPAUSED - Transmit Queue in Pause When this bit is high and the Rx flow control is enabled, it + * indicates that the Tx Queue is in the Pause condition (in the full-duplex only mode) because + * of the following: - Reception of the PFC packet for the priorities assigned to the Tx Queue + * when PFC is enabled - Reception of 802. + * 0b0..Transmit Queue in Pause status is not detected + * 0b1..Transmit Queue in Pause status is detected + */ +#define ENET_QOS_MTL_TXQX_DBG_TXQPAUSED(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_MASK) + +#define ENET_QOS_MTL_TXQX_DBG_TRCSTS_MASK (0x6U) +#define ENET_QOS_MTL_TXQX_DBG_TRCSTS_SHIFT (1U) +/*! TRCSTS - MTL Tx Queue Read Controller Status This field indicates the state of the Tx Queue Read Controller: + * 0b00..Idle state + * 0b01..Read state (transferring data to the MAC transmitter) + * 0b10..Waiting for pending Tx Status from the MAC transmitter + * 0b11..Flushing the Tx queue because of the Packet Abort request from the MAC + */ +#define ENET_QOS_MTL_TXQX_DBG_TRCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TRCSTS_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TRCSTS_MASK) + +#define ENET_QOS_MTL_TXQX_DBG_TWCSTS_MASK (0x8U) +#define ENET_QOS_MTL_TXQX_DBG_TWCSTS_SHIFT (3U) +/*! TWCSTS - MTL Tx Queue Write Controller Status When high, this bit indicates that the MTL Tx + * Queue Write Controller is active, and it is transferring the data to the Tx Queue. + * 0b0..MTL Tx Queue Write Controller status is not detected + * 0b1..MTL Tx Queue Write Controller status is detected + */ +#define ENET_QOS_MTL_TXQX_DBG_TWCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TWCSTS_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TWCSTS_MASK) + +#define ENET_QOS_MTL_TXQX_DBG_TXQSTS_MASK (0x10U) +#define ENET_QOS_MTL_TXQX_DBG_TXQSTS_SHIFT (4U) +/*! TXQSTS - MTL Tx Queue Not Empty Status When this bit is high, it indicates that the MTL Tx Queue + * is not empty and some data is left for transmission. + * 0b0..MTL Tx Queue Not Empty status is not detected + * 0b1..MTL Tx Queue Not Empty status is detected + */ +#define ENET_QOS_MTL_TXQX_DBG_TXQSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TXQSTS_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TXQSTS_MASK) + +#define ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_MASK (0x20U) +#define ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_SHIFT (5U) +/*! TXSTSFSTS - MTL Tx Status FIFO Full Status When high, this bit indicates that the MTL Tx Status FIFO is full. + * 0b0..MTL Tx Status FIFO Full status is not detected + * 0b1..MTL Tx Status FIFO Full status is detected + */ +#define ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_MASK) + +#define ENET_QOS_MTL_TXQX_DBG_PTXQ_MASK (0x70000U) +#define ENET_QOS_MTL_TXQX_DBG_PTXQ_SHIFT (16U) +/*! PTXQ - Number of Packets in the Transmit Queue This field indicates the current number of packets in the Tx Queue. */ +#define ENET_QOS_MTL_TXQX_DBG_PTXQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_PTXQ_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_PTXQ_MASK) + +#define ENET_QOS_MTL_TXQX_DBG_STXSTSF_MASK (0x700000U) +#define ENET_QOS_MTL_TXQX_DBG_STXSTSF_SHIFT (20U) +/*! STXSTSF - Number of Status Words in Tx Status FIFO of Queue This field indicates the current + * number of status in the Tx Status FIFO of this queue. + */ +#define ENET_QOS_MTL_TXQX_DBG_STXSTSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_STXSTSF_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_STXSTSF_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_DBG */ +#define ENET_QOS_MTL_TXQX_DBG_COUNT (5U) + +/*! @name MTL_TXQX_ETS_CTRL - Queue 1 ETS Control..Queue 4 ETS Control */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_MASK (0x4U) +#define ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_SHIFT (2U) +/*! AVALG - AV Algorithm When Queue 4 is programmed for AV, this field configures the scheduling + * algorithm for this queue: This bit when set, indicates credit based shaper algorithm (CBS) is + * selected for Queue 4 traffic. + * 0b0..CBS Algorithm is disabled + * 0b1..CBS Algorithm is enabled + */ +#define ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_SHIFT)) & ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_MASK) + +#define ENET_QOS_MTL_TXQX_ETS_CTRL_CC_MASK (0x8U) +#define ENET_QOS_MTL_TXQX_ETS_CTRL_CC_SHIFT (3U) +/*! CC - Credit Control When this bit is set, the accumulated credit parameter in the credit-based + * shaper algorithm logic is not reset to zero when there is positive credit and no packet to + * transmit in Channel 4. + * 0b0..Credit Control is disabled + * 0b1..Credit Control is enabled + */ +#define ENET_QOS_MTL_TXQX_ETS_CTRL_CC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_ETS_CTRL_CC_SHIFT)) & ENET_QOS_MTL_TXQX_ETS_CTRL_CC_MASK) + +#define ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_MASK (0x70U) +#define ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_SHIFT (4U) +/*! SLC - Slot Count + * 0b000..1 slot + * 0b001..2 slots + * 0b010..4 slots + * 0b011..8 slots + * 0b100..16 slots + * 0b101..Reserved + */ +#define ENET_QOS_MTL_TXQX_ETS_CTRL_SLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_SHIFT)) & ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_ETS_CTRL */ +#define ENET_QOS_MTL_TXQX_ETS_CTRL_COUNT (5U) + +/*! @name MTL_TXQX_ETS_STAT - Queue 0 ETS Status..Queue 4 ETS Status */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_ETS_STAT_ABS_MASK (0xFFFFFFU) +#define ENET_QOS_MTL_TXQX_ETS_STAT_ABS_SHIFT (0U) +/*! ABS - Average Bits per Slot This field contains the average transmitted bits per slot. */ +#define ENET_QOS_MTL_TXQX_ETS_STAT_ABS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_ETS_STAT_ABS_SHIFT)) & ENET_QOS_MTL_TXQX_ETS_STAT_ABS_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_ETS_STAT */ +#define ENET_QOS_MTL_TXQX_ETS_STAT_COUNT (5U) + +/*! @name MTL_TXQX_QNTM_WGHT - Queue 0 Quantum or Weights..Queue 4 idleSlopeCredit, Quantum or Weights */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_MASK (0x1FFFFFU) +#define ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_SHIFT (0U) +/*! ISCQW - Quantum or Weights When the DCB operation is enabled with DWRR algorithm for Queue 0 + * traffic, this field contains the quantum value in bytes to be added to credit during every queue + * scanning cycle. + */ +#define ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_SHIFT)) & ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_QNTM_WGHT */ +#define ENET_QOS_MTL_TXQX_QNTM_WGHT_COUNT (5U) + +/*! @name MTL_TXQX_SNDSLP_CRDT - Queue 1 sendSlopeCredit..Queue 4 sendSlopeCredit */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_MASK (0x3FFFU) +#define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_SHIFT (0U) +/*! SSC - sendSlopeCredit Value When AV operation is enabled, this field contains the + * sendSlopeCredit value required for credit-based shaper algorithm for Queue 4. + */ +#define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_SHIFT)) & ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_SNDSLP_CRDT */ +#define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_COUNT (5U) + +/*! @name MTL_TXQX_HI_CRDT - Queue 1 hiCredit..Queue 4 hiCredit */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_HI_CRDT_HC_MASK (0x1FFFFFFFU) +#define ENET_QOS_MTL_TXQX_HI_CRDT_HC_SHIFT (0U) +/*! HC - hiCredit Value When the AV feature is enabled, this field contains the hiCredit value + * required for the credit-based shaper algorithm. + */ +#define ENET_QOS_MTL_TXQX_HI_CRDT_HC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_HI_CRDT_HC_SHIFT)) & ENET_QOS_MTL_TXQX_HI_CRDT_HC_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_HI_CRDT */ +#define ENET_QOS_MTL_TXQX_HI_CRDT_COUNT (5U) + +/*! @name MTL_TXQX_LO_CRDT - Queue 1 loCredit..Queue 4 loCredit */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_LO_CRDT_LC_MASK (0x1FFFFFFFU) +#define ENET_QOS_MTL_TXQX_LO_CRDT_LC_SHIFT (0U) +/*! LC - loCredit Value When AV operation is enabled, this field contains the loCredit value + * required for the credit-based shaper algorithm. + */ +#define ENET_QOS_MTL_TXQX_LO_CRDT_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_LO_CRDT_LC_SHIFT)) & ENET_QOS_MTL_TXQX_LO_CRDT_LC_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_LO_CRDT */ +#define ENET_QOS_MTL_TXQX_LO_CRDT_COUNT (5U) + +/*! @name MTL_TXQX_INTCTRL_STAT - Queue 0 Interrupt Control Status..Queue 4 Interrupt Control Status */ +/*! @{ */ + +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_MASK (0x1U) +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_SHIFT (0U) +/*! TXUNFIS - Transmit Queue Underflow Interrupt Status This bit indicates that the Transmit Queue + * had an underflow while transmitting the packet. + * 0b0..Transmit Queue Underflow Interrupt Status not detected + * 0b1..Transmit Queue Underflow Interrupt Status detected + */ +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_MASK) + +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_MASK (0x2U) +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_SHIFT (1U) +/*! ABPSIS - Average Bits Per Slot Interrupt Status When set, this bit indicates that the MAC has updated the ABS value. + * 0b0..Average Bits Per Slot Interrupt Status not detected + * 0b1..Average Bits Per Slot Interrupt Status detected + */ +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_MASK) + +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_MASK (0x100U) +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_SHIFT (8U) +/*! TXUIE - Transmit Queue Underflow Interrupt Enable When this bit is set, the Transmit Queue Underflow interrupt is enabled. + * 0b0..Transmit Queue Underflow Interrupt Status is disabled + * 0b1..Transmit Queue Underflow Interrupt Status is enabled + */ +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_MASK) + +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_MASK (0x200U) +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_SHIFT (9U) +/*! ABPSIE - Average Bits Per Slot Interrupt Enable When this bit is set, the MAC asserts the + * sbd_intr_o or mci_intr_o interrupt when the average bits per slot status is updated. + * 0b0..Average Bits Per Slot Interrupt is disabled + * 0b1..Average Bits Per Slot Interrupt is enabled + */ +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_MASK) + +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_MASK (0x10000U) +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_SHIFT (16U) +/*! RXOVFIS - Receive Queue Overflow Interrupt Status This bit indicates that the Receive Queue had + * an overflow while receiving the packet. + * 0b0..Receive Queue Overflow Interrupt Status not detected + * 0b1..Receive Queue Overflow Interrupt Status detected + */ +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_MASK) + +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_MASK (0x1000000U) +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_SHIFT (24U) +/*! RXOIE - Receive Queue Overflow Interrupt Enable When this bit is set, the Receive Queue Overflow interrupt is enabled. + * 0b0..Receive Queue Overflow Interrupt is disabled + * 0b1..Receive Queue Overflow Interrupt is enabled + */ +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_TXQX_INTCTRL_STAT */ +#define ENET_QOS_MTL_TXQX_INTCTRL_STAT_COUNT (5U) + +/*! @name MTL_RXQX_OP_MODE - Queue 0 Receive Operation Mode..Queue 4 Receive Operation Mode */ +/*! @{ */ + +#define ENET_QOS_MTL_RXQX_OP_MODE_RTC_MASK (0x3U) +#define ENET_QOS_MTL_RXQX_OP_MODE_RTC_SHIFT (0U) +/*! RTC - Receive Queue Threshold Control These bits control the threshold level of the MTL Rx queue + * (in bytes): The received packet is transferred to the application or DMA when the packet size + * within the MTL Rx queue is larger than the threshold. + * 0b00..64 + * 0b01..32 + * 0b10..96 + * 0b11..128 + */ +#define ENET_QOS_MTL_RXQX_OP_MODE_RTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RTC_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RTC_MASK) + +#define ENET_QOS_MTL_RXQX_OP_MODE_FUP_MASK (0x8U) +#define ENET_QOS_MTL_RXQX_OP_MODE_FUP_SHIFT (3U) +/*! FUP - Forward Undersized Good Packets When this bit is set, the Rx queue forwards the undersized + * good packets (packets with no error and length less than 64 bytes), including pad-bytes and + * CRC. + * 0b0..Forward Undersized Good Packets is disabled + * 0b1..Forward Undersized Good Packets is enabled + */ +#define ENET_QOS_MTL_RXQX_OP_MODE_FUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_FUP_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_FUP_MASK) + +#define ENET_QOS_MTL_RXQX_OP_MODE_FEP_MASK (0x10U) +#define ENET_QOS_MTL_RXQX_OP_MODE_FEP_SHIFT (4U) +/*! FEP - Forward Error Packets When this bit is reset, the Rx queue drops packets with error status + * (CRC error, GMII_ER, watchdog timeout, or overflow). + * 0b0..Forward Error Packets is disabled + * 0b1..Forward Error Packets is enabled + */ +#define ENET_QOS_MTL_RXQX_OP_MODE_FEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_FEP_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_FEP_MASK) + +#define ENET_QOS_MTL_RXQX_OP_MODE_RSF_MASK (0x20U) +#define ENET_QOS_MTL_RXQX_OP_MODE_RSF_SHIFT (5U) +/*! RSF - Receive Queue Store and Forward When this bit is set, the DWC_ether_qos reads a packet + * from the Rx queue only after the complete packet has been written to it, ignoring the RTC field + * of this register. + * 0b0..Receive Queue Store and Forward is disabled + * 0b1..Receive Queue Store and Forward is enabled + */ +#define ENET_QOS_MTL_RXQX_OP_MODE_RSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RSF_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RSF_MASK) + +#define ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_MASK (0x40U) +#define ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_SHIFT (6U) +/*! DIS_TCP_EF - Disable Dropping of TCP/IP Checksum Error Packets When this bit is set, the MAC + * does not drop the packets which only have the errors detected by the Receive Checksum Offload + * engine. + * 0b0..Dropping of TCP/IP Checksum Error Packets is enabled + * 0b1..Dropping of TCP/IP Checksum Error Packets is disabled + */ +#define ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_MASK) + +#define ENET_QOS_MTL_RXQX_OP_MODE_EHFC_MASK (0x80U) +#define ENET_QOS_MTL_RXQX_OP_MODE_EHFC_SHIFT (7U) +/*! EHFC - Enable Hardware Flow Control When this bit is set, the flow control signal operation, + * based on the fill-level of Rx queue, is enabled. + * 0b0..Hardware Flow Control is disabled + * 0b1..Hardware Flow Control is enabled + */ +#define ENET_QOS_MTL_RXQX_OP_MODE_EHFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_EHFC_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_EHFC_MASK) + +#define ENET_QOS_MTL_RXQX_OP_MODE_RFA_MASK (0xF00U) +#define ENET_QOS_MTL_RXQX_OP_MODE_RFA_SHIFT (8U) +/*! RFA - Threshold for Activating Flow Control (in half-duplex and full-duplex These bits control + * the threshold (fill-level of Rx queue) at which the flow control is activated: For more + * information on encoding for this field, see RFD. + */ +#define ENET_QOS_MTL_RXQX_OP_MODE_RFA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RFA_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RFA_MASK) + +#define ENET_QOS_MTL_RXQX_OP_MODE_RFD_MASK (0x3C000U) +#define ENET_QOS_MTL_RXQX_OP_MODE_RFD_SHIFT (14U) +/*! RFD - Threshold for Deactivating Flow Control (in half-duplex and full-duplex modes) These bits + * control the threshold (fill-level of Rx queue) at which the flow control is de-asserted after + * activation: - 0: Full minus 1 KB, that is, FULL 1 KB - 1: Full minus 1. + */ +#define ENET_QOS_MTL_RXQX_OP_MODE_RFD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RFD_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RFD_MASK) + +#define ENET_QOS_MTL_RXQX_OP_MODE_RQS_MASK (0x1F00000U) +#define ENET_QOS_MTL_RXQX_OP_MODE_RQS_SHIFT (20U) +/*! RQS - Receive Queue Size This field indicates the size of the allocated Receive queues in blocks of 256 bytes. */ +#define ENET_QOS_MTL_RXQX_OP_MODE_RQS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RQS_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RQS_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_RXQX_OP_MODE */ +#define ENET_QOS_MTL_RXQX_OP_MODE_COUNT (5U) + +/*! @name MTL_RXQX_MISSPKT_OVRFLW_CNT - Queue 0 Missed Packet and Overflow Counter..Queue 4 Missed Packet and Overflow Counter */ +/*! @{ */ + +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_MASK (0x7FFU) +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_SHIFT (0U) +/*! OVFPKTCNT - Overflow Packet Counter This field indicates the number of packets discarded by the + * DWC_ether_qos because of Receive queue overflow. + */ +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_SHIFT)) & ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_MASK) + +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_MASK (0x800U) +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_SHIFT (11U) +/*! OVFCNTOVF - Overflow Counter Overflow Bit When set, this bit indicates that the Rx Queue + * Overflow Packet Counter field crossed the maximum limit. + * 0b0..Overflow Counter overflow not detected + * 0b1..Overflow Counter overflow detected + */ +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_SHIFT)) & ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_MASK) + +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_MASK (0x7FF0000U) +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_SHIFT (16U) +/*! MISPKTCNT - Missed Packet Counter This field indicates the number of packets missed by the + * DWC_ether_qos because the application asserted ari_pkt_flush_i[] for this queue. + */ +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_SHIFT)) & ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_MASK) + +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_MASK (0x8000000U) +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_SHIFT (27U) +/*! MISCNTOVF - Missed Packet Counter Overflow Bit When set, this bit indicates that the Rx Queue + * Missed Packet Counter crossed the maximum limit. + * 0b0..Missed Packet Counter overflow not detected + * 0b1..Missed Packet Counter overflow detected + */ +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_SHIFT)) & ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT */ +#define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_COUNT (5U) + +/*! @name MTL_RXQX_DBG - Queue 0 Receive Debug..Queue 4 Receive Debug */ +/*! @{ */ + +#define ENET_QOS_MTL_RXQX_DBG_RWCSTS_MASK (0x1U) +#define ENET_QOS_MTL_RXQX_DBG_RWCSTS_SHIFT (0U) +/*! RWCSTS - MTL Rx Queue Write Controller Active Status When high, this bit indicates that the MTL + * Rx queue Write controller is active, and it is transferring a received packet to the Rx Queue. + * 0b0..MTL Rx Queue Write Controller Active Status not detected + * 0b1..MTL Rx Queue Write Controller Active Status detected + */ +#define ENET_QOS_MTL_RXQX_DBG_RWCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_DBG_RWCSTS_SHIFT)) & ENET_QOS_MTL_RXQX_DBG_RWCSTS_MASK) + +#define ENET_QOS_MTL_RXQX_DBG_RRCSTS_MASK (0x6U) +#define ENET_QOS_MTL_RXQX_DBG_RRCSTS_SHIFT (1U) +/*! RRCSTS - MTL Rx Queue Read Controller State This field gives the state of the Rx queue Read controller: + * 0b00..Idle state + * 0b01..Reading packet data + * 0b10..Reading packet status (or timestamp) + * 0b11..Flushing the packet data and status + */ +#define ENET_QOS_MTL_RXQX_DBG_RRCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_DBG_RRCSTS_SHIFT)) & ENET_QOS_MTL_RXQX_DBG_RRCSTS_MASK) + +#define ENET_QOS_MTL_RXQX_DBG_RXQSTS_MASK (0x30U) +#define ENET_QOS_MTL_RXQX_DBG_RXQSTS_SHIFT (4U) +/*! RXQSTS - MTL Rx Queue Fill-Level Status This field gives the status of the fill-level of the Rx Queue: + * 0b00..Rx Queue empty + * 0b01..Rx Queue fill-level below flow-control deactivate threshold + * 0b10..Rx Queue fill-level above flow-control activate threshold + * 0b11..Rx Queue full + */ +#define ENET_QOS_MTL_RXQX_DBG_RXQSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_DBG_RXQSTS_SHIFT)) & ENET_QOS_MTL_RXQX_DBG_RXQSTS_MASK) + +#define ENET_QOS_MTL_RXQX_DBG_PRXQ_MASK (0x3FFF0000U) +#define ENET_QOS_MTL_RXQX_DBG_PRXQ_SHIFT (16U) +/*! PRXQ - Number of Packets in Receive Queue This field indicates the current number of packets in the Rx Queue. */ +#define ENET_QOS_MTL_RXQX_DBG_PRXQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_DBG_PRXQ_SHIFT)) & ENET_QOS_MTL_RXQX_DBG_PRXQ_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_RXQX_DBG */ +#define ENET_QOS_MTL_RXQX_DBG_COUNT (5U) + +/*! @name MTL_RXQX_CTRL - Queue 0 Receive Control..Queue 4 Receive Control */ +/*! @{ */ + +#define ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_MASK (0x7U) +#define ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_SHIFT (0U) +/*! RXQ_WEGT - Receive Queue Weight This field indicates the weight assigned to the Rx Queue 4. */ +#define ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_SHIFT)) & ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_MASK) + +#define ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_MASK (0x8U) +#define ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_SHIFT (3U) +/*! RXQ_FRM_ARBIT - Receive Queue Packet Arbitration When this bit is set, the DWC_ether_qos drives + * the packet data to the ARI interface such that the entire packet data of currently-selected + * queue is transmitted before switching to other queue. + * 0b0..Receive Queue Packet Arbitration is disabled + * 0b1..Receive Queue Packet Arbitration is enabled + */ +#define ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_SHIFT)) & ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_MASK) +/*! @} */ + +/* The count of ENET_QOS_MTL_RXQX_CTRL */ +#define ENET_QOS_MTL_RXQX_CTRL_COUNT (5U) + +/*! @name DMA_MODE - DMA Bus Mode */ +/*! @{ */ + +#define ENET_QOS_DMA_MODE_SWR_MASK (0x1U) +#define ENET_QOS_DMA_MODE_SWR_SHIFT (0U) +/*! SWR - Software Reset When this bit is set, the MAC and the DMA controller reset the logic and + * all internal registers of the DMA, MTL, and MAC. + * 0b0..Software Reset is disabled + * 0b1..Software Reset is enabled + */ +#define ENET_QOS_DMA_MODE_SWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_SWR_SHIFT)) & ENET_QOS_DMA_MODE_SWR_MASK) + +#define ENET_QOS_DMA_MODE_DSPW_MASK (0x100U) +#define ENET_QOS_DMA_MODE_DSPW_SHIFT (8U) +/*! DSPW - Descriptor Posted Write When this bit is set to 0, the descriptor writes are always non-posted. + * 0b0..Descriptor Posted Write is disabled + * 0b1..Descriptor Posted Write is enabled + */ +#define ENET_QOS_DMA_MODE_DSPW(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_DSPW_SHIFT)) & ENET_QOS_DMA_MODE_DSPW_MASK) + +#define ENET_QOS_DMA_MODE_INTM_MASK (0x30000U) +#define ENET_QOS_DMA_MODE_INTM_SHIFT (16U) +/*! INTM - Interrupt Mode This field defines the interrupt mode of DWC_ether_qos. + * 0b00..See above description + * 0b01..See above description + * 0b10..See above description + * 0b11..Reserved + */ +#define ENET_QOS_DMA_MODE_INTM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_INTM_SHIFT)) & ENET_QOS_DMA_MODE_INTM_MASK) +/*! @} */ + +/*! @name DMA_SYSBUS_MODE - DMA System Bus Mode */ +/*! @{ */ + +#define ENET_QOS_DMA_SYSBUS_MODE_FB_MASK (0x1U) +#define ENET_QOS_DMA_SYSBUS_MODE_FB_SHIFT (0U) +/*! FB - Fixed Burst Length When this bit is set to 1, the EQOS-AXI master initiates burst transfers + * of specified lengths as given below. + * 0b0..Fixed Burst Length is disabled + * 0b1..Fixed Burst Length is enabled + */ +#define ENET_QOS_DMA_SYSBUS_MODE_FB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_FB_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_FB_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN4_MASK (0x2U) +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN4_SHIFT (1U) +/*! BLEN4 - AXI Burst Length 4 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI + * master can select a burst length of 4 on the AXI interface. + * 0b0..No effect + * 0b1..AXI Burst Length 4 + */ +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_BLEN4_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_BLEN4_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN8_MASK (0x4U) +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN8_SHIFT (2U) +/*! BLEN8 - AXI Burst Length 8 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI + * master can select a burst length of 8 on the AXI interface. + * 0b0..No effect + * 0b1..AXI Burst Length 8 + */ +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN8(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_BLEN8_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_BLEN8_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN16_MASK (0x8U) +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN16_SHIFT (3U) +/*! BLEN16 - AXI Burst Length 16 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI + * master can select a burst length of 16 on the AXI interface. + * 0b0..No effect + * 0b1..AXI Burst Length 16 + */ +#define ENET_QOS_DMA_SYSBUS_MODE_BLEN16(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_BLEN16_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_BLEN16_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_AALE_MASK (0x400U) +#define ENET_QOS_DMA_SYSBUS_MODE_AALE_SHIFT (10U) +/*! AALE - Automatic AXI LPI enable When set to 1, enables the AXI master to enter into LPI state + * when there is no activity in the DWC_ether_qos for number of system clock cycles programmed in + * the LPIEI field of DMA_AXI_LPI_ENTRY_INTERVAL register. + * 0b0..Automatic AXI LPI is disabled + * 0b1..Automatic AXI LPI is enabled + */ +#define ENET_QOS_DMA_SYSBUS_MODE_AALE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_AALE_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_AALE_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_AAL_MASK (0x1000U) +#define ENET_QOS_DMA_SYSBUS_MODE_AAL_SHIFT (12U) +/*! AAL - Address-Aligned Beats When this bit is set to 1, the EQOS-AXI or EQOS-AHB master performs + * address-aligned burst transfers on Read and Write channels. + * 0b0..Address-Aligned Beats is disabled + * 0b1..Address-Aligned Beats is enabled + */ +#define ENET_QOS_DMA_SYSBUS_MODE_AAL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_AAL_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_AAL_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_MASK (0x2000U) +#define ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_SHIFT (13U) +/*! ONEKBBE - 1 KB Boundary Crossing Enable for the EQOS-AXI Master When set, the burst transfers + * performed by the EQOS-AXI master do not cross 1 KB boundary. + * 0b0..1 KB Boundary Crossing for the EQOS-AXI Master Beats is disabled + * 0b1..1 KB Boundary Crossing for the EQOS-AXI Master Beats is enabled + */ +#define ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_MASK (0xF0000U) +#define ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_SHIFT (16U) +/*! RD_OSR_LMT - AXI Maximum Read Outstanding Request Limit This value limits the maximum outstanding request on the AXI read interface. */ +#define ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_MASK (0xF000000U) +#define ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_SHIFT (24U) +/*! WR_OSR_LMT - AXI Maximum Write Outstanding Request Limit This value limits the maximum + * outstanding request on the AXI write interface. + */ +#define ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_MASK (0x40000000U) +#define ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_SHIFT (30U) +/*! LPI_XIT_PKT - Unlock on Magic Packet or Remote Wake-Up Packet When set to 1, this bit enables + * the AXI master to come out of the LPI mode only when the magic packet or remote wake-up packet + * is received. + * 0b0..Unlock on Magic Packet or Remote Wake-Up Packet is disabled + * 0b1..Unlock on Magic Packet or Remote Wake-Up Packet is enabled + */ +#define ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_MASK) + +#define ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_MASK (0x80000000U) +#define ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_SHIFT (31U) +/*! EN_LPI - Enable Low Power Interface (LPI) When set to 1, this bit enables the LPI mode supported + * by the EQOS-AXI configuration and accepts the LPI request from the AXI System Clock + * controller. + * 0b0..Low Power Interface (LPI) is disabled + * 0b1..Low Power Interface (LPI) is enabled + */ +#define ENET_QOS_DMA_SYSBUS_MODE_EN_LPI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_MASK) +/*! @} */ + +/*! @name DMA_INTERRUPT_STATUS - DMA Interrupt Status */ +/*! @{ */ + +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_MASK (0x1U) +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_SHIFT (0U) +/*! DC0IS - DMA Channel 0 Interrupt Status This bit indicates an interrupt event in DMA Channel 0. + * 0b0..DMA Channel 0 Interrupt Status not detected + * 0b1..DMA Channel 0 Interrupt Status detected + */ +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_MASK) + +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_MASK (0x2U) +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_SHIFT (1U) +/*! DC1IS - DMA Channel 1 Interrupt Status This bit indicates an interrupt event in DMA Channel 1. + * 0b0..DMA Channel 1 Interrupt Status not detected + * 0b1..DMA Channel 1 Interrupt Status detected + */ +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_MASK) + +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_MASK (0x4U) +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_SHIFT (2U) +/*! DC2IS - DMA Channel 2 Interrupt Status This bit indicates an interrupt event in DMA Channel 2. + * 0b0..DMA Channel 2 Interrupt Status not detected + * 0b1..DMA Channel 2 Interrupt Status detected + */ +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_MASK) + +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_MASK (0x8U) +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_SHIFT (3U) +/*! DC3IS - DMA Channel 3 Interrupt Status This bit indicates an interrupt event in DMA Channel 3. + * 0b0..DMA Channel 3 Interrupt Status not detected + * 0b1..DMA Channel 3 Interrupt Status detected + */ +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_MASK) + +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_MASK (0x10U) +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_SHIFT (4U) +/*! DC4IS - DMA Channel 4 Interrupt Status This bit indicates an interrupt event in DMA Channel 4. + * 0b0..DMA Channel 4 Interrupt Status not detected + * 0b1..DMA Channel 4 Interrupt Status detected + */ +#define ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_MASK) + +#define ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_MASK (0x10000U) +#define ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_SHIFT (16U) +/*! MTLIS - MTL Interrupt Status This bit indicates an interrupt event in the MTL. + * 0b0..MTL Interrupt Status not detected + * 0b1..MTL Interrupt Status detected + */ +#define ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_MASK) + +#define ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_MASK (0x20000U) +#define ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_SHIFT (17U) +/*! MACIS - MAC Interrupt Status This bit indicates an interrupt event in the MAC. + * 0b0..MAC Interrupt Status not detected + * 0b1..MAC Interrupt Status detected + */ +#define ENET_QOS_DMA_INTERRUPT_STATUS_MACIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_MASK) +/*! @} */ + +/*! @name DMA_DEBUG_STATUS0 - DMA Debug Status 0 */ +/*! @{ */ + +#define ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_MASK (0x1U) +#define ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_SHIFT (0U) +/*! AXWHSTS - AXI Master Write Channel When high, this bit indicates that the write channel of the + * AXI master is active, and it is transferring data. + * 0b0..AXI Master Write Channel or AHB Master Status not detected + * 0b1..AXI Master Write Channel or AHB Master Status detected + */ +#define ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_MASK (0x2U) +#define ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_SHIFT (1U) +/*! AXRHSTS - AXI Master Read Channel Status When high, this bit indicates that the read channel of + * the AXI master is active, and it is transferring the data. + * 0b0..AXI Master Read Channel Status not detected + * 0b1..AXI Master Read Channel Status detected + */ +#define ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS0_MASK (0xF00U) +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS0_SHIFT (8U) +/*! RPS0 - DMA Channel 0 Receive Process State This field indicates the Rx DMA FSM state for Channel 0. + * 0b0000..Stopped (Reset or Stop Receive Command issued) + * 0b0001..Running (Fetching Rx Transfer Descriptor) + * 0b0010..Reserved for future use + * 0b0011..Running (Waiting for Rx packet) + * 0b0100..Suspended (Rx Descriptor Unavailable) + * 0b0101..Running (Closing the Rx Descriptor) + * 0b0110..Timestamp write state + * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory) + */ +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_RPS0_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_RPS0_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS0_MASK (0xF000U) +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS0_SHIFT (12U) +/*! TPS0 - DMA Channel 0 Transmit Process State This field indicates the Tx DMA FSM state for Channel 0. + * 0b0000..Stopped (Reset or Stop Transmit Command issued) + * 0b0001..Running (Fetching Tx Transfer Descriptor) + * 0b0010..Running (Waiting for status) + * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO)) + * 0b0100..Timestamp write state + * 0b0101..Reserved for future use + * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow) + * 0b0111..Running (Closing Tx Descriptor) + */ +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_TPS0_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_TPS0_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS1_MASK (0xF0000U) +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS1_SHIFT (16U) +/*! RPS1 - DMA Channel 1 Receive Process State This field indicates the Rx DMA FSM state for Channel 1. + * 0b0000..Stopped (Reset or Stop Receive Command issued) + * 0b0001..Running (Fetching Rx Transfer Descriptor) + * 0b0010..Reserved for future use + * 0b0011..Running (Waiting for Rx packet) + * 0b0100..Suspended (Rx Descriptor Unavailable) + * 0b0101..Running (Closing the Rx Descriptor) + * 0b0110..Timestamp write state + * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory) + */ +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_RPS1_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_RPS1_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS1_MASK (0xF00000U) +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS1_SHIFT (20U) +/*! TPS1 - DMA Channel 1 Transmit Process State This field indicates the Tx DMA FSM state for Channel 1. + * 0b0000..Stopped (Reset or Stop Transmit Command issued) + * 0b0001..Running (Fetching Tx Transfer Descriptor) + * 0b0010..Running (Waiting for status) + * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO)) + * 0b0100..Timestamp write state + * 0b0101..Reserved for future use + * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow) + * 0b0111..Running (Closing Tx Descriptor) + */ +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_TPS1_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_TPS1_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS2_MASK (0xF000000U) +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS2_SHIFT (24U) +/*! RPS2 - DMA Channel 2 Receive Process State This field indicates the Rx DMA FSM state for Channel 2. + * 0b0000..Stopped (Reset or Stop Receive Command issued) + * 0b0001..Running (Fetching Rx Transfer Descriptor) + * 0b0010..Reserved for future use + * 0b0011..Running (Waiting for Rx packet) + * 0b0100..Suspended (Rx Descriptor Unavailable) + * 0b0101..Running (Closing the Rx Descriptor) + * 0b0110..Timestamp write state + * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory) + */ +#define ENET_QOS_DMA_DEBUG_STATUS0_RPS2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_RPS2_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_RPS2_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS2_MASK (0xF0000000U) +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS2_SHIFT (28U) +/*! TPS2 - DMA Channel 2 Transmit Process State This field indicates the Tx DMA FSM state for Channel 2. + * 0b0000..Stopped (Reset or Stop Transmit Command issued) + * 0b0001..Running (Fetching Tx Transfer Descriptor) + * 0b0010..Running (Waiting for status) + * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO)) + * 0b0100..Timestamp write state + * 0b0101..Reserved for future use + * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow) + * 0b0111..Running (Closing Tx Descriptor) + */ +#define ENET_QOS_DMA_DEBUG_STATUS0_TPS2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_TPS2_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_TPS2_MASK) +/*! @} */ + +/*! @name DMA_DEBUG_STATUS1 - DMA Debug Status 1 */ +/*! @{ */ + +#define ENET_QOS_DMA_DEBUG_STATUS1_RPS3_MASK (0xFU) +#define ENET_QOS_DMA_DEBUG_STATUS1_RPS3_SHIFT (0U) +/*! RPS3 - DMA Channel 3 Receive Process State This field indicates the Rx DMA FSM state for Channel 3. + * 0b0000..Stopped (Reset or Stop Receive Command issued) + * 0b0001..Running (Fetching Rx Transfer Descriptor) + * 0b0010..Reserved for future use + * 0b0011..Running (Waiting for Rx packet) + * 0b0100..Suspended (Rx Descriptor Unavailable) + * 0b0101..Running (Closing the Rx Descriptor) + * 0b0110..Timestamp write state + * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory) + */ +#define ENET_QOS_DMA_DEBUG_STATUS1_RPS3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS1_RPS3_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS1_RPS3_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS1_TPS3_MASK (0xF0U) +#define ENET_QOS_DMA_DEBUG_STATUS1_TPS3_SHIFT (4U) +/*! TPS3 - DMA Channel 3 Transmit Process State This field indicates the Tx DMA FSM state for Channel 3. + * 0b0000..Stopped (Reset or Stop Transmit Command issued) + * 0b0001..Running (Fetching Tx Transfer Descriptor) + * 0b0010..Running (Waiting for status) + * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO)) + * 0b0100..Timestamp write state + * 0b0101..Reserved for future use + * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow) + * 0b0111..Running (Closing Tx Descriptor) + */ +#define ENET_QOS_DMA_DEBUG_STATUS1_TPS3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS1_TPS3_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS1_TPS3_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS1_RPS4_MASK (0xF00U) +#define ENET_QOS_DMA_DEBUG_STATUS1_RPS4_SHIFT (8U) +/*! RPS4 - DMA Channel 4 Receive Process State This field indicates the Rx DMA FSM state for Channel 4. + * 0b0000..Stopped (Reset or Stop Receive Command issued) + * 0b0001..Running (Fetching Rx Transfer Descriptor) + * 0b0010..Reserved for future use + * 0b0011..Running (Waiting for Rx packet) + * 0b0100..Suspended (Rx Descriptor Unavailable) + * 0b0101..Running (Closing the Rx Descriptor) + * 0b0110..Timestamp write state + * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory) + */ +#define ENET_QOS_DMA_DEBUG_STATUS1_RPS4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS1_RPS4_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS1_RPS4_MASK) + +#define ENET_QOS_DMA_DEBUG_STATUS1_TPS4_MASK (0xF000U) +#define ENET_QOS_DMA_DEBUG_STATUS1_TPS4_SHIFT (12U) +/*! TPS4 - DMA Channel 4 Transmit Process State This field indicates the Tx DMA FSM state for Channel 4. + * 0b0000..Stopped (Reset or Stop Transmit Command issued) + * 0b0001..Running (Fetching Tx Transfer Descriptor) + * 0b0010..Running (Waiting for status) + * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO)) + * 0b0100..Timestamp write state + * 0b0101..Reserved for future use + * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow) + * 0b0111..Running (Closing Tx Descriptor) + */ +#define ENET_QOS_DMA_DEBUG_STATUS1_TPS4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS1_TPS4_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS1_TPS4_MASK) +/*! @} */ + +/*! @name DMA_AXI_LPI_ENTRY_INTERVAL - AXI LPI Entry Interval Control */ +/*! @{ */ + +#define ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_MASK (0xFU) +#define ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_SHIFT (0U) +/*! LPIEI - LPI Entry Interval Contains the number of system clock cycles, multiplied by 64, to wait + * for an activity in the DWC_ether_qos to enter into the AXI low power state 0 indicates 64 + * clock cycles + */ +#define ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_SHIFT)) & ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_MASK) +/*! @} */ + +/*! @name DMA_TBS_CTRL0 - DMA_TBS_CTRL0 */ +/*! @{ */ + +#define ENET_QOS_DMA_TBS_CTRL0_FTOV_MASK (0x1U) +#define ENET_QOS_DMA_TBS_CTRL0_FTOV_SHIFT (0U) +/*! FTOV - Fetch Time Offset Valid When set indicates the FTOS field is valid. When not set, + * indicates the Fetch Offset is not valid and the DMA engine can fetch the frames from host memory + * without any time restrictions. + * 0b0..Fetch Time Offset is invalid + * 0b1..Fetch Time Offset is valid + */ +#define ENET_QOS_DMA_TBS_CTRL0_FTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL0_FTOV_SHIFT)) & ENET_QOS_DMA_TBS_CTRL0_FTOV_MASK) + +#define ENET_QOS_DMA_TBS_CTRL0_FGOS_MASK (0x70U) +#define ENET_QOS_DMA_TBS_CTRL0_FGOS_SHIFT (4U) +/*! FGOS - Fetch GSN Offset */ +#define ENET_QOS_DMA_TBS_CTRL0_FGOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL0_FGOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL0_FGOS_MASK) + +#define ENET_QOS_DMA_TBS_CTRL0_FTOS_MASK (0xFFFFFF00U) +#define ENET_QOS_DMA_TBS_CTRL0_FTOS_SHIFT (8U) +/*! FTOS - Fetch Time Offset */ +#define ENET_QOS_DMA_TBS_CTRL0_FTOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL0_FTOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL0_FTOS_MASK) +/*! @} */ + +/*! @name DMA_TBS_CTRL1 - DMA_TBS_CTRL1 */ +/*! @{ */ + +#define ENET_QOS_DMA_TBS_CTRL1_FTOV_MASK (0x1U) +#define ENET_QOS_DMA_TBS_CTRL1_FTOV_SHIFT (0U) +/*! FTOV - Fetch Time Offset Valid When set indicates the FTOS field is valid. When not set, + * indicates the Fetch Offset is not valid and the DMA engine can fetch the frames from host memory + * without any time restrictions. + * 0b0..Fetch Time Offset is invalid + * 0b1..Fetch Time Offset is valid + */ +#define ENET_QOS_DMA_TBS_CTRL1_FTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL1_FTOV_SHIFT)) & ENET_QOS_DMA_TBS_CTRL1_FTOV_MASK) + +#define ENET_QOS_DMA_TBS_CTRL1_FGOS_MASK (0x70U) +#define ENET_QOS_DMA_TBS_CTRL1_FGOS_SHIFT (4U) +/*! FGOS - Fetch GSN Offset */ +#define ENET_QOS_DMA_TBS_CTRL1_FGOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL1_FGOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL1_FGOS_MASK) + +#define ENET_QOS_DMA_TBS_CTRL1_FTOS_MASK (0xFFFFFF00U) +#define ENET_QOS_DMA_TBS_CTRL1_FTOS_SHIFT (8U) +/*! FTOS - Fetch Time Offset */ +#define ENET_QOS_DMA_TBS_CTRL1_FTOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL1_FTOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL1_FTOS_MASK) +/*! @} */ + +/*! @name DMA_TBS_CTRL2 - DMA_TBS_CTRL2 */ +/*! @{ */ + +#define ENET_QOS_DMA_TBS_CTRL2_FTOV_MASK (0x1U) +#define ENET_QOS_DMA_TBS_CTRL2_FTOV_SHIFT (0U) +/*! FTOV - Fetch Time Offset Valid When set indicates the FTOS field is valid. When not set, + * indicates the Fetch Offset is not valid and the DMA engine can fetch the frames from host memory + * without any time restrictions. + * 0b0..Fetch Time Offset is invalid + * 0b1..Fetch Time Offset is valid + */ +#define ENET_QOS_DMA_TBS_CTRL2_FTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL2_FTOV_SHIFT)) & ENET_QOS_DMA_TBS_CTRL2_FTOV_MASK) + +#define ENET_QOS_DMA_TBS_CTRL2_FGOS_MASK (0x70U) +#define ENET_QOS_DMA_TBS_CTRL2_FGOS_SHIFT (4U) +/*! FGOS - Fetch GSN Offset */ +#define ENET_QOS_DMA_TBS_CTRL2_FGOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL2_FGOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL2_FGOS_MASK) + +#define ENET_QOS_DMA_TBS_CTRL2_FTOS_MASK (0xFFFFFF00U) +#define ENET_QOS_DMA_TBS_CTRL2_FTOS_SHIFT (8U) +/*! FTOS - Fetch Time Offset */ +#define ENET_QOS_DMA_TBS_CTRL2_FTOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL2_FTOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL2_FTOS_MASK) +/*! @} */ + +/*! @name DMA_TBS_CTRL3 - DMA_TBS_CTRL3 */ +/*! @{ */ + +#define ENET_QOS_DMA_TBS_CTRL3_FTOV_MASK (0x1U) +#define ENET_QOS_DMA_TBS_CTRL3_FTOV_SHIFT (0U) +/*! FTOV - Fetch Time Offset Valid When set indicates the FTOS field is valid. When not set, + * indicates the Fetch Offset is not valid and the DMA engine can fetch the frames from host memory + * without any time restrictions. + * 0b0..Fetch Time Offset is invalid + * 0b1..Fetch Time Offset is valid + */ +#define ENET_QOS_DMA_TBS_CTRL3_FTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL3_FTOV_SHIFT)) & ENET_QOS_DMA_TBS_CTRL3_FTOV_MASK) + +#define ENET_QOS_DMA_TBS_CTRL3_FGOS_MASK (0x70U) +#define ENET_QOS_DMA_TBS_CTRL3_FGOS_SHIFT (4U) +/*! FGOS - Fetch GSN Offset */ +#define ENET_QOS_DMA_TBS_CTRL3_FGOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL3_FGOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL3_FGOS_MASK) + +#define ENET_QOS_DMA_TBS_CTRL3_FTOS_MASK (0xFFFFFF00U) +#define ENET_QOS_DMA_TBS_CTRL3_FTOS_SHIFT (8U) +/*! FTOS - Fetch Time Offset */ +#define ENET_QOS_DMA_TBS_CTRL3_FTOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL3_FTOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL3_FTOS_MASK) +/*! @} */ + +/*! @name DMA_CHX_CTRL - DMA Channel 0 Control..Channel 4 Control */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_CTRL_PBLx8_MASK (0x10000U) +#define ENET_QOS_DMA_CHX_CTRL_PBLx8_SHIFT (16U) +/*! PBLx8 - 8xPBL mode When this bit is set, the PBL value programmed in Bits[21:16] in + * DMA_CH4_TX_CONTROL and Bits[21:16] in DMA_CH4_RX_CONTROL is multiplied by eight times. + * 0b0..8xPBL mode is disabled + * 0b1..8xPBL mode is enabled + */ +#define ENET_QOS_DMA_CHX_CTRL_PBLx8(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CTRL_PBLx8_SHIFT)) & ENET_QOS_DMA_CHX_CTRL_PBLx8_MASK) + +#define ENET_QOS_DMA_CHX_CTRL_DSL_MASK (0x1C0000U) +#define ENET_QOS_DMA_CHX_CTRL_DSL_SHIFT (18U) +/*! DSL - Descriptor Skip Length This bit specifies the Word, Dword, or Lword number (depending on + * the 32-bit, 64-bit, or 128-bit bus) to skip between two unchained descriptors. + */ +#define ENET_QOS_DMA_CHX_CTRL_DSL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CTRL_DSL_SHIFT)) & ENET_QOS_DMA_CHX_CTRL_DSL_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_CTRL */ +#define ENET_QOS_DMA_CHX_CTRL_COUNT (5U) + +/*! @name DMA_CHX_TX_CTRL - DMA Channel 0 Transmit Control..DMA Channel 4 Transmit Control */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_TX_CTRL_ST_MASK (0x1U) +#define ENET_QOS_DMA_CHX_TX_CTRL_ST_SHIFT (0U) +/*! ST - Start or Stop Transmission Command When this bit is set, transmission is placed in the Running state. + * 0b0..Stop Transmission Command + * 0b1..Start Transmission Command + */ +#define ENET_QOS_DMA_CHX_TX_CTRL_ST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_ST_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_ST_MASK) + +#define ENET_QOS_DMA_CHX_TX_CTRL_OSF_MASK (0x10U) +#define ENET_QOS_DMA_CHX_TX_CTRL_OSF_SHIFT (4U) +/*! OSF - Operate on Second Packet When this bit is set, it instructs the DMA to process the second + * packet of the Transmit data even before the status for the first packet is obtained. + * 0b0..Operate on Second Packet disabled + * 0b1..Operate on Second Packet enabled + */ +#define ENET_QOS_DMA_CHX_TX_CTRL_OSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_OSF_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_OSF_MASK) + +#define ENET_QOS_DMA_CHX_TX_CTRL_IPBL_MASK (0x8000U) +#define ENET_QOS_DMA_CHX_TX_CTRL_IPBL_SHIFT (15U) +/*! IPBL - Ignore PBL Requirement When this bit is set, the DMA does not check for PBL number of + * locations in the MTL before initiating a transfer. + * 0b0..Ignore PBL Requirement is disabled + * 0b1..Ignore PBL Requirement is enabled + */ +#define ENET_QOS_DMA_CHX_TX_CTRL_IPBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_IPBL_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_IPBL_MASK) + +#define ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_MASK (0x3F0000U) +#define ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_SHIFT (16U) +/*! TxPBL - Transmit Programmable Burst Length These bits indicate the maximum number of beats to be + * transferred in one DMA block data transfer. + */ +#define ENET_QOS_DMA_CHX_TX_CTRL_TxPBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_MASK) + +#define ENET_QOS_DMA_CHX_TX_CTRL_EDSE_MASK (0x10000000U) +#define ENET_QOS_DMA_CHX_TX_CTRL_EDSE_SHIFT (28U) +/*! EDSE - Enhanced Descriptor Enable When this bit is set, the corresponding channel uses Enhanced + * Descriptors that are 32 Bytes for both Normal and Context Descriptors. + * 0b0..Enhanced Descriptor is disabled + * 0b1..Enhanced Descriptor is enabled + */ +#define ENET_QOS_DMA_CHX_TX_CTRL_EDSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_EDSE_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_EDSE_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_TX_CTRL */ +#define ENET_QOS_DMA_CHX_TX_CTRL_COUNT (5U) + +/*! @name DMA_CHX_RX_CTRL - DMA Channel 0 Receive Control..DMA Channel 4 Receive Control */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_RX_CTRL_SR_MASK (0x1U) +#define ENET_QOS_DMA_CHX_RX_CTRL_SR_SHIFT (0U) +/*! SR - Start or Stop Receive When this bit is set, the DMA tries to acquire the descriptor from + * the Receive list and processes the incoming packets. + * 0b0..Stop Receive + * 0b1..Start Receive + */ +#define ENET_QOS_DMA_CHX_RX_CTRL_SR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_SR_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_SR_MASK) + +#define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_MASK (0xEU) +#define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_SHIFT (1U) +/*! RBSZ_x_0 - Receive Buffer size Low RBSZ[13:0] is split into two fields RBSZ_13_y and RBSZ_x_0. */ +#define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_MASK) + +#define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_MASK (0x7FF0U) +#define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_SHIFT (4U) +/*! RBSZ_13_y - Receive Buffer size High RBSZ[13:0] is split into two fields higher RBSZ_13_y and lower RBSZ_x_0. */ +#define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_MASK) + +#define ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_MASK (0x3F0000U) +#define ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_SHIFT (16U) +/*! RxPBL - Receive Programmable Burst Length These bits indicate the maximum number of beats to be + * transferred in one DMA block data transfer. + */ +#define ENET_QOS_DMA_CHX_RX_CTRL_RxPBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_MASK) + +#define ENET_QOS_DMA_CHX_RX_CTRL_RPF_MASK (0x80000000U) +#define ENET_QOS_DMA_CHX_RX_CTRL_RPF_SHIFT (31U) +/*! RPF - Rx Packet Flush. + * 0b0..Rx Packet Flush is disabled + * 0b1..Rx Packet Flush is enabled + */ +#define ENET_QOS_DMA_CHX_RX_CTRL_RPF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_RPF_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_RPF_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_RX_CTRL */ +#define ENET_QOS_DMA_CHX_RX_CTRL_COUNT (5U) + +/*! @name DMA_CHX_TXDESC_LIST_ADDR - Channel 0 Tx Descriptor List Address register..Channel 4 Tx Descriptor List Address */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_MASK (0xFFFFFFF8U) +#define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_SHIFT (3U) +/*! TDESLA - Start of Transmit List This field contains the base address of the first descriptor in the Transmit descriptor list. */ +#define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_SHIFT)) & ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR */ +#define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_COUNT (5U) + +/*! @name DMA_CHX_RXDESC_LIST_ADDR - Channel 0 Rx Descriptor List Address register..Channel 4 Rx Descriptor List Address */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_MASK (0xFFFFFFF8U) +#define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_SHIFT (3U) +/*! RDESLA - Start of Receive List This field contains the base address of the first descriptor in the Rx Descriptor list. */ +#define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_SHIFT)) & ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR */ +#define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_COUNT (5U) + +/*! @name DMA_CHX_TXDESC_TAIL_PTR - Channel 0 Tx Descriptor Tail Pointer..Channel 4 Tx Descriptor Tail Pointer */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_MASK (0xFFFFFFF8U) +#define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_SHIFT (3U) +/*! TDTP - Transmit Descriptor Tail Pointer This field contains the tail pointer for the Tx descriptor ring. */ +#define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_SHIFT)) & ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR */ +#define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_COUNT (5U) + +/*! @name DMA_CHX_RXDESC_TAIL_PTR - Channel 0 Rx Descriptor Tail Pointer..Channel 4 Rx Descriptor Tail Pointer */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_MASK (0xFFFFFFF8U) +#define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_SHIFT (3U) +/*! RDTP - Receive Descriptor Tail Pointer This field contains the tail pointer for the Rx descriptor ring. */ +#define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_SHIFT)) & ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR */ +#define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_COUNT (5U) + +/*! @name DMA_CHX_TXDESC_RING_LENGTH - Channel 0 Tx Descriptor Ring Length..Channel 4 Tx Descriptor Ring Length */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_MASK (0x3FFU) +#define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_SHIFT (0U) +/*! TDRL - Transmit Descriptor Ring Length This field sets the maximum number of Tx descriptors in the circular descriptor ring. */ +#define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_SHIFT)) & ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH */ +#define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_COUNT (5U) + +/*! @name DMA_CHX_RX_CONTROL2 - Channel 0 Receive Control 2 register..DMA Channel 4 Receive Control 2 register */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_RX_CONTROL2_RDRL_MASK (0x3FFU) +#define ENET_QOS_DMA_CHX_RX_CONTROL2_RDRL_SHIFT (0U) +/*! RDRL - Receive Descriptor Ring Length This register sets the maximum number of Rx descriptors in the circular descriptor ring. */ +#define ENET_QOS_DMA_CHX_RX_CONTROL2_RDRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CONTROL2_RDRL_SHIFT)) & ENET_QOS_DMA_CHX_RX_CONTROL2_RDRL_MASK) + +#define ENET_QOS_DMA_CHX_RX_CONTROL2_ARBS_MASK (0xFE0000U) +#define ENET_QOS_DMA_CHX_RX_CONTROL2_ARBS_SHIFT (17U) +/*! ARBS - Alternate Receive Buffer Size */ +#define ENET_QOS_DMA_CHX_RX_CONTROL2_ARBS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CONTROL2_ARBS_SHIFT)) & ENET_QOS_DMA_CHX_RX_CONTROL2_ARBS_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_RX_CONTROL2 */ +#define ENET_QOS_DMA_CHX_RX_CONTROL2_COUNT (5U) + +/*! @name DMA_CHX_INT_EN - Channel 0 Interrupt Enable..Channel 4 Interrupt Enable */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_INT_EN_TIE_MASK (0x1U) +#define ENET_QOS_DMA_CHX_INT_EN_TIE_SHIFT (0U) +/*! TIE - Transmit Interrupt Enable When this bit is set along with the NIE bit, the Transmit Interrupt is enabled. + * 0b0..Transmit Interrupt is disabled + * 0b1..Transmit Interrupt is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_TIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_TIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_TIE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_TXSE_MASK (0x2U) +#define ENET_QOS_DMA_CHX_INT_EN_TXSE_SHIFT (1U) +/*! TXSE - Transmit Stopped Enable When this bit is set along with the AIE bit, the Transmission Stopped interrupt is enabled. + * 0b0..Transmit Stopped is disabled + * 0b1..Transmit Stopped is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_TXSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_TXSE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_TXSE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_TBUE_MASK (0x4U) +#define ENET_QOS_DMA_CHX_INT_EN_TBUE_SHIFT (2U) +/*! TBUE - Transmit Buffer Unavailable Enable When this bit is set along with the NIE bit, the + * Transmit Buffer Unavailable interrupt is enabled. + * 0b0..Transmit Buffer Unavailable is disabled + * 0b1..Transmit Buffer Unavailable is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_TBUE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_TBUE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_TBUE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_RIE_MASK (0x40U) +#define ENET_QOS_DMA_CHX_INT_EN_RIE_SHIFT (6U) +/*! RIE - Receive Interrupt Enable When this bit is set along with the NIE bit, the Receive Interrupt is enabled. + * 0b0..Receive Interrupt is disabled + * 0b1..Receive Interrupt is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_RIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_RIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_RIE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_RBUE_MASK (0x80U) +#define ENET_QOS_DMA_CHX_INT_EN_RBUE_SHIFT (7U) +/*! RBUE - Receive Buffer Unavailable Enable When this bit is set along with the AIE bit, the + * Receive Buffer Unavailable interrupt is enabled. + * 0b0..Receive Buffer Unavailable is disabled + * 0b1..Receive Buffer Unavailable is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_RBUE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_RBUE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_RBUE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_RSE_MASK (0x100U) +#define ENET_QOS_DMA_CHX_INT_EN_RSE_SHIFT (8U) +/*! RSE - Receive Stopped Enable When this bit is set along with the AIE bit, the Receive Stopped Interrupt is enabled. + * 0b0..Receive Stopped is disabled + * 0b1..Receive Stopped is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_RSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_RSE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_RSE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_RWTE_MASK (0x200U) +#define ENET_QOS_DMA_CHX_INT_EN_RWTE_SHIFT (9U) +/*! RWTE - Receive Watchdog Timeout Enable When this bit is set along with the AIE bit, the Receive + * Watchdog Timeout interrupt is enabled. + * 0b0..Receive Watchdog Timeout is disabled + * 0b1..Receive Watchdog Timeout is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_RWTE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_RWTE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_RWTE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_ETIE_MASK (0x400U) +#define ENET_QOS_DMA_CHX_INT_EN_ETIE_SHIFT (10U) +/*! ETIE - Early Transmit Interrupt Enable When this bit is set along with the AIE bit, the Early Transmit interrupt is enabled. + * 0b0..Early Transmit Interrupt is disabled + * 0b1..Early Transmit Interrupt is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_ETIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_ETIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_ETIE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_ERIE_MASK (0x800U) +#define ENET_QOS_DMA_CHX_INT_EN_ERIE_SHIFT (11U) +/*! ERIE - Early Receive Interrupt Enable When this bit is set along with the NIE bit, the Early Receive interrupt is enabled. + * 0b0..Early Receive Interrupt is disabled + * 0b1..Early Receive Interrupt is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_ERIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_ERIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_ERIE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_FBEE_MASK (0x1000U) +#define ENET_QOS_DMA_CHX_INT_EN_FBEE_SHIFT (12U) +/*! FBEE - Fatal Bus Error Enable When this bit is set along with the AIE bit, the Fatal Bus error interrupt is enabled. + * 0b0..Fatal Bus Error is disabled + * 0b1..Fatal Bus Error is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_FBEE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_FBEE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_FBEE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_CDEE_MASK (0x2000U) +#define ENET_QOS_DMA_CHX_INT_EN_CDEE_SHIFT (13U) +/*! CDEE - Context Descriptor Error Enable When this bit is set along with the AIE bit, the Descriptor error interrupt is enabled. + * 0b0..Context Descriptor Error is disabled + * 0b1..Context Descriptor Error is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_CDEE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_CDEE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_CDEE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_AIE_MASK (0x4000U) +#define ENET_QOS_DMA_CHX_INT_EN_AIE_SHIFT (14U) +/*! AIE - Abnormal Interrupt Summary Enable When this bit is set, the abnormal interrupt summary is enabled. + * 0b0..Abnormal Interrupt Summary is disabled + * 0b1..Abnormal Interrupt Summary is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_AIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_AIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_AIE_MASK) + +#define ENET_QOS_DMA_CHX_INT_EN_NIE_MASK (0x8000U) +#define ENET_QOS_DMA_CHX_INT_EN_NIE_SHIFT (15U) +/*! NIE - Normal Interrupt Summary Enable When this bit is set, the normal interrupt summary is enabled. + * 0b0..Normal Interrupt Summary is disabled + * 0b1..Normal Interrupt Summary is enabled + */ +#define ENET_QOS_DMA_CHX_INT_EN_NIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_NIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_NIE_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_INT_EN */ +#define ENET_QOS_DMA_CHX_INT_EN_COUNT (5U) + +/*! @name DMA_CHX_RX_INT_WDTIMER - Channel 0 Receive Interrupt Watchdog Timer..Channel 4 Receive Interrupt Watchdog Timer */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_MASK (0xFFU) +#define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_SHIFT (0U) +/*! RWT - Receive Interrupt Watchdog Timer Count This field indicates the number of system clock + * cycles, multiplied by factor indicated in RWTU field, for which the watchdog timer is set. + */ +#define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_SHIFT)) & ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_MASK) + +#define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_MASK (0x30000U) +#define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_SHIFT (16U) +/*! RWTU - Receive Interrupt Watchdog Timer Count Units This fields indicates the number of system + * clock cycles corresponding to one unit in RWT field. + */ +#define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_SHIFT)) & ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_RX_INT_WDTIMER */ +#define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_COUNT (5U) + +/*! @name DMA_CHX_SLOT_FUNC_CTRL_STAT - Channel 0 Slot Function Control and Status..Channel 4 Slot Function Control and Status */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_MASK (0x1U) +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_SHIFT (0U) +/*! ESC - Enable Slot Comparison When set, this bit enables the checking of the slot numbers + * programmed in the Tx descriptor with the current reference given in the RSN field. + * 0b0..Slot Comparison is disabled + * 0b1..Slot Comparison is enabled + */ +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_SHIFT)) & ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_MASK) + +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_MASK (0x2U) +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_SHIFT (1U) +/*! ASC - Advance Slot Check When set, this bit enables the DMA to fetch the data from the buffer + * when the slot number (SLOTNUM) programmed in the Tx descriptor is - equal to the reference slot + * number given in the RSN field or - ahead of the reference slot number by up to two slots This + * bit is applicable only when the ESC bit is set. + * 0b0..Advance Slot Check is disabled + * 0b1..Advance Slot Check is enabled + */ +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_SHIFT)) & ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_MASK) + +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_MASK (0xFFF0U) +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_SHIFT (4U) +/*! SIV - Slot Interval Value This field controls the period of the slot interval in which the TxDMA + * fetches the scheduled packets. + */ +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_SHIFT)) & ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_MASK) + +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_MASK (0xF0000U) +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_SHIFT (16U) +/*! RSN - Reference Slot Number This field gives the current value of the reference slot number in the DMA. */ +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_SHIFT)) & ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT */ +#define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_COUNT (5U) + +/*! @name DMA_CHX_CUR_HST_TXDESC - Channel 0 Current Application Transmit Descriptor..Channel 4 Current Application Transmit Descriptor */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_MASK (0xFFFFFFFFU) +#define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_SHIFT (0U) +/*! CURTDESAPTR - Application Transmit Descriptor Address Pointer The DMA updates this pointer during Tx operation. */ +#define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_SHIFT)) & ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_CUR_HST_TXDESC */ +#define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_COUNT (5U) + +/*! @name DMA_CHX_CUR_HST_RXDESC - Channel 0 Current Application Receive Descriptor..Channel 4 Current Application Receive Descriptor */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_MASK (0xFFFFFFFFU) +#define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_SHIFT (0U) +/*! CURRDESAPTR - Application Receive Descriptor Address Pointer The DMA updates this pointer during Rx operation. */ +#define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_SHIFT)) & ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_CUR_HST_RXDESC */ +#define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_COUNT (5U) + +/*! @name DMA_CHX_CUR_HST_TXBUF - Channel 0 Current Application Transmit Buffer Address..Channel 4 Current Application Transmit Buffer Address */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_MASK (0xFFFFFFFFU) +#define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_SHIFT (0U) +/*! CURTBUFAPTR - Application Transmit Buffer Address Pointer The DMA updates this pointer during Tx operation. */ +#define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_SHIFT)) & ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_CUR_HST_TXBUF */ +#define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_COUNT (5U) + +/*! @name DMA_CHX_CUR_HST_RXBUF - Channel 0 Current Application Receive Buffer Address..Channel 4 Current Application Receive Buffer Address */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_MASK (0xFFFFFFFFU) +#define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_SHIFT (0U) +/*! CURRBUFAPTR - Application Receive Buffer Address Pointer The DMA updates this pointer during Rx operation. */ +#define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_SHIFT)) & ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_CUR_HST_RXBUF */ +#define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_COUNT (5U) + +/*! @name DMA_CHX_STAT - DMA Channel 0 Status..DMA Channel 4 Status */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_STAT_TI_MASK (0x1U) +#define ENET_QOS_DMA_CHX_STAT_TI_SHIFT (0U) +/*! TI - Transmit Interrupt This bit indicates that the packet transmission is complete. + * 0b0..Transmit Interrupt status not detected + * 0b1..Transmit Interrupt status detected + */ +#define ENET_QOS_DMA_CHX_STAT_TI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_TI_SHIFT)) & ENET_QOS_DMA_CHX_STAT_TI_MASK) + +#define ENET_QOS_DMA_CHX_STAT_TPS_MASK (0x2U) +#define ENET_QOS_DMA_CHX_STAT_TPS_SHIFT (1U) +/*! TPS - Transmit Process Stopped This bit is set when the transmission is stopped. + * 0b0..Transmit Process Stopped status not detected + * 0b1..Transmit Process Stopped status detected + */ +#define ENET_QOS_DMA_CHX_STAT_TPS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_TPS_SHIFT)) & ENET_QOS_DMA_CHX_STAT_TPS_MASK) + +#define ENET_QOS_DMA_CHX_STAT_TBU_MASK (0x4U) +#define ENET_QOS_DMA_CHX_STAT_TBU_SHIFT (2U) +/*! TBU - Transmit Buffer Unavailable This bit indicates that the application owns the next + * descriptor in the Transmit list, and the DMA cannot acquire it. + * 0b0..Transmit Buffer Unavailable status not detected + * 0b1..Transmit Buffer Unavailable status detected + */ +#define ENET_QOS_DMA_CHX_STAT_TBU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_TBU_SHIFT)) & ENET_QOS_DMA_CHX_STAT_TBU_MASK) + +#define ENET_QOS_DMA_CHX_STAT_RI_MASK (0x40U) +#define ENET_QOS_DMA_CHX_STAT_RI_SHIFT (6U) +/*! RI - Receive Interrupt This bit indicates that the packet reception is complete. + * 0b0..Receive Interrupt status not detected + * 0b1..Receive Interrupt status detected + */ +#define ENET_QOS_DMA_CHX_STAT_RI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_RI_SHIFT)) & ENET_QOS_DMA_CHX_STAT_RI_MASK) + +#define ENET_QOS_DMA_CHX_STAT_RBU_MASK (0x80U) +#define ENET_QOS_DMA_CHX_STAT_RBU_SHIFT (7U) +/*! RBU - Receive Buffer Unavailable This bit indicates that the application owns the next + * descriptor in the Receive list, and the DMA cannot acquire it. + * 0b0..Receive Buffer Unavailable status not detected + * 0b1..Receive Buffer Unavailable status detected + */ +#define ENET_QOS_DMA_CHX_STAT_RBU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_RBU_SHIFT)) & ENET_QOS_DMA_CHX_STAT_RBU_MASK) + +#define ENET_QOS_DMA_CHX_STAT_RPS_MASK (0x100U) +#define ENET_QOS_DMA_CHX_STAT_RPS_SHIFT (8U) +/*! RPS - Receive Process Stopped This bit is asserted when the Rx process enters the Stopped state. + * 0b0..Receive Process Stopped status not detected + * 0b1..Receive Process Stopped status detected + */ +#define ENET_QOS_DMA_CHX_STAT_RPS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_RPS_SHIFT)) & ENET_QOS_DMA_CHX_STAT_RPS_MASK) + +#define ENET_QOS_DMA_CHX_STAT_RWT_MASK (0x200U) +#define ENET_QOS_DMA_CHX_STAT_RWT_SHIFT (9U) +/*! RWT - Receive Watchdog Timeout This bit is asserted when a packet with length greater than 2,048 + * bytes (10,240 bytes when Jumbo Packet mode is enabled) is received. + * 0b0..Receive Watchdog Timeout status not detected + * 0b1..Receive Watchdog Timeout status detected + */ +#define ENET_QOS_DMA_CHX_STAT_RWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_RWT_SHIFT)) & ENET_QOS_DMA_CHX_STAT_RWT_MASK) + +#define ENET_QOS_DMA_CHX_STAT_ETI_MASK (0x400U) +#define ENET_QOS_DMA_CHX_STAT_ETI_SHIFT (10U) +/*! ETI - Early Transmit Interrupt This bit when set indicates that the TxDMA has completed the + * transfer of packet data to the MTL TXFIFO memory. + * 0b0..Early Transmit Interrupt status not detected + * 0b1..Early Transmit Interrupt status detected + */ +#define ENET_QOS_DMA_CHX_STAT_ETI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_ETI_SHIFT)) & ENET_QOS_DMA_CHX_STAT_ETI_MASK) + +#define ENET_QOS_DMA_CHX_STAT_ERI_MASK (0x800U) +#define ENET_QOS_DMA_CHX_STAT_ERI_SHIFT (11U) +/*! ERI - Early Receive Interrupt This bit when set indicates that the RxDMA has completed the + * transfer of packet data to the memory. + * 0b0..Early Receive Interrupt status not detected + * 0b1..Early Receive Interrupt status detected + */ +#define ENET_QOS_DMA_CHX_STAT_ERI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_ERI_SHIFT)) & ENET_QOS_DMA_CHX_STAT_ERI_MASK) + +#define ENET_QOS_DMA_CHX_STAT_FBE_MASK (0x1000U) +#define ENET_QOS_DMA_CHX_STAT_FBE_SHIFT (12U) +/*! FBE - Fatal Bus Error This bit indicates that a bus error occurred (as described in the EB field). + * 0b0..Fatal Bus Error status not detected + * 0b1..Fatal Bus Error status detected + */ +#define ENET_QOS_DMA_CHX_STAT_FBE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_FBE_SHIFT)) & ENET_QOS_DMA_CHX_STAT_FBE_MASK) + +#define ENET_QOS_DMA_CHX_STAT_CDE_MASK (0x2000U) +#define ENET_QOS_DMA_CHX_STAT_CDE_SHIFT (13U) +/*! CDE - Context Descriptor Error This bit indicates that the DMA Tx/Rx engine received a + * descriptor error, which indicates invalid context in the middle of packet flow ( intermediate + * descriptor) or all one's descriptor in Tx case and on Rx side it indicates DMA has read a descriptor + * with either of the buffer address as ones which is considered to be invalid. + * 0b0..Context Descriptor Error status not detected + * 0b1..Context Descriptor Error status detected + */ +#define ENET_QOS_DMA_CHX_STAT_CDE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_CDE_SHIFT)) & ENET_QOS_DMA_CHX_STAT_CDE_MASK) + +#define ENET_QOS_DMA_CHX_STAT_AIS_MASK (0x4000U) +#define ENET_QOS_DMA_CHX_STAT_AIS_SHIFT (14U) +/*! AIS - Abnormal Interrupt Summary Abnormal Interrupt Summary bit value is the logical OR of the + * following when the corresponding interrupt bits are enabled in the DMA_CH3_INTERRUPT_ENABLE + * register: - Bit 1: Transmit Process Stopped - Bit 7: Receive Buffer Unavailable - Bit 8: Receive + * Process Stopped - Bit 10: Early Transmit Interrupt - Bit 12: Fatal Bus Error - Bit 13: Context + * Descriptor Error Only unmasked bits affect the Abnormal Interrupt Summary bit. + * 0b0..Abnormal Interrupt Summary status not detected + * 0b1..Abnormal Interrupt Summary status detected + */ +#define ENET_QOS_DMA_CHX_STAT_AIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_AIS_SHIFT)) & ENET_QOS_DMA_CHX_STAT_AIS_MASK) + +#define ENET_QOS_DMA_CHX_STAT_NIS_MASK (0x8000U) +#define ENET_QOS_DMA_CHX_STAT_NIS_SHIFT (15U) +/*! NIS - Normal Interrupt Summary Normal Interrupt Summary bit value is the logical OR of the + * following bits when the corresponding interrupt bits are enabled in the DMA_CH3_INTERRUPT_ENABLE + * register: - Bit 0: Transmit Interrupt - Bit 2: Transmit Buffer Unavailable - Bit 6: Receive + * Interrupt - Bit 11: Early Receive Interrupt Only unmasked bits (interrupts for which interrupt + * enable is set in DMA_CH3_INTERRUPT_ENABLE register) affect the Normal Interrupt Summary bit. + * 0b0..Normal Interrupt Summary status not detected + * 0b1..Normal Interrupt Summary status detected + */ +#define ENET_QOS_DMA_CHX_STAT_NIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_NIS_SHIFT)) & ENET_QOS_DMA_CHX_STAT_NIS_MASK) + +#define ENET_QOS_DMA_CHX_STAT_TEB_MASK (0x70000U) +#define ENET_QOS_DMA_CHX_STAT_TEB_SHIFT (16U) +/*! TEB - Tx DMA Error Bits This field indicates the type of error that caused a Bus Error. */ +#define ENET_QOS_DMA_CHX_STAT_TEB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_TEB_SHIFT)) & ENET_QOS_DMA_CHX_STAT_TEB_MASK) + +#define ENET_QOS_DMA_CHX_STAT_REB_MASK (0x380000U) +#define ENET_QOS_DMA_CHX_STAT_REB_SHIFT (19U) +/*! REB - Rx DMA Error Bits This field indicates the type of error that caused a Bus Error. */ +#define ENET_QOS_DMA_CHX_STAT_REB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_REB_SHIFT)) & ENET_QOS_DMA_CHX_STAT_REB_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_STAT */ +#define ENET_QOS_DMA_CHX_STAT_COUNT (5U) + +/*! @name DMA_CHX_MISS_FRAME_CNT - Channel 0 Missed Frame Counter..Channel 4 Missed Frame Counter */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_MASK (0x7FFU) +#define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_SHIFT (0U) +/*! MFC - Dropped Packet Counters This counter indicates the number of packet counters that are + * dropped by the DMA either because of bus error or because of programming RPF field in + * DMA_CH2_RX_CONTROL register. + */ +#define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_SHIFT)) & ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_MASK) + +#define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_MASK (0x8000U) +#define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_SHIFT (15U) +/*! MFCO - Overflow status of the MFC Counter When this bit is set then the MFC counter does not get incremented further. + * 0b0..Miss Frame Counter overflow not occurred + * 0b1..Miss Frame Counter overflow occurred + */ +#define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_SHIFT)) & ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_MISS_FRAME_CNT */ +#define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_COUNT (5U) + +/*! @name DMA_CHX_RXP_ACCEPT_CNT - Channel 0 RXP Frames Accepted Counter..Channel 4 RXP Frames Accepted Counter */ +/*! @{ */ + +#define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_MASK (0x7FFFFFFFU) +#define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_SHIFT (0U) +/*! RXPAC - Rx Parser Accept Counter This 31-bit counter is implemented whenever a Rx Parser Accept a packet due to AF =1. */ +#define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_SHIFT)) & ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_MASK) + +#define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_MASK (0x80000000U) +#define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_SHIFT (31U) +/*! RXPACOF - Rx Parser Accept Counter Overflow Bit When set, this bit indicates that the RXPAC + * Counter field crossed the maximum limit. + * 0b0..Rx Parser Accept Counter overflow not occurred + * 0b1..Rx Parser Accept Counter overflow occurred + */ +#define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_SHIFT)) & ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_MASK) +/*! @} */ + +/* The count of ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT */ +#define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_COUNT (5U) + + +/*! + * @} + */ /* end of group ENET_QOS_Register_Masks */ + + +/* ENET_QOS - Peripheral instance base addresses */ +/** Peripheral ENET_QOS base address */ +#define ENET_QOS_BASE (0x428A0000u) +/** Peripheral ENET_QOS base pointer */ +#define ENET_QOS ((ENET_QOS_Type *)ENET_QOS_BASE) +/** Array initializer of ENET_QOS peripheral base addresses */ +#define ENET_QOS_BASE_ADDRS { ENET_QOS_BASE } +/** Array initializer of ENET_QOS peripheral base pointers */ +#define ENET_QOS_BASE_PTRS { ENET_QOS } + +/*! + * @} + */ /* end of group ENET_QOS_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- FLEXIO Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup FLEXIO_Peripheral_Access_Layer FLEXIO Peripheral Access Layer + * @{ + */ + +/** FLEXIO - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< Version ID, offset: 0x0 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x4 */ + __IO uint32_t CTRL; /**< FLEXIO Control, offset: 0x8 */ + __I uint32_t PIN; /**< Pin State, offset: 0xC */ + __IO uint32_t SHIFTSTAT; /**< Shifter Status, offset: 0x10 */ + __IO uint32_t SHIFTERR; /**< Shifter Error, offset: 0x14 */ + __IO uint32_t TIMSTAT; /**< Timer Status Flag, offset: 0x18 */ + uint8_t RESERVED_0[4]; + __IO uint32_t SHIFTSIEN; /**< Shifter Status Interrupt Enable, offset: 0x20 */ + __IO uint32_t SHIFTEIEN; /**< Shifter Error Interrupt Enable, offset: 0x24 */ + __IO uint32_t TIMIEN; /**< Timer Interrupt Enable, offset: 0x28 */ + uint8_t RESERVED_1[4]; + __IO uint32_t SHIFTSDEN; /**< Shifter Status DMA Enable, offset: 0x30 */ + uint8_t RESERVED_2[4]; + __IO uint32_t TIMERSDEN; /**< Timer Status DMA Enable, offset: 0x38 */ + uint8_t RESERVED_3[4]; + __IO uint32_t SHIFTSTATE; /**< Shifter State, offset: 0x40 */ + uint8_t RESERVED_4[4]; + __IO uint32_t TRGSTAT; /**< Trigger Status, offset: 0x48 */ + __IO uint32_t TRIGIEN; /**< External Trigger Interrupt Enable, offset: 0x4C */ + __IO uint32_t PINSTAT; /**< Pin Status, offset: 0x50 */ + __IO uint32_t PINIEN; /**< Pin Interrupt Enable, offset: 0x54 */ + __IO uint32_t PINREN; /**< Pin Rising Edge Enable, offset: 0x58 */ + __IO uint32_t PINFEN; /**< Pin Falling Edge Enable, offset: 0x5C */ + __IO uint32_t PINOUTD; /**< Pin Output Data, offset: 0x60 */ + __IO uint32_t PINOUTE; /**< Pin Output Enable, offset: 0x64 */ + __IO uint32_t PINOUTDIS; /**< Pin Output Disable, offset: 0x68 */ + __IO uint32_t PINOUTCLR; /**< Pin Output Clear, offset: 0x6C */ + __IO uint32_t PINOUTSET; /**< Pin Output Set, offset: 0x70 */ + __IO uint32_t PINOUTTOG; /**< Pin Output Toggle, offset: 0x74 */ + uint8_t RESERVED_5[8]; + __IO uint32_t SHIFTCTL[8]; /**< Shifter Control, array offset: 0x80, array step: 0x4 */ + uint8_t RESERVED_6[96]; + __IO uint32_t SHIFTCFG[8]; /**< Shifter Configuration, array offset: 0x100, array step: 0x4 */ + uint8_t RESERVED_7[224]; + __IO uint32_t SHIFTBUF[8]; /**< Shifter Buffer, array offset: 0x200, array step: 0x4 */ + uint8_t RESERVED_8[96]; + __IO uint32_t SHIFTBUFBIS[8]; /**< Shifter Buffer Bit Swapped, array offset: 0x280, array step: 0x4 */ + uint8_t RESERVED_9[96]; + __IO uint32_t SHIFTBUFBYS[8]; /**< Shifter Buffer Byte Swapped, array offset: 0x300, array step: 0x4 */ + uint8_t RESERVED_10[96]; + __IO uint32_t SHIFTBUFBBS[8]; /**< Shifter Buffer Bit Byte Swapped, array offset: 0x380, array step: 0x4 */ + uint8_t RESERVED_11[96]; + __IO uint32_t TIMCTL[8]; /**< Timer Control, array offset: 0x400, array step: 0x4 */ + uint8_t RESERVED_12[96]; + __IO uint32_t TIMCFG[8]; /**< Timer Configuration, array offset: 0x480, array step: 0x4 */ + uint8_t RESERVED_13[96]; + __IO uint32_t TIMCMP[8]; /**< Timer Compare, array offset: 0x500, array step: 0x4 */ + uint8_t RESERVED_14[352]; + __IO uint32_t SHIFTBUFNBS[8]; /**< Shifter Buffer Nibble Byte Swapped, array offset: 0x680, array step: 0x4 */ + uint8_t RESERVED_15[96]; + __IO uint32_t SHIFTBUFHWS[8]; /**< Shifter Buffer Halfword Swapped, array offset: 0x700, array step: 0x4 */ + uint8_t RESERVED_16[96]; + __IO uint32_t SHIFTBUFNIS[8]; /**< Shifter Buffer Nibble Swapped, array offset: 0x780, array step: 0x4 */ + uint8_t RESERVED_17[96]; + __IO uint32_t SHIFTBUFOES[8]; /**< Shifter Buffer Odd Even Swapped, array offset: 0x800, array step: 0x4 */ + uint8_t RESERVED_18[96]; + __IO uint32_t SHIFTBUFEOS[8]; /**< Shifter Buffer Even Odd Swapped, array offset: 0x880, array step: 0x4 */ + uint8_t RESERVED_19[96]; + __IO uint32_t SHIFTBUFHBS[8]; /**< Shifter Buffer Halfword Byte Swapped, array offset: 0x900, array step: 0x4 */ +} FLEXIO_Type; + +/* ---------------------------------------------------------------------------- + -- FLEXIO Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup FLEXIO_Register_Masks FLEXIO Register Masks + * @{ + */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define FLEXIO_VERID_FEATURE_MASK (0xFFFFU) +#define FLEXIO_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Specification Number + * 0b0000000000000000..Standard features implemented + * 0b0000000000000001..State, logic, and parallel modes supported + * 0b0000000000000010..Pin control registers supported + * 0b0000000000000011..State, logic, and parallel modes, plus pin control registers supported + */ +#define FLEXIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_FEATURE_SHIFT)) & FLEXIO_VERID_FEATURE_MASK) + +#define FLEXIO_VERID_MINOR_MASK (0xFF0000U) +#define FLEXIO_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define FLEXIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MINOR_SHIFT)) & FLEXIO_VERID_MINOR_MASK) + +#define FLEXIO_VERID_MAJOR_MASK (0xFF000000U) +#define FLEXIO_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define FLEXIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MAJOR_SHIFT)) & FLEXIO_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define FLEXIO_PARAM_SHIFTER_MASK (0xFFU) +#define FLEXIO_PARAM_SHIFTER_SHIFT (0U) +/*! SHIFTER - Shifter Number */ +#define FLEXIO_PARAM_SHIFTER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_SHIFTER_SHIFT)) & FLEXIO_PARAM_SHIFTER_MASK) + +#define FLEXIO_PARAM_TIMER_MASK (0xFF00U) +#define FLEXIO_PARAM_TIMER_SHIFT (8U) +/*! TIMER - Timer Number */ +#define FLEXIO_PARAM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TIMER_SHIFT)) & FLEXIO_PARAM_TIMER_MASK) + +#define FLEXIO_PARAM_PIN_MASK (0xFF0000U) +#define FLEXIO_PARAM_PIN_SHIFT (16U) +/*! PIN - Pin Number */ +#define FLEXIO_PARAM_PIN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_PIN_SHIFT)) & FLEXIO_PARAM_PIN_MASK) + +#define FLEXIO_PARAM_TRIGGER_MASK (0xFF000000U) +#define FLEXIO_PARAM_TRIGGER_SHIFT (24U) +/*! TRIGGER - Trigger Number */ +#define FLEXIO_PARAM_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TRIGGER_SHIFT)) & FLEXIO_PARAM_TRIGGER_MASK) +/*! @} */ + +/*! @name CTRL - FLEXIO Control */ +/*! @{ */ + +#define FLEXIO_CTRL_FLEXEN_MASK (0x1U) +#define FLEXIO_CTRL_FLEXEN_SHIFT (0U) +/*! FLEXEN - FLEXIO Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXIO_CTRL_FLEXEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FLEXEN_SHIFT)) & FLEXIO_CTRL_FLEXEN_MASK) + +#define FLEXIO_CTRL_SWRST_MASK (0x2U) +#define FLEXIO_CTRL_SWRST_SHIFT (1U) +/*! SWRST - Software Reset + * 0b0..Disabled + * 0b1..Enabled + */ +#define FLEXIO_CTRL_SWRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_SWRST_SHIFT)) & FLEXIO_CTRL_SWRST_MASK) + +#define FLEXIO_CTRL_FASTACC_MASK (0x4U) +#define FLEXIO_CTRL_FASTACC_SHIFT (2U) +/*! FASTACC - Fast Access + * 0b0..Normal + * 0b1..Fast + */ +#define FLEXIO_CTRL_FASTACC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FASTACC_SHIFT)) & FLEXIO_CTRL_FASTACC_MASK) + +#define FLEXIO_CTRL_DBGE_MASK (0x40000000U) +#define FLEXIO_CTRL_DBGE_SHIFT (30U) +/*! DBGE - Debug Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXIO_CTRL_DBGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DBGE_SHIFT)) & FLEXIO_CTRL_DBGE_MASK) + +#define FLEXIO_CTRL_DOZEN_MASK (0x80000000U) +#define FLEXIO_CTRL_DOZEN_SHIFT (31U) +/*! DOZEN - Doze Enable + * 0b0..Enable + * 0b1..Disable + */ +#define FLEXIO_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DOZEN_SHIFT)) & FLEXIO_CTRL_DOZEN_MASK) +/*! @} */ + +/*! @name PIN - Pin State */ +/*! @{ */ + +#define FLEXIO_PIN_PDI_MASK (0xFFFFFFFFU) +#define FLEXIO_PIN_PDI_SHIFT (0U) +/*! PDI - Pin Data Input */ +#define FLEXIO_PIN_PDI(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PIN_PDI_SHIFT)) & FLEXIO_PIN_PDI_MASK) +/*! @} */ + +/*! @name SHIFTSTAT - Shifter Status */ +/*! @{ */ + +#define FLEXIO_SHIFTSTAT_SSF_MASK (0xFFU) +#define FLEXIO_SHIFTSTAT_SSF_SHIFT (0U) +/*! SSF - Shifter Status Flag + * 0b00000000..Clear + * 0b00000000..No effect + * 0b00000001..Set + * 0b00000001..Clear the flag + */ +#define FLEXIO_SHIFTSTAT_SSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTAT_SSF_SHIFT)) & FLEXIO_SHIFTSTAT_SSF_MASK) +/*! @} */ + +/*! @name SHIFTERR - Shifter Error */ +/*! @{ */ + +#define FLEXIO_SHIFTERR_SEF_MASK (0xFFU) +#define FLEXIO_SHIFTERR_SEF_SHIFT (0U) +/*! SEF - Shifter Error Flag + * 0b00000000..Clear + * 0b00000000..No effect + * 0b00000001..Set + * 0b00000001..Clear the flag + */ +#define FLEXIO_SHIFTERR_SEF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTERR_SEF_SHIFT)) & FLEXIO_SHIFTERR_SEF_MASK) +/*! @} */ + +/*! @name TIMSTAT - Timer Status Flag */ +/*! @{ */ + +#define FLEXIO_TIMSTAT_TSF_MASK (0xFFU) +#define FLEXIO_TIMSTAT_TSF_SHIFT (0U) +/*! TSF - Timer Status Flag + * 0b00000000..Clear + * 0b00000000..No effect + * 0b00000001..Set + * 0b00000001..Clear the flag + */ +#define FLEXIO_TIMSTAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMSTAT_TSF_SHIFT)) & FLEXIO_TIMSTAT_TSF_MASK) +/*! @} */ + +/*! @name SHIFTSIEN - Shifter Status Interrupt Enable */ +/*! @{ */ + +#define FLEXIO_SHIFTSIEN_SSIE_MASK (0xFFU) +#define FLEXIO_SHIFTSIEN_SSIE_SHIFT (0U) +/*! SSIE - Shifter Status Interrupt Enable */ +#define FLEXIO_SHIFTSIEN_SSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSIEN_SSIE_SHIFT)) & FLEXIO_SHIFTSIEN_SSIE_MASK) +/*! @} */ + +/*! @name SHIFTEIEN - Shifter Error Interrupt Enable */ +/*! @{ */ + +#define FLEXIO_SHIFTEIEN_SEIE_MASK (0xFFU) +#define FLEXIO_SHIFTEIEN_SEIE_SHIFT (0U) +/*! SEIE - Shifter Error Interrupt Enable */ +#define FLEXIO_SHIFTEIEN_SEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTEIEN_SEIE_SHIFT)) & FLEXIO_SHIFTEIEN_SEIE_MASK) +/*! @} */ + +/*! @name TIMIEN - Timer Interrupt Enable */ +/*! @{ */ + +#define FLEXIO_TIMIEN_TEIE_MASK (0xFFU) +#define FLEXIO_TIMIEN_TEIE_SHIFT (0U) +/*! TEIE - Timer Status Interrupt Enable */ +#define FLEXIO_TIMIEN_TEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMIEN_TEIE_SHIFT)) & FLEXIO_TIMIEN_TEIE_MASK) +/*! @} */ + +/*! @name SHIFTSDEN - Shifter Status DMA Enable */ +/*! @{ */ + +#define FLEXIO_SHIFTSDEN_SSDE_MASK (0xFFU) +#define FLEXIO_SHIFTSDEN_SSDE_SHIFT (0U) +/*! SSDE - Shifter Status DMA Enable */ +#define FLEXIO_SHIFTSDEN_SSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSDEN_SSDE_SHIFT)) & FLEXIO_SHIFTSDEN_SSDE_MASK) +/*! @} */ + +/*! @name TIMERSDEN - Timer Status DMA Enable */ +/*! @{ */ + +#define FLEXIO_TIMERSDEN_TSDE_MASK (0xFFU) +#define FLEXIO_TIMERSDEN_TSDE_SHIFT (0U) +/*! TSDE - Timer Status DMA Enable */ +#define FLEXIO_TIMERSDEN_TSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMERSDEN_TSDE_SHIFT)) & FLEXIO_TIMERSDEN_TSDE_MASK) +/*! @} */ + +/*! @name SHIFTSTATE - Shifter State */ +/*! @{ */ + +#define FLEXIO_SHIFTSTATE_STATE_MASK (0x7U) +#define FLEXIO_SHIFTSTATE_STATE_SHIFT (0U) +/*! STATE - Current State Pointer */ +#define FLEXIO_SHIFTSTATE_STATE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTATE_STATE_SHIFT)) & FLEXIO_SHIFTSTATE_STATE_MASK) +/*! @} */ + +/*! @name TRGSTAT - Trigger Status */ +/*! @{ */ + +#define FLEXIO_TRGSTAT_ETSF_MASK (0xFU) +#define FLEXIO_TRGSTAT_ETSF_SHIFT (0U) +/*! ETSF - External Trigger Status Flag + * 0b0000..Clear + * 0b0000..No effect + * 0b0001..Set + * 0b0001..Clear the flag + */ +#define FLEXIO_TRGSTAT_ETSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TRGSTAT_ETSF_SHIFT)) & FLEXIO_TRGSTAT_ETSF_MASK) +/*! @} */ + +/*! @name TRIGIEN - External Trigger Interrupt Enable */ +/*! @{ */ + +#define FLEXIO_TRIGIEN_TRIE_MASK (0xFU) +#define FLEXIO_TRIGIEN_TRIE_SHIFT (0U) +/*! TRIE - External Trigger Interrupt Enable */ +#define FLEXIO_TRIGIEN_TRIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TRIGIEN_TRIE_SHIFT)) & FLEXIO_TRIGIEN_TRIE_MASK) +/*! @} */ + +/*! @name PINSTAT - Pin Status */ +/*! @{ */ + +#define FLEXIO_PINSTAT_PSF_MASK (0xFFFFFFFFU) +#define FLEXIO_PINSTAT_PSF_SHIFT (0U) +/*! PSF - Pin Status Flag + * 0b00000000000000000000000000000000..Clear + * 0b00000000000000000000000000000000..No effect + * 0b00000000000000000000000000000001..Set + * 0b00000000000000000000000000000001..Clear the flag + */ +#define FLEXIO_PINSTAT_PSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINSTAT_PSF_SHIFT)) & FLEXIO_PINSTAT_PSF_MASK) +/*! @} */ + +/*! @name PINIEN - Pin Interrupt Enable */ +/*! @{ */ + +#define FLEXIO_PINIEN_PSIE_MASK (0xFFFFFFFFU) +#define FLEXIO_PINIEN_PSIE_SHIFT (0U) +/*! PSIE - Pin Status Interrupt Enable */ +#define FLEXIO_PINIEN_PSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINIEN_PSIE_SHIFT)) & FLEXIO_PINIEN_PSIE_MASK) +/*! @} */ + +/*! @name PINREN - Pin Rising Edge Enable */ +/*! @{ */ + +#define FLEXIO_PINREN_PRE_MASK (0xFFFFFFFFU) +#define FLEXIO_PINREN_PRE_SHIFT (0U) +/*! PRE - Pin Rising Edge */ +#define FLEXIO_PINREN_PRE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINREN_PRE_SHIFT)) & FLEXIO_PINREN_PRE_MASK) +/*! @} */ + +/*! @name PINFEN - Pin Falling Edge Enable */ +/*! @{ */ + +#define FLEXIO_PINFEN_PFE_MASK (0xFFFFFFFFU) +#define FLEXIO_PINFEN_PFE_SHIFT (0U) +/*! PFE - Pin Falling Edge */ +#define FLEXIO_PINFEN_PFE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINFEN_PFE_SHIFT)) & FLEXIO_PINFEN_PFE_MASK) +/*! @} */ + +/*! @name PINOUTD - Pin Output Data */ +/*! @{ */ + +#define FLEXIO_PINOUTD_OUTD_MASK (0xFFFFFFFFU) +#define FLEXIO_PINOUTD_OUTD_SHIFT (0U) +/*! OUTD - Output Data */ +#define FLEXIO_PINOUTD_OUTD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINOUTD_OUTD_SHIFT)) & FLEXIO_PINOUTD_OUTD_MASK) +/*! @} */ + +/*! @name PINOUTE - Pin Output Enable */ +/*! @{ */ + +#define FLEXIO_PINOUTE_OUTE_MASK (0xFFFFFFFFU) +#define FLEXIO_PINOUTE_OUTE_SHIFT (0U) +/*! OUTE - Output Enable */ +#define FLEXIO_PINOUTE_OUTE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINOUTE_OUTE_SHIFT)) & FLEXIO_PINOUTE_OUTE_MASK) +/*! @} */ + +/*! @name PINOUTDIS - Pin Output Disable */ +/*! @{ */ + +#define FLEXIO_PINOUTDIS_OUTDIS_MASK (0xFFFFFFFFU) +#define FLEXIO_PINOUTDIS_OUTDIS_SHIFT (0U) +/*! OUTDIS - Output Disable */ +#define FLEXIO_PINOUTDIS_OUTDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINOUTDIS_OUTDIS_SHIFT)) & FLEXIO_PINOUTDIS_OUTDIS_MASK) +/*! @} */ + +/*! @name PINOUTCLR - Pin Output Clear */ +/*! @{ */ + +#define FLEXIO_PINOUTCLR_OUTCLR_MASK (0xFFFFFFFFU) +#define FLEXIO_PINOUTCLR_OUTCLR_SHIFT (0U) +/*! OUTCLR - Output Clear */ +#define FLEXIO_PINOUTCLR_OUTCLR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINOUTCLR_OUTCLR_SHIFT)) & FLEXIO_PINOUTCLR_OUTCLR_MASK) +/*! @} */ + +/*! @name PINOUTSET - Pin Output Set */ +/*! @{ */ + +#define FLEXIO_PINOUTSET_OUTSET_MASK (0xFFFFFFFFU) +#define FLEXIO_PINOUTSET_OUTSET_SHIFT (0U) +/*! OUTSET - Output Set */ +#define FLEXIO_PINOUTSET_OUTSET(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINOUTSET_OUTSET_SHIFT)) & FLEXIO_PINOUTSET_OUTSET_MASK) +/*! @} */ + +/*! @name PINOUTTOG - Pin Output Toggle */ +/*! @{ */ + +#define FLEXIO_PINOUTTOG_OUTTOG_MASK (0xFFFFFFFFU) +#define FLEXIO_PINOUTTOG_OUTTOG_SHIFT (0U) +/*! OUTTOG - Output Toggle */ +#define FLEXIO_PINOUTTOG_OUTTOG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PINOUTTOG_OUTTOG_SHIFT)) & FLEXIO_PINOUTTOG_OUTTOG_MASK) +/*! @} */ + +/*! @name SHIFTCTL - Shifter Control */ +/*! @{ */ + +#define FLEXIO_SHIFTCTL_SMOD_MASK (0x7U) +#define FLEXIO_SHIFTCTL_SMOD_SHIFT (0U) +/*! SMOD - Shifter Mode + * 0b000..Disable + * 0b001..Receive mode; capture the current shifter content into SHIFTBUF on expiration of the timer + * 0b010..Transmit mode; load SHIFTBUF contents into the shifter on expiration of the timer + * 0b011..Reserved + * 0b100..Match Store mode; shifter data is compared to SHIFTBUF content on expiration of the timer + * 0b101..Match Continuous mode; shifter data is continuously compared to SHIFTBUF contents + * 0b110..State mode; SHIFTBUF contents store programmable state attributes + * 0b111..Logic mode; SHIFTBUF contents implement programmable logic lookup table + */ +#define FLEXIO_SHIFTCTL_SMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_SMOD_SHIFT)) & FLEXIO_SHIFTCTL_SMOD_MASK) + +#define FLEXIO_SHIFTCTL_PINPOL_MASK (0x80U) +#define FLEXIO_SHIFTCTL_PINPOL_SHIFT (7U) +/*! PINPOL - Shifter Pin Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define FLEXIO_SHIFTCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINPOL_SHIFT)) & FLEXIO_SHIFTCTL_PINPOL_MASK) + +#define FLEXIO_SHIFTCTL_PINSEL_MASK (0x1F00U) +#define FLEXIO_SHIFTCTL_PINSEL_SHIFT (8U) +/*! PINSEL - Shifter Pin Select */ +#define FLEXIO_SHIFTCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINSEL_SHIFT)) & FLEXIO_SHIFTCTL_PINSEL_MASK) + +#define FLEXIO_SHIFTCTL_PINCFG_MASK (0x30000U) +#define FLEXIO_SHIFTCTL_PINCFG_SHIFT (16U) +/*! PINCFG - Shifter Pin Configuration + * 0b00..Shifter pin output disabled + * 0b01..Shifter pin open-drain or bidirectional output enable + * 0b10..Shifter pin bidirectional output data + * 0b11..Shifter pin output + */ +#define FLEXIO_SHIFTCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINCFG_SHIFT)) & FLEXIO_SHIFTCTL_PINCFG_MASK) + +#define FLEXIO_SHIFTCTL_TIMPOL_MASK (0x800000U) +#define FLEXIO_SHIFTCTL_TIMPOL_SHIFT (23U) +/*! TIMPOL - Timer Polarity + * 0b0..Positive edge + * 0b1..Negative edge + */ +#define FLEXIO_SHIFTCTL_TIMPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMPOL_SHIFT)) & FLEXIO_SHIFTCTL_TIMPOL_MASK) + +#define FLEXIO_SHIFTCTL_TIMSEL_MASK (0x7000000U) +#define FLEXIO_SHIFTCTL_TIMSEL_SHIFT (24U) +/*! TIMSEL - Timer Select */ +#define FLEXIO_SHIFTCTL_TIMSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMSEL_SHIFT)) & FLEXIO_SHIFTCTL_TIMSEL_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTCTL */ +#define FLEXIO_SHIFTCTL_COUNT (8U) + +/*! @name SHIFTCFG - Shifter Configuration */ +/*! @{ */ + +#define FLEXIO_SHIFTCFG_SSTART_MASK (0x3U) +#define FLEXIO_SHIFTCFG_SSTART_SHIFT (0U) +/*! SSTART - Shifter Start + * 0b00..Start bit disabled for Transmitter, Receiver, and Match Store modes; Transmitter mode loads data on enable + * 0b01..Start bit disabled for Transmitter, Receiver, and Match Store modes; Transmitter mode loads data on first shift + * 0b10..Transmitter mode outputs start bit value 0 before loading data on first shift; if start bit is not 0, + * Receiver and Match Store modes set error flag + * 0b11..Transmitter mode outputs start bit value 1 before loading data on first shift; if start bit is not 1, + * Receiver and Match Store modes set error flag + */ +#define FLEXIO_SHIFTCFG_SSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTART_SHIFT)) & FLEXIO_SHIFTCFG_SSTART_MASK) + +#define FLEXIO_SHIFTCFG_SSTOP_MASK (0x30U) +#define FLEXIO_SHIFTCFG_SSTOP_SHIFT (4U) +/*! SSTOP - Shifter Stop + * 0b00..Stop bit disabled for Transmitter, Receiver, and Match Store modes + * 0b01..Stop bit disabled for Transmitter, Receiver, and Match Store modes; when timer is in stop condition, + * Receiver and Match Store modes store receive data on the configured shift edge + * 0b10..Transmitter mode outputs stop bit value 0 in Match Store mode; if stop bit is not 0, Receiver and Match + * Store modes set error flag (when timer is in stop condition, these modes also store receive data on the + * configured shift edge) + * 0b11..Transmitter mode outputs stop bit value 1 in Match Store mode; if stop bit is not 1, Receiver and Match + * Store modes set error flag (when timer is in stop condition, these modes also store receive data on the + * configured shift edge) + */ +#define FLEXIO_SHIFTCFG_SSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTOP_SHIFT)) & FLEXIO_SHIFTCFG_SSTOP_MASK) + +#define FLEXIO_SHIFTCFG_INSRC_MASK (0x100U) +#define FLEXIO_SHIFTCFG_INSRC_SHIFT (8U) +/*! INSRC - Input Source + * 0b0..Pin + * 0b1..Shifter n+1 output + */ +#define FLEXIO_SHIFTCFG_INSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_INSRC_SHIFT)) & FLEXIO_SHIFTCFG_INSRC_MASK) + +#define FLEXIO_SHIFTCFG_LATST_MASK (0x200U) +#define FLEXIO_SHIFTCFG_LATST_SHIFT (9U) +/*! LATST - Late Store + * 0b0..Store the pre-shift register state + * 0b1..Store the post-shift register state + */ +#define FLEXIO_SHIFTCFG_LATST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_LATST_SHIFT)) & FLEXIO_SHIFTCFG_LATST_MASK) + +#define FLEXIO_SHIFTCFG_SSIZE_MASK (0x1000U) +#define FLEXIO_SHIFTCFG_SSIZE_SHIFT (12U) +/*! SSIZE - Shifter Size + * 0b0..32-bit + * 0b1..24-bit + */ +#define FLEXIO_SHIFTCFG_SSIZE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSIZE_SHIFT)) & FLEXIO_SHIFTCFG_SSIZE_MASK) + +#define FLEXIO_SHIFTCFG_PWIDTH_MASK (0x1F0000U) +#define FLEXIO_SHIFTCFG_PWIDTH_SHIFT (16U) +/*! PWIDTH - Parallel Width */ +#define FLEXIO_SHIFTCFG_PWIDTH(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_PWIDTH_SHIFT)) & FLEXIO_SHIFTCFG_PWIDTH_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTCFG */ +#define FLEXIO_SHIFTCFG_COUNT (8U) + +/*! @name SHIFTBUF - Shifter Buffer */ +/*! @{ */ + +#define FLEXIO_SHIFTBUF_SHIFTBUF_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT (0U) +/*! SHIFTBUF - Shift Buffer */ +#define FLEXIO_SHIFTBUF_SHIFTBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT)) & FLEXIO_SHIFTBUF_SHIFTBUF_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUF */ +#define FLEXIO_SHIFTBUF_COUNT (8U) + +/*! @name SHIFTBUFBIS - Shifter Buffer Bit Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT (0U) +/*! SHIFTBUFBIS - Shift Buffer */ +#define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT)) & FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFBIS */ +#define FLEXIO_SHIFTBUFBIS_COUNT (8U) + +/*! @name SHIFTBUFBYS - Shifter Buffer Byte Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT (0U) +/*! SHIFTBUFBYS - Shift Buffer */ +#define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT)) & FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFBYS */ +#define FLEXIO_SHIFTBUFBYS_COUNT (8U) + +/*! @name SHIFTBUFBBS - Shifter Buffer Bit Byte Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT (0U) +/*! SHIFTBUFBBS - Shift Buffer */ +#define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT)) & FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFBBS */ +#define FLEXIO_SHIFTBUFBBS_COUNT (8U) + +/*! @name TIMCTL - Timer Control */ +/*! @{ */ + +#define FLEXIO_TIMCTL_TIMOD_MASK (0x7U) +#define FLEXIO_TIMCTL_TIMOD_SHIFT (0U) +/*! TIMOD - Timer Mode + * 0b000..Timer disabled + * 0b001..Dual 8-bit counters baud mode + * 0b010..Dual 8-bit counters PWM high mode + * 0b011..Single 16-bit counter mode + * 0b100..Single 16-bit counter disable mode + * 0b101..Dual 8-bit counters word mode + * 0b110..Dual 8-bit counters PWM low mode + * 0b111..Single 16-bit input capture mode + */ +#define FLEXIO_TIMCTL_TIMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TIMOD_SHIFT)) & FLEXIO_TIMCTL_TIMOD_MASK) + +#define FLEXIO_TIMCTL_ONETIM_MASK (0x20U) +#define FLEXIO_TIMCTL_ONETIM_SHIFT (5U) +/*! ONETIM - Timer One Time Operation + * 0b0..Generate the timer enable event as normal + * 0b1..Block the timer enable event unless the timer status flag is clear + */ +#define FLEXIO_TIMCTL_ONETIM(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_ONETIM_SHIFT)) & FLEXIO_TIMCTL_ONETIM_MASK) + +#define FLEXIO_TIMCTL_PININS_MASK (0x40U) +#define FLEXIO_TIMCTL_PININS_SHIFT (6U) +/*! PININS - Timer Pin Input Select + * 0b0..PINSEL selects timer pin input and output + * 0b1..PINSEL + 1 selects the timer pin input; timer pin output remains selected by PINSEL + */ +#define FLEXIO_TIMCTL_PININS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PININS_SHIFT)) & FLEXIO_TIMCTL_PININS_MASK) + +#define FLEXIO_TIMCTL_PINPOL_MASK (0x80U) +#define FLEXIO_TIMCTL_PINPOL_SHIFT (7U) +/*! PINPOL - Timer Pin Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define FLEXIO_TIMCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINPOL_SHIFT)) & FLEXIO_TIMCTL_PINPOL_MASK) + +#define FLEXIO_TIMCTL_PINSEL_MASK (0x1F00U) +#define FLEXIO_TIMCTL_PINSEL_SHIFT (8U) +/*! PINSEL - Timer Pin Select */ +#define FLEXIO_TIMCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINSEL_SHIFT)) & FLEXIO_TIMCTL_PINSEL_MASK) + +#define FLEXIO_TIMCTL_PINCFG_MASK (0x30000U) +#define FLEXIO_TIMCTL_PINCFG_SHIFT (16U) +/*! PINCFG - Timer Pin Configuration + * 0b00..Timer pin output disabled + * 0b01..Timer pin open-drain or bidirectional output enable + * 0b10..Timer pin bidirectional output data + * 0b11..Timer pin output + */ +#define FLEXIO_TIMCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINCFG_SHIFT)) & FLEXIO_TIMCTL_PINCFG_MASK) + +#define FLEXIO_TIMCTL_TRGSRC_MASK (0x400000U) +#define FLEXIO_TIMCTL_TRGSRC_SHIFT (22U) +/*! TRGSRC - Trigger Source + * 0b0..External + * 0b1..Internal + */ +#define FLEXIO_TIMCTL_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSRC_SHIFT)) & FLEXIO_TIMCTL_TRGSRC_MASK) + +#define FLEXIO_TIMCTL_TRGPOL_MASK (0x800000U) +#define FLEXIO_TIMCTL_TRGPOL_SHIFT (23U) +/*! TRGPOL - Trigger Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define FLEXIO_TIMCTL_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGPOL_SHIFT)) & FLEXIO_TIMCTL_TRGPOL_MASK) + +#define FLEXIO_TIMCTL_TRGSEL_MASK (0x3F000000U) +#define FLEXIO_TIMCTL_TRGSEL_SHIFT (24U) +/*! TRGSEL - Trigger Select */ +#define FLEXIO_TIMCTL_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSEL_SHIFT)) & FLEXIO_TIMCTL_TRGSEL_MASK) +/*! @} */ + +/* The count of FLEXIO_TIMCTL */ +#define FLEXIO_TIMCTL_COUNT (8U) + +/*! @name TIMCFG - Timer Configuration */ +/*! @{ */ + +#define FLEXIO_TIMCFG_TSTART_MASK (0x2U) +#define FLEXIO_TIMCFG_TSTART_SHIFT (1U) +/*! TSTART - Timer Start + * 0b0..Disabled + * 0b1..Enabled + */ +#define FLEXIO_TIMCFG_TSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTART_SHIFT)) & FLEXIO_TIMCFG_TSTART_MASK) + +#define FLEXIO_TIMCFG_TSTOP_MASK (0x30U) +#define FLEXIO_TIMCFG_TSTOP_SHIFT (4U) +/*! TSTOP - Timer Stop + * 0b00..Disabled + * 0b01..Enabled on timer compare + * 0b10..Enabled on timer disable + * 0b11..Enabled on timer compare and timer disable + */ +#define FLEXIO_TIMCFG_TSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTOP_SHIFT)) & FLEXIO_TIMCFG_TSTOP_MASK) + +#define FLEXIO_TIMCFG_TIMENA_MASK (0x700U) +#define FLEXIO_TIMCFG_TIMENA_SHIFT (8U) +/*! TIMENA - Timer Enable + * 0b000..Timer always enabled + * 0b001..Timer enabled on timer n-1 enable + * 0b010..Timer enabled on trigger high + * 0b011..Timer enabled on trigger high and pin high + * 0b100..Timer enabled on pin rising edge + * 0b101..Timer enabled on pin rising edge and trigger high + * 0b110..Timer enabled on trigger rising edge + * 0b111..Timer enabled on trigger rising or falling edge + */ +#define FLEXIO_TIMCFG_TIMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMENA_SHIFT)) & FLEXIO_TIMCFG_TIMENA_MASK) + +#define FLEXIO_TIMCFG_TIMDIS_MASK (0x7000U) +#define FLEXIO_TIMCFG_TIMDIS_SHIFT (12U) +/*! TIMDIS - Timer Disable + * 0b000..Timer never disabled + * 0b001..Timer disabled on timer n-1 disable + * 0b010..Timer disabled on timer compare (upper 8 bits match and decrement) + * 0b011..Timer disabled on timer compare (upper 8 bits match and decrement) and trigger low + * 0b100..Timer disabled on pin rising or falling edge + * 0b101..Timer disabled on pin rising or falling edge provided trigger is high + * 0b110..Timer disabled on trigger falling edge + * 0b111..Reserved + */ +#define FLEXIO_TIMCFG_TIMDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDIS_SHIFT)) & FLEXIO_TIMCFG_TIMDIS_MASK) + +#define FLEXIO_TIMCFG_TIMRST_MASK (0x70000U) +#define FLEXIO_TIMCFG_TIMRST_SHIFT (16U) +/*! TIMRST - Timer Reset + * 0b000..Never reset timer + * 0b001..Timer reset on timer output high. + * 0b010..Timer reset on timer pin equal to timer output + * 0b011..Timer reset on timer trigger equal to timer output + * 0b100..Timer reset on timer pin rising edge + * 0b101..Reserved + * 0b110..Timer reset on trigger rising edge + * 0b111..Timer reset on trigger rising or falling edge + */ +#define FLEXIO_TIMCFG_TIMRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMRST_SHIFT)) & FLEXIO_TIMCFG_TIMRST_MASK) + +#define FLEXIO_TIMCFG_TIMDEC_MASK (0x700000U) +#define FLEXIO_TIMCFG_TIMDEC_SHIFT (20U) +/*! TIMDEC - Timer Decrement + * 0b000..Decrement counter on FLEXIO clock; shift clock equals timer output + * 0b001..Decrement counter on trigger input (both edges); shift clock equals timer output + * 0b010..Decrement counter on pin input (both edges); shift clock equals pin input + * 0b011..Decrement counter on trigger input (both edges); shift clock equals trigger input + * 0b100..Decrement counter on FLEXIO clock divided by 16; shift clock equals timer output + * 0b101..Decrement counter on FLEXIO clock divided by 256; shift clock equals timer output + * 0b110..Decrement counter on pin input (rising edge); shift clock equals pin input + * 0b111..Decrement counter on trigger input (rising edge); shift clock equals trigger input + */ +#define FLEXIO_TIMCFG_TIMDEC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDEC_SHIFT)) & FLEXIO_TIMCFG_TIMDEC_MASK) + +#define FLEXIO_TIMCFG_TIMOUT_MASK (0x3000000U) +#define FLEXIO_TIMCFG_TIMOUT_SHIFT (24U) +/*! TIMOUT - Timer Output + * 0b00..Logic one when enabled; not affected by timer reset + * 0b01..Logic zero when enabled; not affected by timer reset + * 0b10..Logic one when enabled and on timer reset + * 0b11..Logic zero when enabled and on timer reset + */ +#define FLEXIO_TIMCFG_TIMOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMOUT_SHIFT)) & FLEXIO_TIMCFG_TIMOUT_MASK) +/*! @} */ + +/* The count of FLEXIO_TIMCFG */ +#define FLEXIO_TIMCFG_COUNT (8U) + +/*! @name TIMCMP - Timer Compare */ +/*! @{ */ + +#define FLEXIO_TIMCMP_CMP_MASK (0xFFFFU) +#define FLEXIO_TIMCMP_CMP_SHIFT (0U) +/*! CMP - Timer Compare Value */ +#define FLEXIO_TIMCMP_CMP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCMP_CMP_SHIFT)) & FLEXIO_TIMCMP_CMP_MASK) +/*! @} */ + +/* The count of FLEXIO_TIMCMP */ +#define FLEXIO_TIMCMP_COUNT (8U) + +/*! @name SHIFTBUFNBS - Shifter Buffer Nibble Byte Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT (0U) +/*! SHIFTBUFNBS - Shift Buffer */ +#define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT)) & FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFNBS */ +#define FLEXIO_SHIFTBUFNBS_COUNT (8U) + +/*! @name SHIFTBUFHWS - Shifter Buffer Halfword Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT (0U) +/*! SHIFTBUFHWS - Shift Buffer */ +#define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT)) & FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFHWS */ +#define FLEXIO_SHIFTBUFHWS_COUNT (8U) + +/*! @name SHIFTBUFNIS - Shifter Buffer Nibble Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT (0U) +/*! SHIFTBUFNIS - Shift Buffer */ +#define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT)) & FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFNIS */ +#define FLEXIO_SHIFTBUFNIS_COUNT (8U) + +/*! @name SHIFTBUFOES - Shifter Buffer Odd Even Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFOES_SHIFTBUFOES_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFOES_SHIFTBUFOES_SHIFT (0U) +/*! SHIFTBUFOES - Shift Buffer */ +#define FLEXIO_SHIFTBUFOES_SHIFTBUFOES(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFOES_SHIFTBUFOES_SHIFT)) & FLEXIO_SHIFTBUFOES_SHIFTBUFOES_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFOES */ +#define FLEXIO_SHIFTBUFOES_COUNT (8U) + +/*! @name SHIFTBUFEOS - Shifter Buffer Even Odd Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_SHIFT (0U) +/*! SHIFTBUFEOS - Shift Buffer */ +#define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_SHIFT)) & FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFEOS */ +#define FLEXIO_SHIFTBUFEOS_COUNT (8U) + +/*! @name SHIFTBUFHBS - Shifter Buffer Halfword Byte Swapped */ +/*! @{ */ + +#define FLEXIO_SHIFTBUFHBS_SHIFTBUFHBS_MASK (0xFFFFFFFFU) +#define FLEXIO_SHIFTBUFHBS_SHIFTBUFHBS_SHIFT (0U) +/*! SHIFTBUFHBS - Shift Buffer */ +#define FLEXIO_SHIFTBUFHBS_SHIFTBUFHBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFHBS_SHIFTBUFHBS_SHIFT)) & FLEXIO_SHIFTBUFHBS_SHIFTBUFHBS_MASK) +/*! @} */ + +/* The count of FLEXIO_SHIFTBUFHBS */ +#define FLEXIO_SHIFTBUFHBS_COUNT (8U) + + +/*! + * @} + */ /* end of group FLEXIO_Register_Masks */ + + +/* FLEXIO - Peripheral instance base addresses */ +/** Peripheral FLEXIO1 base address */ +#define FLEXIO1_BASE (0x425C0000u) +/** Peripheral FLEXIO1 base pointer */ +#define FLEXIO1 ((FLEXIO_Type *)FLEXIO1_BASE) +/** Peripheral FLEXIO2 base address */ +#define FLEXIO2_BASE (0x425D0000u) +/** Peripheral FLEXIO2 base pointer */ +#define FLEXIO2 ((FLEXIO_Type *)FLEXIO2_BASE) +/** Array initializer of FLEXIO peripheral base addresses */ +#define FLEXIO_BASE_ADDRS { FLEXIO1_BASE, FLEXIO2_BASE } +/** Array initializer of FLEXIO peripheral base pointers */ +#define FLEXIO_BASE_PTRS { FLEXIO1, FLEXIO2 } + +/*! + * @} + */ /* end of group FLEXIO_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- FLEXSPI Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup FLEXSPI_Peripheral_Access_Layer FLEXSPI Peripheral Access Layer + * @{ + */ + +/** FLEXSPI - Register Layout Typedef */ +typedef struct { + __IO uint32_t MCR0; /**< Module Control 0, offset: 0x0 */ + __IO uint32_t MCR1; /**< Module Control 1, offset: 0x4 */ + __IO uint32_t MCR2; /**< Module Control 2, offset: 0x8 */ + __IO uint32_t AHBCR; /**< AHB Bus Control, offset: 0xC */ + __IO uint32_t INTEN; /**< Interrupt Enable, offset: 0x10 */ + __IO uint32_t INTR; /**< Interrupt, offset: 0x14 */ + __IO uint32_t LUTKEY; /**< LUT Key, offset: 0x18 */ + __IO uint32_t LUTCR; /**< LUT Control, offset: 0x1C */ + __IO uint32_t AHBRXBUFCR0[8]; /**< AHB Receive Buffer 0 Control 0..AHB Receive Buffer 7 Control 0, array offset: 0x20, array step: 0x4 */ + uint8_t RESERVED_0[32]; + __IO uint32_t FLSHCR0[4]; /**< Flash Control 0, array offset: 0x60, array step: 0x4 */ + __IO uint32_t FLSHCR1[4]; /**< Flash Control 1, array offset: 0x70, array step: 0x4 */ + __IO uint32_t FLSHCR2[4]; /**< Flash Control 2, array offset: 0x80, array step: 0x4 */ + uint8_t RESERVED_1[4]; + __IO uint32_t FLSHCR4; /**< Flash Control 4, offset: 0x94 */ + uint8_t RESERVED_2[8]; + __IO uint32_t IPCR0; /**< IP Control 0, offset: 0xA0 */ + __IO uint32_t IPCR1; /**< IP Control 1, offset: 0xA4 */ + __IO uint32_t IPCR2; /**< IP Control 2, offset: 0xA8 */ + uint8_t RESERVED_3[4]; + __IO uint32_t IPCMD; /**< IP Command, offset: 0xB0 */ + __IO uint32_t DLPR; /**< Data Learning Pattern, offset: 0xB4 */ + __IO uint32_t IPRXFCR; /**< IP Receive FIFO Control, offset: 0xB8 */ + __IO uint32_t IPTXFCR; /**< IP Transmit FIFO Control, offset: 0xBC */ + __IO uint32_t DLLCR[2]; /**< DLL Control 0, array offset: 0xC0, array step: 0x4 */ + uint8_t RESERVED_4[24]; + __I uint32_t STS0; /**< Status 0, offset: 0xE0 */ + __I uint32_t STS1; /**< Status 1, offset: 0xE4 */ + __I uint32_t STS2; /**< Status 2, offset: 0xE8 */ + __I uint32_t AHBSPNDSTS; /**< AHB Suspend Status, offset: 0xEC */ + __I uint32_t IPRXFSTS; /**< IP Receive FIFO Status, offset: 0xF0 */ + __I uint32_t IPTXFSTS; /**< IP Transmit FIFO Status, offset: 0xF4 */ + uint8_t RESERVED_5[8]; + __I uint32_t RFDR[32]; /**< IP Receive FIFO Data 0..IP Receive FIFO Data 31, array offset: 0x100, array step: 0x4 */ + __O uint32_t TFDR[32]; /**< IP TX FIFO Data 0..IP TX FIFO Data 31, array offset: 0x180, array step: 0x4 */ + __IO uint32_t LUT[128]; /**< Lookup Table 0..Lookup Table 127, array offset: 0x200, array step: 0x4 */ + uint8_t RESERVED_6[64]; + __IO uint32_t AHBBUFREGIONSTART0; /**< Receive Buffer Start Address of Region 0, offset: 0x440 */ + __IO uint32_t AHBBUFREGIONEND0; /**< Receive Buffer Region 0 End Address, offset: 0x444 */ + __IO uint32_t AHBBUFREGIONSTART1; /**< Receive Buffer Start Address of Region 1, offset: 0x448 */ + __IO uint32_t AHBBUFREGIONEND1; /**< Receive Buffer Region 1 End Address, offset: 0x44C */ + __IO uint32_t AHBBUFREGIONSTART2; /**< Receive Buffer Start Address of Region 2, offset: 0x450 */ + __IO uint32_t AHBBUFREGIONEND2; /**< Receive Buffer Region 2 End Address, offset: 0x454 */ + __IO uint32_t AHBBUFREGIONSTART3; /**< Receive Buffer Start Address of Region 3, offset: 0x458 */ + __IO uint32_t AHBBUFREGIONEND3; /**< Receive Buffer Region 3 End Address, offset: 0x45C */ +} FLEXSPI_Type; + +/* ---------------------------------------------------------------------------- + -- FLEXSPI Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup FLEXSPI_Register_Masks FLEXSPI Register Masks + * @{ + */ + +/*! @name MCR0 - Module Control 0 */ +/*! @{ */ + +#define FLEXSPI_MCR0_SWRESET_MASK (0x1U) +#define FLEXSPI_MCR0_SWRESET_SHIFT (0U) +/*! SWRESET - Software Reset + * 0b0..No impact + * 0b1..Software reset + */ +#define FLEXSPI_MCR0_SWRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SWRESET_SHIFT)) & FLEXSPI_MCR0_SWRESET_MASK) + +#define FLEXSPI_MCR0_MDIS_MASK (0x2U) +#define FLEXSPI_MCR0_MDIS_SHIFT (1U) +/*! MDIS - Module Disable + * 0b0..No impact + * 0b1..Module disable + */ +#define FLEXSPI_MCR0_MDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_MDIS_SHIFT)) & FLEXSPI_MCR0_MDIS_MASK) + +#define FLEXSPI_MCR0_RXCLKSRC_MASK (0x30U) +#define FLEXSPI_MCR0_RXCLKSRC_SHIFT (4U) +/*! RXCLKSRC - Sample Clock Source for Flash Reading + * 0b00..Dummy Read strobe that FlexSPI generates, looped back internally + * 0b01..Dummy Read strobe that FlexSPI generates, looped back from DQS pad + * 0b10..SCLK output clock and looped back from SCLK pad + * 0b11..Flash-memory-provided read strobe and input from DQS pad + */ +#define FLEXSPI_MCR0_RXCLKSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_RXCLKSRC_SHIFT)) & FLEXSPI_MCR0_RXCLKSRC_MASK) + +#define FLEXSPI_MCR0_ARDFEN_MASK (0x40U) +#define FLEXSPI_MCR0_ARDFEN_SHIFT (6U) +/*! ARDFEN - AHB Read Access to IP Receive FIFO Enable + * 0b0..AHB read access disabled. IP bus reads IP receive FIFO. AHB Bus read access to IP receive FIFO memory space produces bus error. + * 0b1..AHB read access enabled. AHB bus reads IP receive FIFO. IP Bus read access to IP receive FIFO memory + * space returns data zero and causes no bus error. + */ +#define FLEXSPI_MCR0_ARDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ARDFEN_SHIFT)) & FLEXSPI_MCR0_ARDFEN_MASK) + +#define FLEXSPI_MCR0_ATDFEN_MASK (0x80U) +#define FLEXSPI_MCR0_ATDFEN_SHIFT (7U) +/*! ATDFEN - AHB Write Access to IP Transmit FIFO Enable + * 0b0..AHB write access disabled. IP bus writes to IP transmit FIFO. AHB bus write access to IP transmit FIFO memory space produces bus error. + * 0b1..AHB write access enabled. AHB bus writes to IP transmit FIFO. IP Bus write access to IP transmit FIFO + * memory space is ignored and causes no bus error. + */ +#define FLEXSPI_MCR0_ATDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ATDFEN_SHIFT)) & FLEXSPI_MCR0_ATDFEN_MASK) + +#define FLEXSPI_MCR0_SERCLKDIV_MASK (0x700U) +#define FLEXSPI_MCR0_SERCLKDIV_SHIFT (8U) +/*! SERCLKDIV - Serial Root Clock Divider + * 0b000..Divided by 1 + * 0b001..Divided by 2 + * 0b010..Divided by 3 + * 0b011..Divided by 4 + * 0b100..Divided by 5 + * 0b101..Divided by 6 + * 0b110..Divided by 7 + * 0b111..Divided by 8 + */ +#define FLEXSPI_MCR0_SERCLKDIV(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SERCLKDIV_SHIFT)) & FLEXSPI_MCR0_SERCLKDIV_MASK) + +#define FLEXSPI_MCR0_HSEN_MASK (0x800U) +#define FLEXSPI_MCR0_HSEN_SHIFT (11U) +/*! HSEN - Half Speed Serial Flash Memory Access Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXSPI_MCR0_HSEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_HSEN_SHIFT)) & FLEXSPI_MCR0_HSEN_MASK) + +#define FLEXSPI_MCR0_DOZEEN_MASK (0x1000U) +#define FLEXSPI_MCR0_DOZEEN_SHIFT (12U) +/*! DOZEEN - Doze Mode Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXSPI_MCR0_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_DOZEEN_SHIFT)) & FLEXSPI_MCR0_DOZEEN_MASK) + +#define FLEXSPI_MCR0_SCKFREERUNEN_MASK (0x4000U) +#define FLEXSPI_MCR0_SCKFREERUNEN_SHIFT (14U) +/*! SCKFREERUNEN - SCLK Free-running Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXSPI_MCR0_SCKFREERUNEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SCKFREERUNEN_SHIFT)) & FLEXSPI_MCR0_SCKFREERUNEN_MASK) + +#define FLEXSPI_MCR0_LEARNEN_MASK (0x8000U) +#define FLEXSPI_MCR0_LEARNEN_SHIFT (15U) +/*! LEARNEN - Data Learning Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXSPI_MCR0_LEARNEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_LEARNEN_SHIFT)) & FLEXSPI_MCR0_LEARNEN_MASK) + +#define FLEXSPI_MCR0_IPGRANTWAIT_MASK (0xFF0000U) +#define FLEXSPI_MCR0_IPGRANTWAIT_SHIFT (16U) +/*! IPGRANTWAIT - Timeout Wait Cycle for IP Command Grant */ +#define FLEXSPI_MCR0_IPGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_IPGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_IPGRANTWAIT_MASK) + +#define FLEXSPI_MCR0_AHBGRANTWAIT_MASK (0xFF000000U) +#define FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT (24U) +/*! AHBGRANTWAIT - Timeouts Wait Cycle for AHB command Grant */ +#define FLEXSPI_MCR0_AHBGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_AHBGRANTWAIT_MASK) +/*! @} */ + +/*! @name MCR1 - Module Control 1 */ +/*! @{ */ + +#define FLEXSPI_MCR1_AHBBUSWAIT_MASK (0xFFFFU) +#define FLEXSPI_MCR1_AHBBUSWAIT_SHIFT (0U) +/*! AHBBUSWAIT - AHB Bus Wait */ +#define FLEXSPI_MCR1_AHBBUSWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_AHBBUSWAIT_SHIFT)) & FLEXSPI_MCR1_AHBBUSWAIT_MASK) + +#define FLEXSPI_MCR1_SEQWAIT_MASK (0xFFFF0000U) +#define FLEXSPI_MCR1_SEQWAIT_SHIFT (16U) +/*! SEQWAIT - Command Sequence Wait */ +#define FLEXSPI_MCR1_SEQWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_SEQWAIT_SHIFT)) & FLEXSPI_MCR1_SEQWAIT_MASK) +/*! @} */ + +/*! @name MCR2 - Module Control 2 */ +/*! @{ */ + +#define FLEXSPI_MCR2_CLRAHBBUFOPT_MASK (0x800U) +#define FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT (11U) +/*! CLRAHBBUFOPT - Clear AHB Buffer + * 0b0..Not cleared automatically + * 0b1..Cleared automatically + */ +#define FLEXSPI_MCR2_CLRAHBBUFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT)) & FLEXSPI_MCR2_CLRAHBBUFOPT_MASK) + +#define FLEXSPI_MCR2_CLRLEARNPHASE_MASK (0x4000U) +#define FLEXSPI_MCR2_CLRLEARNPHASE_SHIFT (14U) +/*! CLRLEARNPHASE - Clear Learn Phase Selection + * 0b0..No impact + * 0b1..Reset sample clock phase selection to 0 + */ +#define FLEXSPI_MCR2_CLRLEARNPHASE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRLEARNPHASE_SHIFT)) & FLEXSPI_MCR2_CLRLEARNPHASE_MASK) + +#define FLEXSPI_MCR2_SAMEDEVICEEN_MASK (0x8000U) +#define FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT (15U) +/*! SAMEDEVICEEN - Same Device Enable + * 0b0..In Individual mode, FLSHA1CRx and FLSHA2CRx, FLSHB1CRx and FLSHB2CRx settings are applied to Flash A1, A2, B1, B2 separately. + * 0b1..FLSHA1CR0, FLSHA1CR1, and FLSHA1CR2 register settings are applied to Flash A1, A2, B1, B2. FLSHA2CRx, + * FLSHB1CRx, and FLSHB2CRx settings are ignored. + */ +#define FLEXSPI_MCR2_SAMEDEVICEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT)) & FLEXSPI_MCR2_SAMEDEVICEEN_MASK) + +#define FLEXSPI_MCR2_RESUMEWAIT_MASK (0xFF000000U) +#define FLEXSPI_MCR2_RESUMEWAIT_SHIFT (24U) +/*! RESUMEWAIT - Resume Wait Duration */ +#define FLEXSPI_MCR2_RESUMEWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_RESUMEWAIT_SHIFT)) & FLEXSPI_MCR2_RESUMEWAIT_MASK) +/*! @} */ + +/*! @name AHBCR - AHB Bus Control */ +/*! @{ */ + +#define FLEXSPI_AHBCR_CLRAHBTXBUF_MASK (0x4U) +#define FLEXSPI_AHBCR_CLRAHBTXBUF_SHIFT (2U) +/*! CLRAHBTXBUF - Clear AHB Transmit Buffer + * 0b0..No impact. + * 0b1..Enable clear operation. + */ +#define FLEXSPI_AHBCR_CLRAHBTXBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CLRAHBTXBUF_SHIFT)) & FLEXSPI_AHBCR_CLRAHBTXBUF_MASK) + +#define FLEXSPI_AHBCR_CACHABLEEN_MASK (0x8U) +#define FLEXSPI_AHBCR_CACHABLEEN_SHIFT (3U) +/*! CACHABLEEN - Cacheable Read Access Enable + * 0b0..Disabled. When an AHB bus cacheable read access occurs, FlexSPI does not check whether it hit the AHB transmit buffer. + * 0b1..Enabled. When an AHB bus cacheable read access occurs, FlexSPI first checks whether the access hit the AHB transmit buffer. + */ +#define FLEXSPI_AHBCR_CACHABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CACHABLEEN_SHIFT)) & FLEXSPI_AHBCR_CACHABLEEN_MASK) + +#define FLEXSPI_AHBCR_BUFFERABLEEN_MASK (0x10U) +#define FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT (4U) +/*! BUFFERABLEEN - Bufferable Write Access Enable + * 0b0..Disabled. For all AHB write accesses (bufferable or nonbufferable), FlexSPI returns AHB Bus Ready after + * transmitting all data and finishing command. + * 0b1..Enabled. For AHB bufferable write access, FlexSPI returns AHB Bus Ready when the arbitrator grants the + * AHB command. FlexSPI does not wait for the AHB command to finish. + */ +#define FLEXSPI_AHBCR_BUFFERABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT)) & FLEXSPI_AHBCR_BUFFERABLEEN_MASK) + +#define FLEXSPI_AHBCR_PREFETCHEN_MASK (0x20U) +#define FLEXSPI_AHBCR_PREFETCHEN_SHIFT (5U) +/*! PREFETCHEN - AHB Read Prefetch Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXSPI_AHBCR_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_PREFETCHEN_SHIFT)) & FLEXSPI_AHBCR_PREFETCHEN_MASK) + +#define FLEXSPI_AHBCR_READADDROPT_MASK (0x40U) +#define FLEXSPI_AHBCR_READADDROPT_SHIFT (6U) +/*! READADDROPT - AHB Read Address Option + * 0b0..AHB read burst start address alignment is limited when flash memory is accessed in flash is word-addressable. + * 0b1..AHB read burst start address alignment is not limited. FlexSPI fetches more data than the AHB burst requires for address alignment. + */ +#define FLEXSPI_AHBCR_READADDROPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READADDROPT_SHIFT)) & FLEXSPI_AHBCR_READADDROPT_MASK) + +#define FLEXSPI_AHBCR_RESUMEDISABLE_MASK (0x80U) +#define FLEXSPI_AHBCR_RESUMEDISABLE_SHIFT (7U) +/*! RESUMEDISABLE - AHB Read Resume Disable + * 0b0..Suspended AHB read prefetch resumes when AHB is IDLE. + * 0b1..Suspended AHB read prefetch does not resume once aborted. + */ +#define FLEXSPI_AHBCR_RESUMEDISABLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_RESUMEDISABLE_SHIFT)) & FLEXSPI_AHBCR_RESUMEDISABLE_MASK) + +#define FLEXSPI_AHBCR_READSZALIGN_MASK (0x400U) +#define FLEXSPI_AHBCR_READSZALIGN_SHIFT (10U) +/*! READSZALIGN - AHB Read Size Alignment + * 0b0..Register settings such as PREFETCH_EN and OTFAD_EN determine AHB read size. + * 0b1..AHB read size to up size to 8 bytes aligned, no prefetching + */ +#define FLEXSPI_AHBCR_READSZALIGN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READSZALIGN_SHIFT)) & FLEXSPI_AHBCR_READSZALIGN_MASK) + +#define FLEXSPI_AHBCR_ALIGNMENT_MASK (0x300000U) +#define FLEXSPI_AHBCR_ALIGNMENT_SHIFT (20U) +/*! ALIGNMENT - AHB Boundary Alignment + * 0b00..No limit + * 0b01..1 KB + * 0b10..512 bytes + * 0b11..256 bytes + */ +#define FLEXSPI_AHBCR_ALIGNMENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ALIGNMENT_SHIFT)) & FLEXSPI_AHBCR_ALIGNMENT_MASK) + +#define FLEXSPI_AHBCR_AFLASHBASE_MASK (0xF8000000U) +#define FLEXSPI_AHBCR_AFLASHBASE_SHIFT (27U) +/*! AFLASHBASE - AHB Memory-Mapped Flash Base Address */ +#define FLEXSPI_AHBCR_AFLASHBASE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_AFLASHBASE_SHIFT)) & FLEXSPI_AHBCR_AFLASHBASE_MASK) +/*! @} */ + +/*! @name INTEN - Interrupt Enable */ +/*! @{ */ + +#define FLEXSPI_INTEN_IPCMDDONEEN_MASK (0x1U) +#define FLEXSPI_INTEN_IPCMDDONEEN_SHIFT (0U) +/*! IPCMDDONEEN - IP-Triggered Command Sequences Execution Finished Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDDONEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDDONEEN_MASK) + +#define FLEXSPI_INTEN_IPCMDGEEN_MASK (0x2U) +#define FLEXSPI_INTEN_IPCMDGEEN_SHIFT (1U) +/*! IPCMDGEEN - IP-Triggered Command Sequences Grant Timeout Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_IPCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDGEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDGEEN_MASK) + +#define FLEXSPI_INTEN_AHBCMDGEEN_MASK (0x4U) +#define FLEXSPI_INTEN_AHBCMDGEEN_SHIFT (2U) +/*! AHBCMDGEEN - AHB-Triggered Command Sequences Grant Timeout Interrupt Enable. + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_AHBCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDGEEN_SHIFT)) & FLEXSPI_INTEN_AHBCMDGEEN_MASK) + +#define FLEXSPI_INTEN_IPCMDERREN_MASK (0x8U) +#define FLEXSPI_INTEN_IPCMDERREN_SHIFT (3U) +/*! IPCMDERREN - IP-Triggered Command Sequences Error Detected Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDERREN_SHIFT)) & FLEXSPI_INTEN_IPCMDERREN_MASK) + +#define FLEXSPI_INTEN_AHBCMDERREN_MASK (0x10U) +#define FLEXSPI_INTEN_AHBCMDERREN_SHIFT (4U) +/*! AHBCMDERREN - AHB-Triggered Command Sequences Error Detected Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_AHBCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDERREN_SHIFT)) & FLEXSPI_INTEN_AHBCMDERREN_MASK) + +#define FLEXSPI_INTEN_IPRXWAEN_MASK (0x20U) +#define FLEXSPI_INTEN_IPRXWAEN_SHIFT (5U) +/*! IPRXWAEN - IP Receive FIFO Watermark Available Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_IPRXWAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPRXWAEN_SHIFT)) & FLEXSPI_INTEN_IPRXWAEN_MASK) + +#define FLEXSPI_INTEN_IPTXWEEN_MASK (0x40U) +#define FLEXSPI_INTEN_IPTXWEEN_SHIFT (6U) +/*! IPTXWEEN - IP Transmit FIFO Watermark Empty Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_IPTXWEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPTXWEEN_SHIFT)) & FLEXSPI_INTEN_IPTXWEEN_MASK) + +#define FLEXSPI_INTEN_DATALEARNFAILEN_MASK (0x80U) +#define FLEXSPI_INTEN_DATALEARNFAILEN_SHIFT (7U) +/*! DATALEARNFAILEN - Data Learning Failed Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_DATALEARNFAILEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_DATALEARNFAILEN_SHIFT)) & FLEXSPI_INTEN_DATALEARNFAILEN_MASK) + +#define FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK (0x100U) +#define FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT (8U) +/*! SCKSTOPBYRDEN - SCLK Stopped By Read Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_SCKSTOPBYRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK) + +#define FLEXSPI_INTEN_SCKSTOPBYWREN_MASK (0x200U) +#define FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT (9U) +/*! SCKSTOPBYWREN - SCLK Stopped By Write Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_SCKSTOPBYWREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYWREN_MASK) + +#define FLEXSPI_INTEN_AHBBUSERROREN_MASK (0x400U) +#define FLEXSPI_INTEN_AHBBUSERROREN_SHIFT (10U) +/*! AHBBUSERROREN - AHB Bus Error Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_AHBBUSERROREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBBUSERROREN_SHIFT)) & FLEXSPI_INTEN_AHBBUSERROREN_MASK) + +#define FLEXSPI_INTEN_SEQTIMEOUTEN_MASK (0x800U) +#define FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT (11U) +/*! SEQTIMEOUTEN - Sequence execution Timeout Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_SEQTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_SEQTIMEOUTEN_MASK) + +#define FLEXSPI_INTEN_KEYDONEEN_MASK (0x1000U) +#define FLEXSPI_INTEN_KEYDONEEN_SHIFT (12U) +/*! KEYDONEEN - OTFAD Key Blob Processing Done Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_KEYDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_KEYDONEEN_SHIFT)) & FLEXSPI_INTEN_KEYDONEEN_MASK) + +#define FLEXSPI_INTEN_KEYERROREN_MASK (0x2000U) +#define FLEXSPI_INTEN_KEYERROREN_SHIFT (13U) +/*! KEYERROREN - OTFAD Key Blob Processing Error Interrupt Enable + * 0b0..Disable interrupt or no impact + * 0b1..Enable interrupt + */ +#define FLEXSPI_INTEN_KEYERROREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_KEYERROREN_SHIFT)) & FLEXSPI_INTEN_KEYERROREN_MASK) +/*! @} */ + +/*! @name INTR - Interrupt */ +/*! @{ */ + +#define FLEXSPI_INTR_IPCMDDONE_MASK (0x1U) +#define FLEXSPI_INTR_IPCMDDONE_SHIFT (0U) +/*! IPCMDDONE - IP-Triggered Command Sequences Execution Finished + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDDONE_SHIFT)) & FLEXSPI_INTR_IPCMDDONE_MASK) + +#define FLEXSPI_INTR_IPCMDGE_MASK (0x2U) +#define FLEXSPI_INTR_IPCMDGE_SHIFT (1U) +/*! IPCMDGE - IP-Triggered Command Sequences Grant Timeout + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_IPCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDGE_SHIFT)) & FLEXSPI_INTR_IPCMDGE_MASK) + +#define FLEXSPI_INTR_AHBCMDGE_MASK (0x4U) +#define FLEXSPI_INTR_AHBCMDGE_SHIFT (2U) +/*! AHBCMDGE - AHB-Triggered Command Sequences Grant Timeout + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_AHBCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDGE_SHIFT)) & FLEXSPI_INTR_AHBCMDGE_MASK) + +#define FLEXSPI_INTR_IPCMDERR_MASK (0x8U) +#define FLEXSPI_INTR_IPCMDERR_SHIFT (3U) +/*! IPCMDERR - IP-Triggered Command Sequences Error + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDERR_SHIFT)) & FLEXSPI_INTR_IPCMDERR_MASK) + +#define FLEXSPI_INTR_AHBCMDERR_MASK (0x10U) +#define FLEXSPI_INTR_AHBCMDERR_SHIFT (4U) +/*! AHBCMDERR - AHB-Triggered Command Sequences Error + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_AHBCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDERR_SHIFT)) & FLEXSPI_INTR_AHBCMDERR_MASK) + +#define FLEXSPI_INTR_IPRXWA_MASK (0x20U) +#define FLEXSPI_INTR_IPRXWA_SHIFT (5U) +/*! IPRXWA - IP Receive FIFO Watermark Available + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_IPRXWA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPRXWA_SHIFT)) & FLEXSPI_INTR_IPRXWA_MASK) + +#define FLEXSPI_INTR_IPTXWE_MASK (0x40U) +#define FLEXSPI_INTR_IPTXWE_SHIFT (6U) +/*! IPTXWE - IP Transmit FIFO Watermark Empty + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_IPTXWE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPTXWE_SHIFT)) & FLEXSPI_INTR_IPTXWE_MASK) + +#define FLEXSPI_INTR_DATALEARNFAIL_MASK (0x80U) +#define FLEXSPI_INTR_DATALEARNFAIL_SHIFT (7U) +/*! DATALEARNFAIL - Data Learning Failed + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_DATALEARNFAIL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_DATALEARNFAIL_SHIFT)) & FLEXSPI_INTR_DATALEARNFAIL_MASK) + +#define FLEXSPI_INTR_SCKSTOPBYRD_MASK (0x100U) +#define FLEXSPI_INTR_SCKSTOPBYRD_SHIFT (8U) +/*! SCKSTOPBYRD - SCLK Stopped Due To Full Receive FIFO + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_SCKSTOPBYRD(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYRD_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYRD_MASK) + +#define FLEXSPI_INTR_SCKSTOPBYWR_MASK (0x200U) +#define FLEXSPI_INTR_SCKSTOPBYWR_SHIFT (9U) +/*! SCKSTOPBYWR - SCLK Stopped Due To Empty Transmit FIFO + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_SCKSTOPBYWR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYWR_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYWR_MASK) + +#define FLEXSPI_INTR_AHBBUSERROR_MASK (0x400U) +#define FLEXSPI_INTR_AHBBUSERROR_SHIFT (10U) +/*! AHBBUSERROR - AHB Bus Error + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_AHBBUSERROR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBBUSERROR_SHIFT)) & FLEXSPI_INTR_AHBBUSERROR_MASK) + +#define FLEXSPI_INTR_SEQTIMEOUT_MASK (0x800U) +#define FLEXSPI_INTR_SEQTIMEOUT_SHIFT (11U) +/*! SEQTIMEOUT - Sequence Execution Timeout + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_SEQTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SEQTIMEOUT_SHIFT)) & FLEXSPI_INTR_SEQTIMEOUT_MASK) + +#define FLEXSPI_INTR_KEYDONE_MASK (0x1000U) +#define FLEXSPI_INTR_KEYDONE_SHIFT (12U) +/*! KEYDONE - OTFAD key blob processing done interrupt. */ +#define FLEXSPI_INTR_KEYDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_KEYDONE_SHIFT)) & FLEXSPI_INTR_KEYDONE_MASK) + +#define FLEXSPI_INTR_KEYERROR_MASK (0x2000U) +#define FLEXSPI_INTR_KEYERROR_SHIFT (13U) +/*! KEYERROR - OTFAD Key Blob Processing Error + * 0b0..Interrupt condition has not occurred + * 0b0..No effect + * 0b1..Interrupt condition has occurred + * 0b1..Clear the flag + */ +#define FLEXSPI_INTR_KEYERROR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_KEYERROR_SHIFT)) & FLEXSPI_INTR_KEYERROR_MASK) +/*! @} */ + +/*! @name LUTKEY - LUT Key */ +/*! @{ */ + +#define FLEXSPI_LUTKEY_KEY_MASK (0xFFFFFFFFU) +#define FLEXSPI_LUTKEY_KEY_SHIFT (0U) +/*! KEY - LUT Key */ +#define FLEXSPI_LUTKEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTKEY_KEY_SHIFT)) & FLEXSPI_LUTKEY_KEY_MASK) +/*! @} */ + +/*! @name LUTCR - LUT Control */ +/*! @{ */ + +#define FLEXSPI_LUTCR_LOCK_MASK (0x1U) +#define FLEXSPI_LUTCR_LOCK_SHIFT (0U) +/*! LOCK - Lock LUT + * 0b0..LUT is unlocked (LUTCR[UNLOCK] must be 1) + * 0b1..LUT is locked and cannot be written + */ +#define FLEXSPI_LUTCR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_LOCK_SHIFT)) & FLEXSPI_LUTCR_LOCK_MASK) + +#define FLEXSPI_LUTCR_UNLOCK_MASK (0x2U) +#define FLEXSPI_LUTCR_UNLOCK_SHIFT (1U) +/*! UNLOCK - Unlock LUT + * 0b0..LUT is locked (LUTCR[LOCK] must be 1) + * 0b1..LUT is unlocked and can be written + */ +#define FLEXSPI_LUTCR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_UNLOCK_SHIFT)) & FLEXSPI_LUTCR_UNLOCK_MASK) +/*! @} */ + +/*! @name AHBRXBUFCR0 - AHB Receive Buffer 0 Control 0..AHB Receive Buffer 7 Control 0 */ +/*! @{ */ + +#define FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK (0x1FFU) +#define FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT (0U) +/*! BUFSZ - AHB Receive Buffer Size */ +#define FLEXSPI_AHBRXBUFCR0_BUFSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT)) & FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK) + +#define FLEXSPI_AHBRXBUFCR0_MSTRID_MASK (0xF0000U) +#define FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT (16U) +/*! MSTRID - AHB Controller ID */ +#define FLEXSPI_AHBRXBUFCR0_MSTRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT)) & FLEXSPI_AHBRXBUFCR0_MSTRID_MASK) + +#define FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK (0x7000000U) +#define FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT (24U) +/*! PRIORITY - AHB Controller Read Priority */ +#define FLEXSPI_AHBRXBUFCR0_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK) + +#define FLEXSPI_AHBRXBUFCR0_REGIONEN_MASK (0x40000000U) +#define FLEXSPI_AHBRXBUFCR0_REGIONEN_SHIFT (30U) +/*! REGIONEN - AHB Receive Buffer Address Region Enable + * 0b0..Disabled. The buffer hit is based on the value of MSTRID only. + * 0b1..Enabled. The buffer hit is based on the value of MSTRID and the address within AHBBUFREGIONSTARTn and AHBREGIONENDn. + */ +#define FLEXSPI_AHBRXBUFCR0_REGIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_REGIONEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_REGIONEN_MASK) + +#define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK (0x80000000U) +#define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT (31U) +/*! PREFETCHEN - AHB Read Prefetch Enable + * 0b0..Disabled + * 0b1..Enabled when is enabled. + */ +#define FLEXSPI_AHBRXBUFCR0_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK) +/*! @} */ + +/* The count of FLEXSPI_AHBRXBUFCR0 */ +#define FLEXSPI_AHBRXBUFCR0_COUNT (8U) + +/*! @name FLSHCR0 - Flash Control 0 */ +/*! @{ */ + +#define FLEXSPI_FLSHCR0_FLSHSZ_MASK (0x7FFFFFU) +#define FLEXSPI_FLSHCR0_FLSHSZ_SHIFT (0U) +/*! FLSHSZ - Flash Size in KB */ +#define FLEXSPI_FLSHCR0_FLSHSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_FLSHSZ_SHIFT)) & FLEXSPI_FLSHCR0_FLSHSZ_MASK) + +#define FLEXSPI_FLSHCR0_ADDRSHIFT_MASK (0x20000000U) +#define FLEXSPI_FLSHCR0_ADDRSHIFT_SHIFT (29U) +/*! ADDRSHIFT - AHB Address Shift Function control + * 0b0..Disabled + * 0b1..Enabled + */ +#define FLEXSPI_FLSHCR0_ADDRSHIFT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_ADDRSHIFT_SHIFT)) & FLEXSPI_FLSHCR0_ADDRSHIFT_MASK) +/*! @} */ + +/* The count of FLEXSPI_FLSHCR0 */ +#define FLEXSPI_FLSHCR0_COUNT (4U) + +/*! @name FLSHCR1 - Flash Control 1 */ +/*! @{ */ + +#define FLEXSPI_FLSHCR1_TCSS_MASK (0x1FU) +#define FLEXSPI_FLSHCR1_TCSS_SHIFT (0U) +/*! TCSS - Serial Flash CS Setup Time */ +#define FLEXSPI_FLSHCR1_TCSS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSS_SHIFT)) & FLEXSPI_FLSHCR1_TCSS_MASK) + +#define FLEXSPI_FLSHCR1_TCSH_MASK (0x3E0U) +#define FLEXSPI_FLSHCR1_TCSH_SHIFT (5U) +/*! TCSH - Serial Flash CS Hold Time */ +#define FLEXSPI_FLSHCR1_TCSH(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSH_SHIFT)) & FLEXSPI_FLSHCR1_TCSH_MASK) + +#define FLEXSPI_FLSHCR1_WA_MASK (0x400U) +#define FLEXSPI_FLSHCR1_WA_SHIFT (10U) +/*! WA - Word-Addressable + * 0b0..Byte-addressable + * 0b1..Word-addressable + */ +#define FLEXSPI_FLSHCR1_WA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_WA_SHIFT)) & FLEXSPI_FLSHCR1_WA_MASK) + +#define FLEXSPI_FLSHCR1_CAS_MASK (0x7800U) +#define FLEXSPI_FLSHCR1_CAS_SHIFT (11U) +/*! CAS - Column Address Size */ +#define FLEXSPI_FLSHCR1_CAS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CAS_SHIFT)) & FLEXSPI_FLSHCR1_CAS_MASK) + +#define FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK (0x8000U) +#define FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT (15U) +/*! CSINTERVALUNIT - Chip Select Interval Unit + * 0b0..1 serial clock cycle + * 0b1..256 serial clock cycles + */ +#define FLEXSPI_FLSHCR1_CSINTERVALUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK) + +#define FLEXSPI_FLSHCR1_CSINTERVAL_MASK (0xFFFF0000U) +#define FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT (16U) +/*! CSINTERVAL - Chip Select Interval */ +#define FLEXSPI_FLSHCR1_CSINTERVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVAL_MASK) +/*! @} */ + +/* The count of FLEXSPI_FLSHCR1 */ +#define FLEXSPI_FLSHCR1_COUNT (4U) + +/*! @name FLSHCR2 - Flash Control 2 */ +/*! @{ */ + +#define FLEXSPI_FLSHCR2_ARDSEQID_MASK (0x1FU) +#define FLEXSPI_FLSHCR2_ARDSEQID_SHIFT (0U) +/*! ARDSEQID - Sequence Index for AHB Read-Triggered Command in LUT */ +#define FLEXSPI_FLSHCR2_ARDSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQID_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQID_MASK) + +#define FLEXSPI_FLSHCR2_ARDSEQNUM_MASK (0xE0U) +#define FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT (5U) +/*! ARDSEQNUM - Sequence Number for AHB Read-Triggered Command */ +#define FLEXSPI_FLSHCR2_ARDSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQNUM_MASK) + +#define FLEXSPI_FLSHCR2_AWRSEQID_MASK (0x1F00U) +#define FLEXSPI_FLSHCR2_AWRSEQID_SHIFT (8U) +/*! AWRSEQID - Sequence Index for AHB Write-Triggered Command */ +#define FLEXSPI_FLSHCR2_AWRSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQID_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQID_MASK) + +#define FLEXSPI_FLSHCR2_AWRSEQNUM_MASK (0xE000U) +#define FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT (13U) +/*! AWRSEQNUM - Sequence Number for AHB Write-Triggered Command */ +#define FLEXSPI_FLSHCR2_AWRSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQNUM_MASK) + +#define FLEXSPI_FLSHCR2_AWRWAIT_MASK (0xFFF0000U) +#define FLEXSPI_FLSHCR2_AWRWAIT_SHIFT (16U) +/*! AWRWAIT - AHB Write Wait */ +#define FLEXSPI_FLSHCR2_AWRWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAIT_MASK) + +#define FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK (0x70000000U) +#define FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT (28U) +/*! AWRWAITUNIT - AWRWAIT Unit + * 0b000..2 + * 0b001..8 + * 0b010..32 + * 0b011..128 + * 0b100..512 + * 0b101..2048 + * 0b110..8192 + * 0b111..32768 + */ +#define FLEXSPI_FLSHCR2_AWRWAITUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK) + +#define FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK (0x80000000U) +#define FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT (31U) +/*! CLRINSTRPTR - Clear Instruction Pointer */ +#define FLEXSPI_FLSHCR2_CLRINSTRPTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT)) & FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK) +/*! @} */ + +/* The count of FLEXSPI_FLSHCR2 */ +#define FLEXSPI_FLSHCR2_COUNT (4U) + +/*! @name FLSHCR4 - Flash Control 4 */ +/*! @{ */ + +#define FLEXSPI_FLSHCR4_WMOPT1_MASK (0x1U) +#define FLEXSPI_FLSHCR4_WMOPT1_SHIFT (0U) +/*! WMOPT1 - Write Mask Option 1 + * 0b0..When writing to an external device, DQS pin is used as write mask. When flash memory is accessed in + * individual mode, AHB or IP write burst start address alignment is not limited. + * 0b1..When writing to an external device, DQS pin is not used as write mask. When flash memory is accessed in + * individual mode, AHB or IP write burst start address alignment is limited. + */ +#define FLEXSPI_FLSHCR4_WMOPT1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT1_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT1_MASK) + +#define FLEXSPI_FLSHCR4_WMOPT2_MASK (0x2U) +#define FLEXSPI_FLSHCR4_WMOPT2_SHIFT (1U) +/*! WMOPT2 - Write Mask Option 2 + * 0b0..When writing to an external device, DQS pin is used as write mask. When flash memory is accessed in + * individual mode, AHB or IP write burst length is not limited. + * 0b1..When writing to an external device, DQS pin is not used as write mask. When flash memory is accessed in + * individual mode, AHB or IP write burst length is limited. The minimum write burst length should be 4. + */ +#define FLEXSPI_FLSHCR4_WMOPT2(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT2_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT2_MASK) + +#define FLEXSPI_FLSHCR4_WMENA_MASK (0x4U) +#define FLEXSPI_FLSHCR4_WMENA_SHIFT (2U) +/*! WMENA - Write Mask Enable for Port A + * 0b0..Disabled. When writing to external device, DQS(RWDS) pin is not driven. + * 0b1..Enabled. When writing to external device, FlexSPI drives DQS(RWDS) pin as write mask output. + */ +#define FLEXSPI_FLSHCR4_WMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENA_SHIFT)) & FLEXSPI_FLSHCR4_WMENA_MASK) +/*! @} */ + +/*! @name IPCR0 - IP Control 0 */ +/*! @{ */ + +#define FLEXSPI_IPCR0_SFAR_MASK (0xFFFFFFFFU) +#define FLEXSPI_IPCR0_SFAR_SHIFT (0U) +/*! SFAR - Serial Flash Address */ +#define FLEXSPI_IPCR0_SFAR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR0_SFAR_SHIFT)) & FLEXSPI_IPCR0_SFAR_MASK) +/*! @} */ + +/*! @name IPCR1 - IP Control 1 */ +/*! @{ */ + +#define FLEXSPI_IPCR1_IDATSZ_MASK (0xFFFFU) +#define FLEXSPI_IPCR1_IDATSZ_SHIFT (0U) +/*! IDATSZ - Flash Read/Program Data Size (in bytes) for IP command. */ +#define FLEXSPI_IPCR1_IDATSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IDATSZ_SHIFT)) & FLEXSPI_IPCR1_IDATSZ_MASK) + +#define FLEXSPI_IPCR1_ISEQID_MASK (0x1F0000U) +#define FLEXSPI_IPCR1_ISEQID_SHIFT (16U) +/*! ISEQID - Sequence Index in LUT for IP command. */ +#define FLEXSPI_IPCR1_ISEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQID_SHIFT)) & FLEXSPI_IPCR1_ISEQID_MASK) + +#define FLEXSPI_IPCR1_ISEQNUM_MASK (0x7000000U) +#define FLEXSPI_IPCR1_ISEQNUM_SHIFT (24U) +/*! ISEQNUM - Sequence Number for IP command: ISEQNUM+1. */ +#define FLEXSPI_IPCR1_ISEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQNUM_SHIFT)) & FLEXSPI_IPCR1_ISEQNUM_MASK) +/*! @} */ + +/*! @name IPCR2 - IP Control 2 */ +/*! @{ */ + +#define FLEXSPI_IPCR2_IPBLKAHBREQ_MASK (0x1U) +#define FLEXSPI_IPCR2_IPBLKAHBREQ_SHIFT (0U) +/*! IPBLKAHBREQ - IP Command Blocking AHB Command Request Enable + * 0b0..IP commands do not block AHB command requests. + * 0b1..IP commands block AHB command requests. + */ +#define FLEXSPI_IPCR2_IPBLKAHBREQ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR2_IPBLKAHBREQ_SHIFT)) & FLEXSPI_IPCR2_IPBLKAHBREQ_MASK) + +#define FLEXSPI_IPCR2_IPBLKAHBACK_MASK (0x2U) +#define FLEXSPI_IPCR2_IPBLKAHBACK_SHIFT (1U) +/*! IPBLKAHBACK - IP Command Blocking AHB Command Acknowledgment Enable + * 0b0..IP commands do not block AHB command acknowledgment. + * 0b1..IP commands block AHB command acknowledgment. + */ +#define FLEXSPI_IPCR2_IPBLKAHBACK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR2_IPBLKAHBACK_SHIFT)) & FLEXSPI_IPCR2_IPBLKAHBACK_MASK) + +#define FLEXSPI_IPCR2_IPBLKALLAHB_MASK (0x4U) +#define FLEXSPI_IPCR2_IPBLKALLAHB_SHIFT (2U) +/*! IPBLKALLAHB - IP Command Blocking All AHB Command Enable + * 0b0.. + * 0b1..IP commands block all AHB commands. + */ +#define FLEXSPI_IPCR2_IPBLKALLAHB(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR2_IPBLKALLAHB_SHIFT)) & FLEXSPI_IPCR2_IPBLKALLAHB_MASK) +/*! @} */ + +/*! @name IPCMD - IP Command */ +/*! @{ */ + +#define FLEXSPI_IPCMD_TRG_MASK (0x1U) +#define FLEXSPI_IPCMD_TRG_SHIFT (0U) +/*! TRG - Command Trigger + * 0b0..No action + * 0b1..Start the IP command that the IPCR0 and IPCR1 registers define. + */ +#define FLEXSPI_IPCMD_TRG(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCMD_TRG_SHIFT)) & FLEXSPI_IPCMD_TRG_MASK) +/*! @} */ + +/*! @name DLPR - Data Learning Pattern */ +/*! @{ */ + +#define FLEXSPI_DLPR_DLP_MASK (0xFFFFFFFFU) +#define FLEXSPI_DLPR_DLP_SHIFT (0U) +/*! DLP - Data Learning Pattern */ +#define FLEXSPI_DLPR_DLP(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLPR_DLP_SHIFT)) & FLEXSPI_DLPR_DLP_MASK) +/*! @} */ + +/*! @name IPRXFCR - IP Receive FIFO Control */ +/*! @{ */ + +#define FLEXSPI_IPRXFCR_CLRIPRXF_MASK (0x1U) +#define FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT (0U) +/*! CLRIPRXF - Clear IP Receive FIFO + * 0b0..No function + * 0b1..A clock cycle pulse clears all valid data entries in IP receive FIFO. + */ +#define FLEXSPI_IPRXFCR_CLRIPRXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT)) & FLEXSPI_IPRXFCR_CLRIPRXF_MASK) + +#define FLEXSPI_IPRXFCR_RXDMAEN_MASK (0x2U) +#define FLEXSPI_IPRXFCR_RXDMAEN_SHIFT (1U) +/*! RXDMAEN - IP Receive FIFO Reading by DMA Enable + * 0b0..Disabled. The processor reads the FIFO. + * 0b1..Enabled. DMA reads the FIFO. + */ +#define FLEXSPI_IPRXFCR_RXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXDMAEN_SHIFT)) & FLEXSPI_IPRXFCR_RXDMAEN_MASK) + +#define FLEXSPI_IPRXFCR_RXWMRK_MASK (0xFCU) +#define FLEXSPI_IPRXFCR_RXWMRK_SHIFT (2U) +/*! RXWMRK - IP Receive FIFO Watermark Level */ +#define FLEXSPI_IPRXFCR_RXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXWMRK_SHIFT)) & FLEXSPI_IPRXFCR_RXWMRK_MASK) +/*! @} */ + +/*! @name IPTXFCR - IP Transmit FIFO Control */ +/*! @{ */ + +#define FLEXSPI_IPTXFCR_CLRIPTXF_MASK (0x1U) +#define FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT (0U) +/*! CLRIPTXF - Clear IP Transmit FIFO + * 0b0..No function + * 0b1..A clock cycle pulse clears all valid data entries in the IP transmit FIFO. + */ +#define FLEXSPI_IPTXFCR_CLRIPTXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT)) & FLEXSPI_IPTXFCR_CLRIPTXF_MASK) + +#define FLEXSPI_IPTXFCR_TXDMAEN_MASK (0x2U) +#define FLEXSPI_IPTXFCR_TXDMAEN_SHIFT (1U) +/*! TXDMAEN - Transmit FIFO DMA Enable + * 0b0..Processor + * 0b1..DMA + */ +#define FLEXSPI_IPTXFCR_TXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXDMAEN_SHIFT)) & FLEXSPI_IPTXFCR_TXDMAEN_MASK) + +#define FLEXSPI_IPTXFCR_TXWMRK_MASK (0x1FCU) +#define FLEXSPI_IPTXFCR_TXWMRK_SHIFT (2U) +/*! TXWMRK - Transmit Watermark Level */ +#define FLEXSPI_IPTXFCR_TXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXWMRK_SHIFT)) & FLEXSPI_IPTXFCR_TXWMRK_MASK) +/*! @} */ + +/*! @name DLLCR - DLL Control 0 */ +/*! @{ */ + +#define FLEXSPI_DLLCR_DLLEN_MASK (0x1U) +#define FLEXSPI_DLLCR_DLLEN_SHIFT (0U) +/*! DLLEN - DLL Calibration Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXSPI_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLEN_SHIFT)) & FLEXSPI_DLLCR_DLLEN_MASK) + +#define FLEXSPI_DLLCR_DLLRESET_MASK (0x2U) +#define FLEXSPI_DLLCR_DLLRESET_SHIFT (1U) +/*! DLLRESET - DLL reset + * 0b0..No function + * 0b1..Force DLL reset. + */ +#define FLEXSPI_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLRESET_SHIFT)) & FLEXSPI_DLLCR_DLLRESET_MASK) + +#define FLEXSPI_DLLCR_SLVDLYTARGET_MASK (0x78U) +#define FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT (3U) +/*! SLVDLYTARGET - Target Delay Line */ +#define FLEXSPI_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT)) & FLEXSPI_DLLCR_SLVDLYTARGET_MASK) + +#define FLEXSPI_DLLCR_OVRDEN_MASK (0x100U) +#define FLEXSPI_DLLCR_OVRDEN_SHIFT (8U) +/*! OVRDEN - Target Clock Delay Line Override Value Enable + * 0b0..Disable + * 0b1..Enable + */ +#define FLEXSPI_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDEN_SHIFT)) & FLEXSPI_DLLCR_OVRDEN_MASK) + +#define FLEXSPI_DLLCR_OVRDVAL_MASK (0x7E00U) +#define FLEXSPI_DLLCR_OVRDVAL_SHIFT (9U) +/*! OVRDVAL - Target Clock Delay Line Override Value */ +#define FLEXSPI_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDVAL_SHIFT)) & FLEXSPI_DLLCR_OVRDVAL_MASK) + +#define FLEXSPI_DLLCR_REFPHASEGAP_MASK (0x18000U) +#define FLEXSPI_DLLCR_REFPHASEGAP_SHIFT (15U) +/*! REFPHASEGAP - Reference Clock Delay Line Phase Adjust Gap. REFPHASEGAP setting of 2h is recommended if DLLEN is set. */ +#define FLEXSPI_DLLCR_REFPHASEGAP(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_REFPHASEGAP_SHIFT)) & FLEXSPI_DLLCR_REFPHASEGAP_MASK) + +#define FLEXSPI_DLLCR_REFPHASESTART_MASK (0xE0000U) +#define FLEXSPI_DLLCR_REFPHASESTART_SHIFT (17U) +/*! REFPHASESTART - Reference Clock Delay Line Start Phase */ +#define FLEXSPI_DLLCR_REFPHASESTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_REFPHASESTART_SHIFT)) & FLEXSPI_DLLCR_REFPHASESTART_MASK) +/*! @} */ + +/* The count of FLEXSPI_DLLCR */ +#define FLEXSPI_DLLCR_COUNT (2U) + +/*! @name STS0 - Status 0 */ +/*! @{ */ + +#define FLEXSPI_STS0_SEQIDLE_MASK (0x1U) +#define FLEXSPI_STS0_SEQIDLE_SHIFT (0U) +/*! SEQIDLE - SEQ_CTL State Machine Idle + * 0b0..Not idle + * 0b1..Idle + */ +#define FLEXSPI_STS0_SEQIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_SEQIDLE_SHIFT)) & FLEXSPI_STS0_SEQIDLE_MASK) + +#define FLEXSPI_STS0_ARBIDLE_MASK (0x2U) +#define FLEXSPI_STS0_ARBIDLE_SHIFT (1U) +/*! ARBIDLE - ARB_CTL State Machine Idle + * 0b0..Not idle + * 0b1..Idle + */ +#define FLEXSPI_STS0_ARBIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBIDLE_SHIFT)) & FLEXSPI_STS0_ARBIDLE_MASK) + +#define FLEXSPI_STS0_ARBCMDSRC_MASK (0xCU) +#define FLEXSPI_STS0_ARBCMDSRC_SHIFT (2U) +/*! ARBCMDSRC - ARB Command Source + * 0b00..Trigger source is AHB read command. + * 0b01..Trigger source is AHB write command. + * 0b10..Trigger source is IP command (by writing 1 to IPCMD[TRG]). + * 0b11..Trigger source is a suspended command that has resumed. + */ +#define FLEXSPI_STS0_ARBCMDSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBCMDSRC_SHIFT)) & FLEXSPI_STS0_ARBCMDSRC_MASK) + +#define FLEXSPI_STS0_DATALEARNPHASEA_MASK (0xF0U) +#define FLEXSPI_STS0_DATALEARNPHASEA_SHIFT (4U) +/*! DATALEARNPHASEA - Data Learning Phase Selection on Port A */ +#define FLEXSPI_STS0_DATALEARNPHASEA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_DATALEARNPHASEA_SHIFT)) & FLEXSPI_STS0_DATALEARNPHASEA_MASK) +/*! @} */ + +/*! @name STS1 - Status 1 */ +/*! @{ */ + +#define FLEXSPI_STS1_AHBCMDERRID_MASK (0x1FU) +#define FLEXSPI_STS1_AHBCMDERRID_SHIFT (0U) +/*! AHBCMDERRID - AHB Command Error ID */ +#define FLEXSPI_STS1_AHBCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRID_SHIFT)) & FLEXSPI_STS1_AHBCMDERRID_MASK) + +#define FLEXSPI_STS1_AHBCMDERRCODE_MASK (0xF00U) +#define FLEXSPI_STS1_AHBCMDERRCODE_SHIFT (8U) +/*! AHBCMDERRCODE - AHB Command Error Code + * 0b0000..No error + * 0b0010..AHB Write command with JMP_ON_CS instruction used in the sequence + * 0b0011..Unknown instruction opcode in the sequence + * 0b0100..DUMMY_SDR or DUMMY_RWDS_SDR instruction used in DDR sequence + * 0b0101..DUMMY_DDR or DUMMY_RWDS_DDR instruction used in SDR sequence + * 0b1110..Sequence execution timeout + */ +#define FLEXSPI_STS1_AHBCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRCODE_SHIFT)) & FLEXSPI_STS1_AHBCMDERRCODE_MASK) + +#define FLEXSPI_STS1_IPCMDERRID_MASK (0x1F0000U) +#define FLEXSPI_STS1_IPCMDERRID_SHIFT (16U) +/*! IPCMDERRID - IP Command Error ID */ +#define FLEXSPI_STS1_IPCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRID_SHIFT)) & FLEXSPI_STS1_IPCMDERRID_MASK) + +#define FLEXSPI_STS1_IPCMDERRCODE_MASK (0xF000000U) +#define FLEXSPI_STS1_IPCMDERRCODE_SHIFT (24U) +/*! IPCMDERRCODE - IP Command Error Code + * 0b0000..No error + * 0b0010..IP command with JMP_ON_CS instruction used in the sequence + * 0b0011..Unknown instruction opcode in the sequence + * 0b0100..DUMMY_SDR or DUMMY_RWDS_SDR instruction used in DDR sequence + * 0b0101..DUMMY_DDR or DUMMY_RWDS_DDR instruction used in SDR sequence + * 0b0110..Flash memory access start address exceeds entire flash address range (A1, A2, B1, and B2) + * 0b1110..Sequence execution timeout + * 0b1111..Flash boundary crossed + */ +#define FLEXSPI_STS1_IPCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRCODE_SHIFT)) & FLEXSPI_STS1_IPCMDERRCODE_MASK) +/*! @} */ + +/*! @name STS2 - Status 2 */ +/*! @{ */ + +#define FLEXSPI_STS2_ASLVLOCK_MASK (0x1U) +#define FLEXSPI_STS2_ASLVLOCK_SHIFT (0U) +/*! ASLVLOCK - Flash A Sample Target Delay Line Locked + * 0b0..Not locked + * 0b1..Locked + */ +#define FLEXSPI_STS2_ASLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVLOCK_SHIFT)) & FLEXSPI_STS2_ASLVLOCK_MASK) + +#define FLEXSPI_STS2_AREFLOCK_MASK (0x2U) +#define FLEXSPI_STS2_AREFLOCK_SHIFT (1U) +/*! AREFLOCK - Flash A Sample Clock Reference Delay Line Locked + * 0b0..Not locked + * 0b1..Locked + */ +#define FLEXSPI_STS2_AREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFLOCK_SHIFT)) & FLEXSPI_STS2_AREFLOCK_MASK) + +#define FLEXSPI_STS2_ASLVSEL_MASK (0xFCU) +#define FLEXSPI_STS2_ASLVSEL_SHIFT (2U) +/*! ASLVSEL - Flash A Sample Clock Target Delay Line Delay Cell Number */ +#define FLEXSPI_STS2_ASLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVSEL_SHIFT)) & FLEXSPI_STS2_ASLVSEL_MASK) + +#define FLEXSPI_STS2_AREFSEL_MASK (0x3F00U) +#define FLEXSPI_STS2_AREFSEL_SHIFT (8U) +/*! AREFSEL - Flash A Sample Clock Reference Delay Line Delay Cell Number */ +#define FLEXSPI_STS2_AREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFSEL_SHIFT)) & FLEXSPI_STS2_AREFSEL_MASK) + +#define FLEXSPI_STS2_BSLVLOCK_MASK (0x10000U) +#define FLEXSPI_STS2_BSLVLOCK_SHIFT (16U) +/*! BSLVLOCK - Flash B Sample Target Reference Delay Line Locked + * 0b0..Not locked + * 0b1..Locked + */ +#define FLEXSPI_STS2_BSLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVLOCK_SHIFT)) & FLEXSPI_STS2_BSLVLOCK_MASK) + +#define FLEXSPI_STS2_BREFLOCK_MASK (0x20000U) +#define FLEXSPI_STS2_BREFLOCK_SHIFT (17U) +/*! BREFLOCK - Flash B Sample Clock Reference Delay Line Locked + * 0b0..Not locked + * 0b1..Locked + */ +#define FLEXSPI_STS2_BREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFLOCK_SHIFT)) & FLEXSPI_STS2_BREFLOCK_MASK) + +#define FLEXSPI_STS2_BSLVSEL_MASK (0xFC0000U) +#define FLEXSPI_STS2_BSLVSEL_SHIFT (18U) +/*! BSLVSEL - Flash B Sample Clock Target Delay Line Delay Cell Number */ +#define FLEXSPI_STS2_BSLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVSEL_SHIFT)) & FLEXSPI_STS2_BSLVSEL_MASK) + +#define FLEXSPI_STS2_BREFSEL_MASK (0x3F000000U) +#define FLEXSPI_STS2_BREFSEL_SHIFT (24U) +/*! BREFSEL - Flash B Sample Clock Reference Delay Line Delay Cell Number */ +#define FLEXSPI_STS2_BREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFSEL_SHIFT)) & FLEXSPI_STS2_BREFSEL_MASK) +/*! @} */ + +/*! @name AHBSPNDSTS - AHB Suspend Status */ +/*! @{ */ + +#define FLEXSPI_AHBSPNDSTS_ACTIVE_MASK (0x1U) +#define FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT (0U) +/*! ACTIVE - Active AHB Read Prefetch Suspended + * 0b0..No suspended AHB read prefetch command. + * 0b1..An AHB read prefetch command sequence has been suspended. + */ +#define FLEXSPI_AHBSPNDSTS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT)) & FLEXSPI_AHBSPNDSTS_ACTIVE_MASK) + +#define FLEXSPI_AHBSPNDSTS_BUFID_MASK (0xEU) +#define FLEXSPI_AHBSPNDSTS_BUFID_SHIFT (1U) +/*! BUFID - AHB Receive Buffer ID for Suspended Command Sequence */ +#define FLEXSPI_AHBSPNDSTS_BUFID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_BUFID_SHIFT)) & FLEXSPI_AHBSPNDSTS_BUFID_MASK) + +#define FLEXSPI_AHBSPNDSTS_DATLFT_MASK (0xFFFF0000U) +#define FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT (16U) +/*! DATLFT - Data Left */ +#define FLEXSPI_AHBSPNDSTS_DATLFT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT)) & FLEXSPI_AHBSPNDSTS_DATLFT_MASK) +/*! @} */ + +/*! @name IPRXFSTS - IP Receive FIFO Status */ +/*! @{ */ + +#define FLEXSPI_IPRXFSTS_FILL_MASK (0xFFU) +#define FLEXSPI_IPRXFSTS_FILL_SHIFT (0U) +/*! FILL - Fill Level of IP Receive FIFO */ +#define FLEXSPI_IPRXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_FILL_SHIFT)) & FLEXSPI_IPRXFSTS_FILL_MASK) + +#define FLEXSPI_IPRXFSTS_RDCNTR_MASK (0xFFFF0000U) +#define FLEXSPI_IPRXFSTS_RDCNTR_SHIFT (16U) +/*! RDCNTR - Read Data Counter */ +#define FLEXSPI_IPRXFSTS_RDCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_RDCNTR_SHIFT)) & FLEXSPI_IPRXFSTS_RDCNTR_MASK) +/*! @} */ + +/*! @name IPTXFSTS - IP Transmit FIFO Status */ +/*! @{ */ + +#define FLEXSPI_IPTXFSTS_FILL_MASK (0xFFU) +#define FLEXSPI_IPTXFSTS_FILL_SHIFT (0U) +/*! FILL - Fill Level of IP Transmit FIFO */ +#define FLEXSPI_IPTXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_FILL_SHIFT)) & FLEXSPI_IPTXFSTS_FILL_MASK) + +#define FLEXSPI_IPTXFSTS_WRCNTR_MASK (0xFFFF0000U) +#define FLEXSPI_IPTXFSTS_WRCNTR_SHIFT (16U) +/*! WRCNTR - Write Data Counter */ +#define FLEXSPI_IPTXFSTS_WRCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_WRCNTR_SHIFT)) & FLEXSPI_IPTXFSTS_WRCNTR_MASK) +/*! @} */ + +/*! @name RFDR - IP Receive FIFO Data 0..IP Receive FIFO Data 31 */ +/*! @{ */ + +#define FLEXSPI_RFDR_RXDATA_MASK (0xFFFFFFFFU) +#define FLEXSPI_RFDR_RXDATA_SHIFT (0U) +/*! RXDATA - Receive Data */ +#define FLEXSPI_RFDR_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_RFDR_RXDATA_SHIFT)) & FLEXSPI_RFDR_RXDATA_MASK) +/*! @} */ + +/* The count of FLEXSPI_RFDR */ +#define FLEXSPI_RFDR_COUNT (32U) + +/*! @name TFDR - IP TX FIFO Data 0..IP TX FIFO Data 31 */ +/*! @{ */ + +#define FLEXSPI_TFDR_TXDATA_MASK (0xFFFFFFFFU) +#define FLEXSPI_TFDR_TXDATA_SHIFT (0U) +/*! TXDATA - Transmit Data */ +#define FLEXSPI_TFDR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_TFDR_TXDATA_SHIFT)) & FLEXSPI_TFDR_TXDATA_MASK) +/*! @} */ + +/* The count of FLEXSPI_TFDR */ +#define FLEXSPI_TFDR_COUNT (32U) + +/*! @name LUT - Lookup Table 0..Lookup Table 127 */ +/*! @{ */ + +#define FLEXSPI_LUT_OPERAND0_MASK (0xFFU) +#define FLEXSPI_LUT_OPERAND0_SHIFT (0U) +/*! OPERAND0 - OPERAND0 */ +#define FLEXSPI_LUT_OPERAND0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND0_SHIFT)) & FLEXSPI_LUT_OPERAND0_MASK) + +#define FLEXSPI_LUT_NUM_PADS0_MASK (0x300U) +#define FLEXSPI_LUT_NUM_PADS0_SHIFT (8U) +/*! NUM_PADS0 - NUM_PADS0 */ +#define FLEXSPI_LUT_NUM_PADS0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS0_SHIFT)) & FLEXSPI_LUT_NUM_PADS0_MASK) + +#define FLEXSPI_LUT_OPCODE0_MASK (0xFC00U) +#define FLEXSPI_LUT_OPCODE0_SHIFT (10U) +/*! OPCODE0 - OPCODE */ +#define FLEXSPI_LUT_OPCODE0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE0_SHIFT)) & FLEXSPI_LUT_OPCODE0_MASK) + +#define FLEXSPI_LUT_OPERAND1_MASK (0xFF0000U) +#define FLEXSPI_LUT_OPERAND1_SHIFT (16U) +/*! OPERAND1 - OPERAND1 */ +#define FLEXSPI_LUT_OPERAND1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND1_SHIFT)) & FLEXSPI_LUT_OPERAND1_MASK) + +#define FLEXSPI_LUT_NUM_PADS1_MASK (0x3000000U) +#define FLEXSPI_LUT_NUM_PADS1_SHIFT (24U) +/*! NUM_PADS1 - NUM_PADS1 */ +#define FLEXSPI_LUT_NUM_PADS1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS1_SHIFT)) & FLEXSPI_LUT_NUM_PADS1_MASK) + +#define FLEXSPI_LUT_OPCODE1_MASK (0xFC000000U) +#define FLEXSPI_LUT_OPCODE1_SHIFT (26U) +/*! OPCODE1 - OPCODE1 */ +#define FLEXSPI_LUT_OPCODE1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE1_SHIFT)) & FLEXSPI_LUT_OPCODE1_MASK) +/*! @} */ + +/* The count of FLEXSPI_LUT */ +#define FLEXSPI_LUT_COUNT (128U) + +/*! @name AHBBUFREGIONSTART0 - Receive Buffer Start Address of Region 0 */ +/*! @{ */ + +#define FLEXSPI_AHBBUFREGIONSTART0_START_ADDRESS_MASK (0xFFFFF000U) +#define FLEXSPI_AHBBUFREGIONSTART0_START_ADDRESS_SHIFT (12U) +/*! START_ADDRESS - Start Address of Prefetch Sub-Buffer Region */ +#define FLEXSPI_AHBBUFREGIONSTART0_START_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART0_START_ADDRESS_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART0_START_ADDRESS_MASK) +/*! @} */ + +/*! @name AHBBUFREGIONEND0 - Receive Buffer Region 0 End Address */ +/*! @{ */ + +#define FLEXSPI_AHBBUFREGIONEND0_END_ADDRESS_MASK (0xFFFFF000U) +#define FLEXSPI_AHBBUFREGIONEND0_END_ADDRESS_SHIFT (12U) +/*! END_ADDRESS - End Address of Prefetch Sub-Buffer Region */ +#define FLEXSPI_AHBBUFREGIONEND0_END_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND0_END_ADDRESS_SHIFT)) & FLEXSPI_AHBBUFREGIONEND0_END_ADDRESS_MASK) +/*! @} */ + +/*! @name AHBBUFREGIONSTART1 - Receive Buffer Start Address of Region 1 */ +/*! @{ */ + +#define FLEXSPI_AHBBUFREGIONSTART1_START_ADDRESS_MASK (0xFFFFF000U) +#define FLEXSPI_AHBBUFREGIONSTART1_START_ADDRESS_SHIFT (12U) +/*! START_ADDRESS - Start Address of Prefetch Sub-Buffer Region */ +#define FLEXSPI_AHBBUFREGIONSTART1_START_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART1_START_ADDRESS_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART1_START_ADDRESS_MASK) +/*! @} */ + +/*! @name AHBBUFREGIONEND1 - Receive Buffer Region 1 End Address */ +/*! @{ */ + +#define FLEXSPI_AHBBUFREGIONEND1_END_ADDRESS_MASK (0xFFFFF000U) +#define FLEXSPI_AHBBUFREGIONEND1_END_ADDRESS_SHIFT (12U) +/*! END_ADDRESS - End Address of Prefetch Sub-Buffer Region */ +#define FLEXSPI_AHBBUFREGIONEND1_END_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND1_END_ADDRESS_SHIFT)) & FLEXSPI_AHBBUFREGIONEND1_END_ADDRESS_MASK) +/*! @} */ + +/*! @name AHBBUFREGIONSTART2 - Receive Buffer Start Address of Region 2 */ +/*! @{ */ + +#define FLEXSPI_AHBBUFREGIONSTART2_START_ADDRESS_MASK (0xFFFFF000U) +#define FLEXSPI_AHBBUFREGIONSTART2_START_ADDRESS_SHIFT (12U) +/*! START_ADDRESS - Start Address of Prefetch Sub-Buffer Region */ +#define FLEXSPI_AHBBUFREGIONSTART2_START_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART2_START_ADDRESS_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART2_START_ADDRESS_MASK) +/*! @} */ + +/*! @name AHBBUFREGIONEND2 - Receive Buffer Region 2 End Address */ +/*! @{ */ + +#define FLEXSPI_AHBBUFREGIONEND2_END_ADDRESS_MASK (0xFFFFF000U) +#define FLEXSPI_AHBBUFREGIONEND2_END_ADDRESS_SHIFT (12U) +/*! END_ADDRESS - End Address of Prefetch Sub-Buffer Region */ +#define FLEXSPI_AHBBUFREGIONEND2_END_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND2_END_ADDRESS_SHIFT)) & FLEXSPI_AHBBUFREGIONEND2_END_ADDRESS_MASK) +/*! @} */ + +/*! @name AHBBUFREGIONSTART3 - Receive Buffer Start Address of Region 3 */ +/*! @{ */ + +#define FLEXSPI_AHBBUFREGIONSTART3_START_ADDRESS_MASK (0xFFFFF000U) +#define FLEXSPI_AHBBUFREGIONSTART3_START_ADDRESS_SHIFT (12U) +/*! START_ADDRESS - Start Address of Prefetch Sub-Buffer Region */ +#define FLEXSPI_AHBBUFREGIONSTART3_START_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART3_START_ADDRESS_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART3_START_ADDRESS_MASK) +/*! @} */ + +/*! @name AHBBUFREGIONEND3 - Receive Buffer Region 3 End Address */ +/*! @{ */ + +#define FLEXSPI_AHBBUFREGIONEND3_END_ADDRESS_MASK (0xFFFFF000U) +#define FLEXSPI_AHBBUFREGIONEND3_END_ADDRESS_SHIFT (12U) +/*! END_ADDRESS - End Address of Prefetch Sub-Buffer Region */ +#define FLEXSPI_AHBBUFREGIONEND3_END_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND3_END_ADDRESS_SHIFT)) & FLEXSPI_AHBBUFREGIONEND3_END_ADDRESS_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group FLEXSPI_Register_Masks */ + + +/* FLEXSPI - Peripheral instance base addresses */ +/** Peripheral FLEXSPI1 base address */ +#define FLEXSPI1_BASE (0x425E0000u) +/** Peripheral FLEXSPI1 base pointer */ +#define FLEXSPI1 ((FLEXSPI_Type *)FLEXSPI1_BASE) +/** Array initializer of FLEXSPI peripheral base addresses */ +#define FLEXSPI_BASE_ADDRS { 0u, FLEXSPI1_BASE } +/** Array initializer of FLEXSPI peripheral base pointers */ +#define FLEXSPI_BASE_PTRS { (FLEXSPI_Type *)0u, FLEXSPI1 } +/** FlexSPI AMBA memory base alias count */ +#define FLEXSPI_AMBA_BASE_ALIAS_COUNT (1) +/* FlexSPI1 AMBA address. */ +#define FlexSPI1_AMBA_BASE (0x38000000u) +/* FlexSPI1 ASFM address. */ +#define FlexSPI1_ASFM_BASE (0x38000000u) +/* Base Address of AHB address space mapped to IP RX FIFO. */ +#define FlexSPI1_ARDF_BASE (0x57420000u) +/* Base Address of AHB address space mapped to IP TX FIFO. */ +#define FlexSPI1_ATDF_BASE (0x57430000u) + + +/*! + * @} + */ /* end of group FLEXSPI_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- FSB Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup FSB_Peripheral_Access_Layer FSB Peripheral Access Layer + * @{ + */ + +/** FSB - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< FSB Version ID Register, offset: 0x0 */ + uint8_t RESERVED_0[24]; + __I uint32_t FSB_STATUS; /**< FSB Status Register, offset: 0x1C */ + uint8_t RESERVED_1[68]; + __IO uint32_t ACCESS_COUNT; /**< Access Count Register, offset: 0x64 */ + uint8_t RESERVED_2[3992]; + __IO uint32_t FUSE_STAT; /**< Fuse Status Register, offset: 0x1000 */ + __IO uint32_t FUSE_EVNT; /**< Fuse Event Register, offset: 0x1004 */ + __IO uint32_t FUSE_INT_EN; /**< Fuse Interrupt Enable Register, offset: 0x1008 */ + __I uint32_t FUSE_INT; /**< Fuse Interrupt Register, offset: 0x100C */ + uint8_t RESERVED_3[28656]; + __I uint32_t FUSE[512]; /**< Fuse Value Registers, array offset: 0x8000, array step: 0x4 */ +} FSB_Type; + +/* ---------------------------------------------------------------------------- + -- FSB Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup FSB_Register_Masks FSB Register Masks + * @{ + */ + +/*! @name VERID - FSB Version ID Register */ +/*! @{ */ + +#define FSB_VERID_MISC_MASK (0xFFU) +#define FSB_VERID_MISC_SHIFT (0U) +/*! MISC - Feature Specification + * 0bxxxxxx1x..MU IRQ steering is enabled. + * 0bxxxxxxx1..Support for aborted transfers to OCOTP fuse space on the FSB slave APB is enabled. + */ +#define FSB_VERID_MISC(x) (((uint32_t)(((uint32_t)(x)) << FSB_VERID_MISC_SHIFT)) & FSB_VERID_MISC_MASK) + +#define FSB_VERID_ECO_MASK (0xFF00U) +#define FSB_VERID_ECO_SHIFT (8U) +/*! ECO - ECO Version Number */ +#define FSB_VERID_ECO(x) (((uint32_t)(((uint32_t)(x)) << FSB_VERID_ECO_SHIFT)) & FSB_VERID_ECO_MASK) + +#define FSB_VERID_MINOR_MASK (0xFF0000U) +#define FSB_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define FSB_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FSB_VERID_MINOR_SHIFT)) & FSB_VERID_MINOR_MASK) + +#define FSB_VERID_MAJOR_MASK (0xFF000000U) +#define FSB_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define FSB_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FSB_VERID_MAJOR_SHIFT)) & FSB_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name FSB_STATUS - FSB Status Register */ +/*! @{ */ + +#define FSB_FSB_STATUS_VMTR_MASK (0x1U) +#define FSB_FSB_STATUS_VMTR_SHIFT (0U) +/*! VMTR - MTR Trim fuses valid. */ +#define FSB_FSB_STATUS_VMTR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FSB_STATUS_VMTR_SHIFT)) & FSB_FSB_STATUS_VMTR_MASK) + +#define FSB_FSB_STATUS_VERL_MASK (0x2U) +#define FSB_FSB_STATUS_VERL_SHIFT (1U) +/*! VERL - Early fuses valid. */ +#define FSB_FSB_STATUS_VERL(x) (((uint32_t)(((uint32_t)(x)) << FSB_FSB_STATUS_VERL_SHIFT)) & FSB_FSB_STATUS_VERL_MASK) + +#define FSB_FSB_STATUS_VMED_MASK (0x4U) +#define FSB_FSB_STATUS_VMED_SHIFT (2U) +/*! VMED - Medium fuses valid. */ +#define FSB_FSB_STATUS_VMED(x) (((uint32_t)(((uint32_t)(x)) << FSB_FSB_STATUS_VMED_SHIFT)) & FSB_FSB_STATUS_VMED_MASK) + +#define FSB_FSB_STATUS_VALL_MASK (0x8U) +#define FSB_FSB_STATUS_VALL_SHIFT (3U) +/*! VALL - All fuses valid. */ +#define FSB_FSB_STATUS_VALL(x) (((uint32_t)(((uint32_t)(x)) << FSB_FSB_STATUS_VALL_SHIFT)) & FSB_FSB_STATUS_VALL_MASK) + +#define FSB_FSB_STATUS_LMTR_MASK (0x10U) +#define FSB_FSB_STATUS_LMTR_SHIFT (4U) +/*! LMTR - MTR Trim fuses loaded. */ +#define FSB_FSB_STATUS_LMTR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FSB_STATUS_LMTR_SHIFT)) & FSB_FSB_STATUS_LMTR_MASK) + +#define FSB_FSB_STATUS_LERL_MASK (0x20U) +#define FSB_FSB_STATUS_LERL_SHIFT (5U) +/*! LERL - Early fuses loaded. */ +#define FSB_FSB_STATUS_LERL(x) (((uint32_t)(((uint32_t)(x)) << FSB_FSB_STATUS_LERL_SHIFT)) & FSB_FSB_STATUS_LERL_MASK) + +#define FSB_FSB_STATUS_LMED_MASK (0x40U) +#define FSB_FSB_STATUS_LMED_SHIFT (6U) +/*! LMED - Medium fuses loaded. */ +#define FSB_FSB_STATUS_LMED(x) (((uint32_t)(((uint32_t)(x)) << FSB_FSB_STATUS_LMED_SHIFT)) & FSB_FSB_STATUS_LMED_MASK) + +#define FSB_FSB_STATUS_LALL_MASK (0x80U) +#define FSB_FSB_STATUS_LALL_SHIFT (7U) +/*! LALL - All fuses loaded. */ +#define FSB_FSB_STATUS_LALL(x) (((uint32_t)(((uint32_t)(x)) << FSB_FSB_STATUS_LALL_SHIFT)) & FSB_FSB_STATUS_LALL_MASK) +/*! @} */ + +/*! @name ACCESS_COUNT - Access Count Register */ +/*! @{ */ + +#define FSB_ACCESS_COUNT_COUNT_MASK (0xFFFFFFFFU) +#define FSB_ACCESS_COUNT_COUNT_SHIFT (0U) +/*! COUNT - Access Count Register. */ +#define FSB_ACCESS_COUNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << FSB_ACCESS_COUNT_COUNT_SHIFT)) & FSB_ACCESS_COUNT_COUNT_MASK) +/*! @} */ + +/*! @name FUSE_STAT - Fuse Status Register */ +/*! @{ */ + +#define FSB_FUSE_STAT_FUSE_ADDR_MASK (0xFFFFU) +#define FSB_FUSE_STAT_FUSE_ADDR_SHIFT (0U) +/*! FUSE_ADDR - Fuse address */ +#define FSB_FUSE_STAT_FUSE_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_STAT_FUSE_ADDR_SHIFT)) & FSB_FUSE_STAT_FUSE_ADDR_MASK) + +#define FSB_FUSE_STAT_SHDW_ZERO_MASK (0x1000000U) +#define FSB_FUSE_STAT_SHDW_ZERO_SHIFT (24U) +/*! SHDW_ZERO - Shadow zeroized */ +#define FSB_FUSE_STAT_SHDW_ZERO(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_STAT_SHDW_ZERO_SHIFT)) & FSB_FUSE_STAT_SHDW_ZERO_MASK) + +#define FSB_FUSE_STAT_SHDW_UNPROG_MASK (0x2000000U) +#define FSB_FUSE_STAT_SHDW_UNPROG_SHIFT (25U) +/*! SHDW_UNPROG - Shadow unprogrammed */ +#define FSB_FUSE_STAT_SHDW_UNPROG(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_STAT_SHDW_UNPROG_SHIFT)) & FSB_FUSE_STAT_SHDW_UNPROG_MASK) + +#define FSB_FUSE_STAT_FUSE_ERR_MASK (0x4000000U) +#define FSB_FUSE_STAT_FUSE_ERR_SHIFT (26U) +/*! FUSE_ERR - Fuse error */ +#define FSB_FUSE_STAT_FUSE_ERR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_STAT_FUSE_ERR_SHIFT)) & FSB_FUSE_STAT_FUSE_ERR_MASK) + +#define FSB_FUSE_STAT_LOADING_MASK (0x8000000U) +#define FSB_FUSE_STAT_LOADING_SHIFT (27U) +/*! LOADING - Shadow loading */ +#define FSB_FUSE_STAT_LOADING(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_STAT_LOADING_SHIFT)) & FSB_FUSE_STAT_LOADING_MASK) + +#define FSB_FUSE_STAT_RLD_ERR_MASK (0x10000000U) +#define FSB_FUSE_STAT_RLD_ERR_SHIFT (28U) +/*! RLD_ERR - Reload error */ +#define FSB_FUSE_STAT_RLD_ERR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_STAT_RLD_ERR_SHIFT)) & FSB_FUSE_STAT_RLD_ERR_MASK) + +#define FSB_FUSE_STAT_RD_ERR_MASK (0x20000000U) +#define FSB_FUSE_STAT_RD_ERR_SHIFT (29U) +/*! RD_ERR - Read error */ +#define FSB_FUSE_STAT_RD_ERR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_STAT_RD_ERR_SHIFT)) & FSB_FUSE_STAT_RD_ERR_MASK) + +#define FSB_FUSE_STAT_ADDR_ERR_MASK (0x80000000U) +#define FSB_FUSE_STAT_ADDR_ERR_SHIFT (31U) +/*! ADDR_ERR - Address error */ +#define FSB_FUSE_STAT_ADDR_ERR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_STAT_ADDR_ERR_SHIFT)) & FSB_FUSE_STAT_ADDR_ERR_MASK) +/*! @} */ + +/*! @name FUSE_EVNT - Fuse Event Register */ +/*! @{ */ + +#define FSB_FUSE_EVNT_SHDW_ZERO_MASK (0x1000000U) +#define FSB_FUSE_EVNT_SHDW_ZERO_SHIFT (24U) +/*! SHDW_ZERO - Shadow zeroized */ +#define FSB_FUSE_EVNT_SHDW_ZERO(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_EVNT_SHDW_ZERO_SHIFT)) & FSB_FUSE_EVNT_SHDW_ZERO_MASK) + +#define FSB_FUSE_EVNT_SHDW_UNPROG_MASK (0x2000000U) +#define FSB_FUSE_EVNT_SHDW_UNPROG_SHIFT (25U) +/*! SHDW_UNPROG - Shadow unprogrammed */ +#define FSB_FUSE_EVNT_SHDW_UNPROG(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_EVNT_SHDW_UNPROG_SHIFT)) & FSB_FUSE_EVNT_SHDW_UNPROG_MASK) + +#define FSB_FUSE_EVNT_FUSE_ERR_MASK (0x4000000U) +#define FSB_FUSE_EVNT_FUSE_ERR_SHIFT (26U) +/*! FUSE_ERR - Fuse error */ +#define FSB_FUSE_EVNT_FUSE_ERR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_EVNT_FUSE_ERR_SHIFT)) & FSB_FUSE_EVNT_FUSE_ERR_MASK) + +#define FSB_FUSE_EVNT_LOADING_MASK (0x8000000U) +#define FSB_FUSE_EVNT_LOADING_SHIFT (27U) +/*! LOADING - Shadow loading */ +#define FSB_FUSE_EVNT_LOADING(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_EVNT_LOADING_SHIFT)) & FSB_FUSE_EVNT_LOADING_MASK) + +#define FSB_FUSE_EVNT_RLD_ERR_MASK (0x10000000U) +#define FSB_FUSE_EVNT_RLD_ERR_SHIFT (28U) +/*! RLD_ERR - Reload error */ +#define FSB_FUSE_EVNT_RLD_ERR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_EVNT_RLD_ERR_SHIFT)) & FSB_FUSE_EVNT_RLD_ERR_MASK) + +#define FSB_FUSE_EVNT_RD_ERR_MASK (0x20000000U) +#define FSB_FUSE_EVNT_RD_ERR_SHIFT (29U) +/*! RD_ERR - Read error */ +#define FSB_FUSE_EVNT_RD_ERR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_EVNT_RD_ERR_SHIFT)) & FSB_FUSE_EVNT_RD_ERR_MASK) + +#define FSB_FUSE_EVNT_ADDR_ERR_MASK (0x80000000U) +#define FSB_FUSE_EVNT_ADDR_ERR_SHIFT (31U) +/*! ADDR_ERR - Address error */ +#define FSB_FUSE_EVNT_ADDR_ERR(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_EVNT_ADDR_ERR_SHIFT)) & FSB_FUSE_EVNT_ADDR_ERR_MASK) +/*! @} */ + +/*! @name FUSE_INT_EN - Fuse Interrupt Enable Register */ +/*! @{ */ + +#define FSB_FUSE_INT_EN_INT_EN_MASK (0xFF000000U) +#define FSB_FUSE_INT_EN_INT_EN_SHIFT (24U) +/*! INT_EN - Interrupt Enables */ +#define FSB_FUSE_INT_EN_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_INT_EN_INT_EN_SHIFT)) & FSB_FUSE_INT_EN_INT_EN_MASK) +/*! @} */ + +/*! @name FUSE_INT - Fuse Interrupt Register */ +/*! @{ */ + +#define FSB_FUSE_INT_INT_MASK (0xFF000000U) +#define FSB_FUSE_INT_INT_SHIFT (24U) +/*! INT - Interrupts */ +#define FSB_FUSE_INT_INT(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_INT_INT_SHIFT)) & FSB_FUSE_INT_INT_MASK) +/*! @} */ + +/*! @name FUSE - Fuse Value Registers */ +/*! @{ */ + +#define FSB_FUSE_FUSE_MASK (0xFFFFFFFFU) +#define FSB_FUSE_FUSE_SHIFT (0U) +/*! FUSE - Fuse Values */ +#define FSB_FUSE_FUSE(x) (((uint32_t)(((uint32_t)(x)) << FSB_FUSE_FUSE_SHIFT)) & FSB_FUSE_FUSE_MASK) +/*! @} */ + +/* The count of FSB_FUSE */ +#define FSB_FUSE_COUNT (512U) + + +/*! + * @} + */ /* end of group FSB_Register_Masks */ + + +/* FSB - Peripheral instance base addresses */ +/** Peripheral FSB1 base address */ +#define FSB1_BASE (0x47510000u) +/** Peripheral FSB1 base pointer */ +#define FSB1 ((FSB_Type *)FSB1_BASE) +/** Array initializer of FSB peripheral base addresses */ +#define FSB_BASE_ADDRS { FSB1_BASE } +/** Array initializer of FSB peripheral base pointers */ +#define FSB_BASE_PTRS { FSB1 } + +/*! + * @} + */ /* end of group FSB_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- GPC_CPU_CTRL Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup GPC_CPU_CTRL_Peripheral_Access_Layer GPC_CPU_CTRL Peripheral Access Layer + * @{ + */ + +/** GPC_CPU_CTRL - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[4]; + __IO uint32_t CM_AUTHEN_CTRL; /**< CM Authentication Control, offset: 0x4 */ + uint8_t RESERVED_1[4]; + __IO uint32_t CM_MISC; /**< Miscellaneous, offset: 0xC */ + __IO uint32_t CM_MODE_CTRL; /**< CPU mode control, offset: 0x10 */ + __I uint32_t CM_MODE_STAT; /**< CM CPU mode Status, offset: 0x14 */ + __I uint32_t CM_PIN_STAT; /**< CM pin Status, offset: 0x18 */ + uint8_t RESERVED_2[228]; + __IO uint32_t CM_IRQ_WAKEUP_MASK_0; /**< CM IRQ0~31 wakeup mask, offset: 0x100 */ + __IO uint32_t CM_IRQ_WAKEUP_MASK_1; /**< CM IRQ32~63 wakeup mask, offset: 0x104 */ + __IO uint32_t CM_IRQ_WAKEUP_MASK_2; /**< CM IRQ64~95 wakeup mask, offset: 0x108 */ + __IO uint32_t CM_IRQ_WAKEUP_MASK_3; /**< CM IRQ96~127 wakeup mask, offset: 0x10C */ + __IO uint32_t CM_IRQ_WAKEUP_MASK_4; /**< CM IRQ128~159 wakeup mask, offset: 0x110 */ + __IO uint32_t CM_IRQ_WAKEUP_MASK_5; /**< CM IRQ160~191 wakeup mask, offset: 0x114 */ + __IO uint32_t CM_IRQ_WAKEUP_MASK_6; /**< CM IRQ192~223 wakeup mask, offset: 0x118 */ + __IO uint32_t CM_IRQ_WAKEUP_MASK_7; /**< CM IRQ224~255 wakeup mask, offset: 0x11C */ + uint8_t RESERVED_3[32]; + __IO uint32_t CM_NON_IRQ_WAKEUP_MASK; /**< CM non-IRQ wakeup mask, offset: 0x140 */ + uint8_t RESERVED_4[12]; + __I uint32_t CM_IRQ_WAKEUP_STAT_0; /**< CM IRQ0~31 wakeup status, offset: 0x150 */ + __I uint32_t CM_IRQ_WAKEUP_STAT_1; /**< CM IRQ32~63 wakeup status, offset: 0x154 */ + __I uint32_t CM_IRQ_WAKEUP_STAT_2; /**< CM IRQ64~95 wakeup status, offset: 0x158 */ + __I uint32_t CM_IRQ_WAKEUP_STAT_3; /**< CM IRQ96~127 wakeup status, offset: 0x15C */ + __I uint32_t CM_IRQ_WAKEUP_STAT_4; /**< CM IRQ128~159 wakeup status, offset: 0x160 */ + __I uint32_t CM_IRQ_WAKEUP_STAT_5; /**< CM IRQ160~191 wakeup status, offset: 0x164 */ + __I uint32_t CM_IRQ_WAKEUP_STAT_6; /**< CM IRQ192~223 wakeup status, offset: 0x168 */ + __I uint32_t CM_IRQ_WAKEUP_STAT_7; /**< CM IRQ224~255 wakeup status, offset: 0x16C */ + uint8_t RESERVED_5[32]; + __I uint32_t CM_NON_IRQ_WAKEUP_STAT; /**< CM non-IRQ wakeup status, offset: 0x190 */ + uint8_t RESERVED_6[108]; + __IO uint32_t CM_SLEEP_A55_HDSK_CTRL; /**< CM sleep A55_HDSK control, offset: 0x200 */ + uint8_t RESERVED_7[4]; + __IO uint32_t CM_SLEEP_SSAR_CTRL; /**< CM sleep SSAR control, offset: 0x208 */ + uint8_t RESERVED_8[4]; + __IO uint32_t CM_SLEEP_LPCG_CTRL; /**< CM sleep LPCG control, offset: 0x210 */ + uint8_t RESERVED_9[4]; + __IO uint32_t CM_SLEEP_PLL_CTRL; /**< CM sleep PLL control, offset: 0x218 */ + uint8_t RESERVED_10[4]; + __IO uint32_t CM_SLEEP_ISO_CTRL; /**< CM sleep isolation control, offset: 0x220 */ + uint8_t RESERVED_11[4]; + __IO uint32_t CM_SLEEP_MEM_CTRL; /**< CM sleep memory control, offset: 0x228 */ + uint8_t RESERVED_12[4]; + __IO uint32_t CM_SLEEP_RESET_CTRL; /**< CM sleep reset control, offset: 0x230 */ + uint8_t RESERVED_13[4]; + __IO uint32_t CM_SLEEP_POWER_CTRL; /**< CM sleep power control, offset: 0x238 */ + uint8_t RESERVED_14[4]; + __IO uint32_t CM_SLEEP_RSV2_CTRL; /**< CM sleep rsv2 control, offset: 0x240 */ + uint8_t RESERVED_15[68]; + __IO uint32_t CM_WAKEUP_RSV2_CTRL; /**< CM wakeup rsv2 control, offset: 0x288 */ + uint8_t RESERVED_16[4]; + __IO uint32_t CM_WAKEUP_POWER_CTRL; /**< CM wakeup power control, offset: 0x290 */ + uint8_t RESERVED_17[4]; + __IO uint32_t CM_WAKEUP_MEM_CTRL; /**< CM wakeup memory control, offset: 0x298 */ + uint8_t RESERVED_18[4]; + __IO uint32_t CM_WAKEUP_RESET_CTRL; /**< CM wakeup reset control, offset: 0x2A0 */ + uint8_t RESERVED_19[4]; + __IO uint32_t CM_WAKEUP_ISO_CTRL; /**< CM wakeup isolation control, offset: 0x2A8 */ + uint8_t RESERVED_20[4]; + __IO uint32_t CM_WAKEUP_PLL_CTRL; /**< CM wakeup PLL control, offset: 0x2B0 */ + uint8_t RESERVED_21[4]; + __IO uint32_t CM_WAKEUP_LPCG_CTRL; /**< CM wakeup LPCG control, offset: 0x2B8 */ + uint8_t RESERVED_22[4]; + __IO uint32_t CM_WAKEUP_MTR_CTRL; /**< CM wakeup MTR control, offset: 0x2C0 */ + uint8_t RESERVED_23[4]; + __IO uint32_t CM_WAKEUP_SSAR_CTRL; /**< CM wakeup SSAR control, offset: 0x2C8 */ + uint8_t RESERVED_24[4]; + __IO uint32_t CM_WAKEUP_A55_HDSK_CTRL; /**< CM wakeup A55_HDSK control, offset: 0x2D0 */ + uint8_t RESERVED_25[172]; + __IO uint32_t CM_SYS_SLEEP_CTRL; /**< CM system sleep control, offset: 0x380 */ + uint8_t RESERVED_26[12]; + __IO uint32_t CM_DEBUG; /**< CM debug, offset: 0x390 */ +} GPC_CPU_CTRL_Type; + +/* ---------------------------------------------------------------------------- + -- GPC_CPU_CTRL Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup GPC_CPU_CTRL_Register_Masks GPC_CPU_CTRL Register Masks + * @{ + */ + +/*! @name CM_AUTHEN_CTRL - CM Authentication Control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_MASK (0x80U) +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_SHIFT (7U) +/*! LOCK_CFG - Configuration lock + * 0b0..The value of low power configuration fields are not locked. + * 0b1..The value of low power configuration fields are locked. It locks the CPUx_CM registers which are marked + * as "Locked by LOCK_CFG field" in the function field. + */ +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_MASK) + +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_USER_MASK (0x100U) +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_USER_SHIFT (8U) +/*! USER - Allow user mode access + * 0b0..Allow only privilege mode to access CPU mode control registers + * 0b1..Allow both privilege and user mode to access CPU mode control registers + */ +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_USER(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_AUTHEN_CTRL_USER_SHIFT)) & GPC_CPU_CTRL_CM_AUTHEN_CTRL_USER_MASK) + +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_NONSECURE_MASK (0x200U) +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_NONSECURE_SHIFT (9U) +/*! NONSECURE - Allow non-secure mode access + * 0b0..Allow only secure mode to access CPU mode control + * 0b1..Allow both secure and non-secure mode to access CPU mode control registers + */ +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_AUTHEN_CTRL_NONSECURE_SHIFT)) & GPC_CPU_CTRL_CM_AUTHEN_CTRL_NONSECURE_MASK) + +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_MASK (0x800U) +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_SHIFT (11U) +/*! LOCK_SETTING - Lock NONSECURE and USER + * 0b0..NONSECURE and USER fields are not locked + * 0b1..NONSECURE and USER fields are locked + */ +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_SHIFT)) & GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_MASK) + +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_MASK (0x8000U) +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - White list lock + * 0b0..WHITE_LIST is not locked + * 0b1..WHITE_LIST is locked + */ +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & GPC_CPU_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_MASK) + +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_MASK (0xFFFF0000U) +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Domain ID white list */ +#define GPC_CPU_CTRL_CM_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & GPC_CPU_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_MASK) +/*! @} */ + +/*! @name CM_MISC - Miscellaneous */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_MISC_NMI_STAT_MASK (0x1U) +#define GPC_CPU_CTRL_CM_MISC_NMI_STAT_SHIFT (0U) +/*! NMI_STAT - Non-masked interrupt status + * 0b0..NMI is not asserted + * 0b1..NMI is asserted + */ +#define GPC_CPU_CTRL_CM_MISC_NMI_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MISC_NMI_STAT_SHIFT)) & GPC_CPU_CTRL_CM_MISC_NMI_STAT_MASK) + +#define GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_EN_MASK (0x2U) +#define GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_EN_SHIFT (1U) +/*! SLEEP_HOLD_EN - Allow cpu_sleep_hold_req assert during CPU low power status + * 0b0..Disable cpu_sleep_hold_req + * 0b1..Allow cpu_sleep_hold_req to assert during CPU low power status + */ +#define GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_EN_SHIFT)) & GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_EN_MASK) + +#define GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_STAT_MASK (0x4U) +#define GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_STAT_SHIFT (2U) +/*! SLEEP_HOLD_STAT - Status of cpu_sleep_hold_ack_b + * 0b0..CPU sleep hold is acknowledged + * 0b1..CPU is not in sleep hold + */ +#define GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_STAT_SHIFT)) & GPC_CPU_CTRL_CM_MISC_SLEEP_HOLD_STAT_MASK) + +#define GPC_CPU_CTRL_CM_MISC_GIC_WAKEUP_STAT_MASK (0x10U) +#define GPC_CPU_CTRL_CM_MISC_GIC_WAKEUP_STAT_SHIFT (4U) +/*! GIC_WAKEUP_STAT - GIC wakeup request status */ +#define GPC_CPU_CTRL_CM_MISC_GIC_WAKEUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MISC_GIC_WAKEUP_STAT_SHIFT)) & GPC_CPU_CTRL_CM_MISC_GIC_WAKEUP_STAT_MASK) + +#define GPC_CPU_CTRL_CM_MISC_IRQ_MUX_MASK (0x20U) +#define GPC_CPU_CTRL_CM_MISC_IRQ_MUX_SHIFT (5U) +/*! IRQ_MUX - IRQ select + * 0b0..From raw IRQ + * 0b1..From GIC + */ +#define GPC_CPU_CTRL_CM_MISC_IRQ_MUX(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MISC_IRQ_MUX_SHIFT)) & GPC_CPU_CTRL_CM_MISC_IRQ_MUX_MASK) + +#define GPC_CPU_CTRL_CM_MISC_SW_WAKEUP_MASK (0x40U) +#define GPC_CPU_CTRL_CM_MISC_SW_WAKEUP_SHIFT (6U) +/*! SW_WAKEUP - software wakeup. Used for CPU hotplug. */ +#define GPC_CPU_CTRL_CM_MISC_SW_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MISC_SW_WAKEUP_SHIFT)) & GPC_CPU_CTRL_CM_MISC_SW_WAKEUP_MASK) +/*! @} */ + +/*! @name CM_MODE_CTRL - CPU mode control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_MASK (0x3U) +#define GPC_CPU_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_SHIFT (0U) +/*! CPU_MODE_TARGET - The CPU mode the CPU platform should transit to on next sleep event + * 0b00..Stay in RUN mode + * 0b01..Transit to WAIT mode + * 0b10..Transit to STOP mode + * 0b11..Transit to SUSPEND mode + */ +#define GPC_CPU_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_SHIFT)) & GPC_CPU_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_MASK) +/*! @} */ + +/*! @name CM_MODE_STAT - CM CPU mode Status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_MASK (0x3U) +#define GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_SHIFT (0U) +/*! CPU_MODE_CURRENT - Current CPU mode + * 0b00..CPU is currently in RUN mode + * 0b01..CPU is currently in WAIT mode + * 0b10..CPU is currently in STOP mode + * 0b11..CPU is currently in SUSPEND mode + */ +#define GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_SHIFT)) & GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_MASK) + +#define GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_MASK (0xCU) +#define GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_SHIFT (2U) +/*! CPU_MODE_PREVIOUS - Previous CPU mode + * 0b00..CPU was previously in RUN mode + * 0b01..CPU was previously in WAIT mode + * 0b10..CPU was previously in STOP mode + * 0b11..CPU was previously in SUSPEND mode + */ +#define GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_SHIFT)) & GPC_CPU_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_MASK) + +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_TRANS_BUSY_MASK (0x100U) +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_TRANS_BUSY_SHIFT (8U) +/*! SLEEP_TRANS_BUSY - Busy on CPU mode transition of sleep, not include set point trans busy. */ +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_TRANS_BUSY(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_TRANS_BUSY_SHIFT)) & GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_TRANS_BUSY_MASK) + +#define GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_TRANS_BUSY_MASK (0x200U) +#define GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_TRANS_BUSY_SHIFT (9U) +/*! WAKEUP_TRANS_BUSY - Busy on CPU mode transition of wakeup, not include set point trans busy. */ +#define GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_TRANS_BUSY(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_TRANS_BUSY_SHIFT)) & GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_TRANS_BUSY_MASK) + +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEPING_IDLE_MASK (0x400U) +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEPING_IDLE_SHIFT (10U) +/*! SLEEPING_IDLE - Completed CPU mode and set point transition of sleep sequence, in a sleeping_idle state. */ +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEPING_IDLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_STAT_SLEEPING_IDLE_SHIFT)) & GPC_CPU_CTRL_CM_MODE_STAT_SLEEPING_IDLE_MASK) + +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_REQUEST_MASK (0x10000U) +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_REQUEST_SHIFT (16U) +/*! SLEEP_REQUEST - Status of sleep_request input port */ +#define GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_REQUEST_SHIFT)) & GPC_CPU_CTRL_CM_MODE_STAT_SLEEP_REQUEST_MASK) + +#define GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_REQUEST_MASK (0x40000U) +#define GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_REQUEST_SHIFT (18U) +/*! WAKEUP_REQUEST - "ORed" of all unmasked IRQ in. */ +#define GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_REQUEST_SHIFT)) & GPC_CPU_CTRL_CM_MODE_STAT_WAKEUP_REQUEST_MASK) + +#define GPC_CPU_CTRL_CM_MODE_STAT_FSM_STATE_MASK (0x1F000000U) +#define GPC_CPU_CTRL_CM_MODE_STAT_FSM_STATE_SHIFT (24U) +/*! FSM_STATE - CPU mode trans FSM state. */ +#define GPC_CPU_CTRL_CM_MODE_STAT_FSM_STATE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_MODE_STAT_FSM_STATE_SHIFT)) & GPC_CPU_CTRL_CM_MODE_STAT_FSM_STATE_MASK) +/*! @} */ + +/*! @name CM_PIN_STAT - CM pin Status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_REQUEST_STAT_MASK (0x1U) +#define GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_REQUEST_STAT_SHIFT (0U) +/*! A55_HDSK_REQUEST_STAT - cpu_mode_trans_a55_hdsk_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_SSAR_REQUEST_STAT_MASK (0x2U) +#define GPC_CPU_CTRL_CM_PIN_STAT_SSAR_REQUEST_STAT_SHIFT (1U) +/*! SSAR_REQUEST_STAT - cpu_mode_trans_ssar_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_SSAR_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_SSAR_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_SSAR_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_LPCG_REQUEST_STAT_MASK (0x4U) +#define GPC_CPU_CTRL_CM_PIN_STAT_LPCG_REQUEST_STAT_SHIFT (2U) +/*! LPCG_REQUEST_STAT - cpu_mode_trans_lpcg_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_LPCG_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_LPCG_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_LPCG_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_PLL_REQUEST_STAT_MASK (0x8U) +#define GPC_CPU_CTRL_CM_PIN_STAT_PLL_REQUEST_STAT_SHIFT (3U) +/*! PLL_REQUEST_STAT - cpu_mode_trans_pll_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_PLL_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_PLL_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_PLL_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_ISO_REQUEST_STAT_MASK (0x10U) +#define GPC_CPU_CTRL_CM_PIN_STAT_ISO_REQUEST_STAT_SHIFT (4U) +/*! ISO_REQUEST_STAT - cpu_mode_trans_iso_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_ISO_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_ISO_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_ISO_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_MEM_REQUEST_STAT_MASK (0x20U) +#define GPC_CPU_CTRL_CM_PIN_STAT_MEM_REQUEST_STAT_SHIFT (5U) +/*! MEM_REQUEST_STAT - cpu_mode_trans_mem_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_MEM_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_MEM_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_MEM_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_RESET_REQUEST_STAT_MASK (0x40U) +#define GPC_CPU_CTRL_CM_PIN_STAT_RESET_REQUEST_STAT_SHIFT (6U) +/*! RESET_REQUEST_STAT - cpu_mode_trans_reset_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_RESET_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_RESET_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_RESET_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_POWER_REQUEST_STAT_MASK (0x80U) +#define GPC_CPU_CTRL_CM_PIN_STAT_POWER_REQUEST_STAT_SHIFT (7U) +/*! POWER_REQUEST_STAT - cpu_mode_trans_power_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_POWER_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_POWER_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_POWER_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_MTR_REQUEST_STAT_MASK (0x100U) +#define GPC_CPU_CTRL_CM_PIN_STAT_MTR_REQUEST_STAT_SHIFT (8U) +/*! MTR_REQUEST_STAT - cpu_mode_trans_mtr_request pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_MTR_REQUEST_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_MTR_REQUEST_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_MTR_REQUEST_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_DONE_STAT_MASK (0x10000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_DONE_STAT_SHIFT (16U) +/*! A55_HDSK_DONE_STAT - cpu_mode_trans_a55_hdsk_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_A55_HDSK_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_SSAR_DONE_STAT_MASK (0x20000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_SSAR_DONE_STAT_SHIFT (17U) +/*! SSAR_DONE_STAT - cpu_mode_trans_ssar_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_SSAR_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_SSAR_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_SSAR_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_LPCG_DONE_STAT_MASK (0x40000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_LPCG_DONE_STAT_SHIFT (18U) +/*! LPCG_DONE_STAT - cpu_mode_trans_lpcg_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_LPCG_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_LPCG_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_LPCG_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_PLL_DONE_STAT_MASK (0x80000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_PLL_DONE_STAT_SHIFT (19U) +/*! PLL_DONE_STAT - cpu_mode_trans_pll_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_PLL_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_PLL_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_PLL_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_ISO_DONE_STAT_MASK (0x100000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_ISO_DONE_STAT_SHIFT (20U) +/*! ISO_DONE_STAT - cpu_mode_trans_iso_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_ISO_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_ISO_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_ISO_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_MEM_DONE_STAT_MASK (0x200000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_MEM_DONE_STAT_SHIFT (21U) +/*! MEM_DONE_STAT - cpu_mode_trans_mem_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_MEM_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_MEM_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_MEM_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_RESET_DONE_STAT_MASK (0x400000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_RESET_DONE_STAT_SHIFT (22U) +/*! RESET_DONE_STAT - cpu_mode_trans_reset_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_RESET_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_RESET_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_RESET_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_POWER_DONE_STAT_MASK (0x800000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_POWER_DONE_STAT_SHIFT (23U) +/*! POWER_DONE_STAT - cpu_mode_trans_power_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_POWER_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_POWER_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_POWER_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_MTR_DONE_STAT_MASK (0x1000000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_MTR_DONE_STAT_SHIFT (24U) +/*! MTR_DONE_STAT - cpu_mode_trans_mtr_done pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_MTR_DONE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_MTR_DONE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_MTR_DONE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_CPU_MODE_STAT_MASK (0x60000000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_CPU_MODE_STAT_SHIFT (29U) +/*! CPU_MODE_STAT - cpu_power_mode pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_CPU_MODE_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_CPU_MODE_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_CPU_MODE_STAT_MASK) + +#define GPC_CPU_CTRL_CM_PIN_STAT_DEBUG_WAKEUP_ACK_STAT_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_PIN_STAT_DEBUG_WAKEUP_ACK_STAT_SHIFT (31U) +/*! DEBUG_WAKEUP_ACK_STAT - debug wakeup acknowledge pin status */ +#define GPC_CPU_CTRL_CM_PIN_STAT_DEBUG_WAKEUP_ACK_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_PIN_STAT_DEBUG_WAKEUP_ACK_STAT_SHIFT)) & GPC_CPU_CTRL_CM_PIN_STAT_DEBUG_WAKEUP_ACK_STAT_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_MASK_0 - CM IRQ0~31 wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_0_IRQ_WAKEUP_MASK_0_31_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_0_IRQ_WAKEUP_MASK_0_31_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_0_31 - "1" means the IRQ cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_0_IRQ_WAKEUP_MASK_0_31(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_0_IRQ_WAKEUP_MASK_0_31_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_0_IRQ_WAKEUP_MASK_0_31_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_MASK_1 - CM IRQ32~63 wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_1_IRQ_WAKEUP_MASK_32_63_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_1_IRQ_WAKEUP_MASK_32_63_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_32_63 - "1" means the IRQ cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_1_IRQ_WAKEUP_MASK_32_63(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_1_IRQ_WAKEUP_MASK_32_63_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_1_IRQ_WAKEUP_MASK_32_63_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_MASK_2 - CM IRQ64~95 wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_2_IRQ_WAKEUP_MASK_64_95_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_2_IRQ_WAKEUP_MASK_64_95_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_64_95 - "1" means the IRQ cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_2_IRQ_WAKEUP_MASK_64_95(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_2_IRQ_WAKEUP_MASK_64_95_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_2_IRQ_WAKEUP_MASK_64_95_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_MASK_3 - CM IRQ96~127 wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_3_IRQ_WAKEUP_MASK_96_127_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_3_IRQ_WAKEUP_MASK_96_127_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_96_127 - "1" means the IRQ cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_3_IRQ_WAKEUP_MASK_96_127(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_3_IRQ_WAKEUP_MASK_96_127_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_3_IRQ_WAKEUP_MASK_96_127_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_MASK_4 - CM IRQ128~159 wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_4_IRQ_WAKEUP_MASK_128_159_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_4_IRQ_WAKEUP_MASK_128_159_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_128_159 - "1" means the IRQ cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_4_IRQ_WAKEUP_MASK_128_159(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_4_IRQ_WAKEUP_MASK_128_159_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_4_IRQ_WAKEUP_MASK_128_159_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_MASK_5 - CM IRQ160~191 wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_5_IRQ_WAKEUP_MASK_160_191_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_5_IRQ_WAKEUP_MASK_160_191_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_160_191 - "1" means the IRQ cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_5_IRQ_WAKEUP_MASK_160_191(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_5_IRQ_WAKEUP_MASK_160_191_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_5_IRQ_WAKEUP_MASK_160_191_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_MASK_6 - CM IRQ192~223 wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_6_IRQ_WAKEUP_MASK_192_223_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_6_IRQ_WAKEUP_MASK_192_223_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_192_223 - "1" means the IRQ cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_6_IRQ_WAKEUP_MASK_192_223(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_6_IRQ_WAKEUP_MASK_192_223_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_6_IRQ_WAKEUP_MASK_192_223_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_MASK_7 - CM IRQ224~255 wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_7_IRQ_WAKEUP_MASK_224_255_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_7_IRQ_WAKEUP_MASK_224_255_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_224_255 - "1" means the IRQ cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_7_IRQ_WAKEUP_MASK_224_255(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_7_IRQ_WAKEUP_MASK_224_255_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_MASK_7_IRQ_WAKEUP_MASK_224_255_MASK) +/*! @} */ + +/*! @name CM_NON_IRQ_WAKEUP_MASK - CM non-IRQ wakeup mask */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_MASK (0x1U) +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_SHIFT (0U) +/*! EVENT_WAKEUP_MASK - "1" means the event cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_SHIFT)) & GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_MASK) + +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_MASK (0x2U) +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_SHIFT (1U) +/*! DEBUG_WAKEUP_MASK - "1" means the debug_wakeup_request cannot wakeup CPU platform */ +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_SHIFT)) & GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_STAT_0 - CM IRQ0~31 wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_0_IRQ_WAKEUP_STAT_0_31_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_0_IRQ_WAKEUP_STAT_0_31_SHIFT (0U) +/*! IRQ_WAKEUP_STAT_0_31 - IRQ status */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_0_IRQ_WAKEUP_STAT_0_31(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_0_IRQ_WAKEUP_STAT_0_31_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_0_IRQ_WAKEUP_STAT_0_31_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_STAT_1 - CM IRQ32~63 wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_1_IRQ_WAKEUP_STAT_32_63_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_1_IRQ_WAKEUP_STAT_32_63_SHIFT (0U) +/*! IRQ_WAKEUP_STAT_32_63 - IRQ status */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_1_IRQ_WAKEUP_STAT_32_63(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_1_IRQ_WAKEUP_STAT_32_63_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_1_IRQ_WAKEUP_STAT_32_63_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_STAT_2 - CM IRQ64~95 wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_2_IRQ_WAKEUP_STAT_64_95_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_2_IRQ_WAKEUP_STAT_64_95_SHIFT (0U) +/*! IRQ_WAKEUP_STAT_64_95 - IRQ status */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_2_IRQ_WAKEUP_STAT_64_95(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_2_IRQ_WAKEUP_STAT_64_95_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_2_IRQ_WAKEUP_STAT_64_95_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_STAT_3 - CM IRQ96~127 wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_3_IRQ_WAKEUP_STAT_96_127_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_3_IRQ_WAKEUP_STAT_96_127_SHIFT (0U) +/*! IRQ_WAKEUP_STAT_96_127 - IRQ status */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_3_IRQ_WAKEUP_STAT_96_127(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_3_IRQ_WAKEUP_STAT_96_127_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_3_IRQ_WAKEUP_STAT_96_127_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_STAT_4 - CM IRQ128~159 wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_4_IRQ_WAKEUP_STAT_128_159_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_4_IRQ_WAKEUP_STAT_128_159_SHIFT (0U) +/*! IRQ_WAKEUP_STAT_128_159 - IRQ status */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_4_IRQ_WAKEUP_STAT_128_159(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_4_IRQ_WAKEUP_STAT_128_159_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_4_IRQ_WAKEUP_STAT_128_159_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_STAT_5 - CM IRQ160~191 wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_5_IRQ_WAKEUP_STAT_160_191_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_5_IRQ_WAKEUP_STAT_160_191_SHIFT (0U) +/*! IRQ_WAKEUP_STAT_160_191 - IRQ status */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_5_IRQ_WAKEUP_STAT_160_191(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_5_IRQ_WAKEUP_STAT_160_191_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_5_IRQ_WAKEUP_STAT_160_191_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_STAT_6 - CM IRQ192~223 wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_6_IRQ_WAKEUP_STAT_192_223_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_6_IRQ_WAKEUP_STAT_192_223_SHIFT (0U) +/*! IRQ_WAKEUP_STAT_192_223 - IRQ status */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_6_IRQ_WAKEUP_STAT_192_223(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_6_IRQ_WAKEUP_STAT_192_223_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_6_IRQ_WAKEUP_STAT_192_223_MASK) +/*! @} */ + +/*! @name CM_IRQ_WAKEUP_STAT_7 - CM IRQ224~255 wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_7_IRQ_WAKEUP_MASK_224_255_MASK (0xFFFFFFFFU) +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_7_IRQ_WAKEUP_MASK_224_255_SHIFT (0U) +/*! IRQ_WAKEUP_MASK_224_255 - IRQ status */ +#define GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_7_IRQ_WAKEUP_MASK_224_255(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_7_IRQ_WAKEUP_MASK_224_255_SHIFT)) & GPC_CPU_CTRL_CM_IRQ_WAKEUP_STAT_7_IRQ_WAKEUP_MASK_224_255_MASK) +/*! @} */ + +/*! @name CM_NON_IRQ_WAKEUP_STAT - CM non-IRQ wakeup status */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_MASK (0x1U) +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_SHIFT (0U) +/*! EVENT_WAKEUP_STAT - Event wakeup status + * 0b0..No event wakeup is requested + * 0b1..Event wakeup is requested + */ +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_SHIFT)) & GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_MASK) + +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_MASK (0x2U) +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_SHIFT (1U) +/*! DEBUG_WAKEUP_STAT - Debug wakeup status + * 0b0..No debug wakeup is requested + * 0b1..Debug wakeup is requested + */ +#define GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_SHIFT)) & GPC_CPU_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_MASK) +/*! @} */ + +/*! @name CM_SLEEP_A55_HDSK_CTRL - CM sleep A55_HDSK control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE. */ +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_A55_HDSK_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SLEEP_SSAR_CTRL - CM sleep SSAR control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE. */ +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SLEEP_LPCG_CTRL - CM sleep LPCG control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SLEEP_PLL_CTRL - CM sleep PLL control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SLEEP_ISO_CTRL - CM sleep isolation control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SLEEP_MEM_CTRL - CM sleep memory control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_MEM_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SLEEP_RESET_CTRL - CM sleep reset control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SLEEP_POWER_CTRL - CM sleep power control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SLEEP_RSV2_CTRL - CM sleep rsv2 control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_SLEEP_RSV2_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_RSV2_CTRL - CM wakeup rsv2 control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_RSV2_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_POWER_CTRL - CM wakeup power control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_MEM_CTRL - CM wakeup memory control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_MEM_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_RESET_CTRL - CM wakeup reset control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_ISO_CTRL - CM wakeup isolation control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_PLL_CTRL - CM wakeup PLL control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_LPCG_CTRL - CM wakeup LPCG control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_MTR_CTRL - CM wakeup MTR control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_MTR_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_SSAR_CTRL - CM wakeup SSAR control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_WAKEUP_A55_HDSK_CTRL - CM wakeup A55_HDSK control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_STEP_CNT_MASK (0xFFFFFFU) +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_STEP_CNT_SHIFT (0U) +/*! STEP_CNT - Step count, usage depends on CNT_MODE */ +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_STEP_CNT_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_CNT_MODE_MASK (0x30000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Count mode + * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done + * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT + * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes + * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value + */ +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_CNT_MODE_MASK) + +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_DISABLE_MASK (0x80000000U) +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_DISABLE_SHIFT (31U) +/*! DISABLE - Disable this step + * 0b0..This step is enabled. + * 0b1..This step is disabled. GPC will skip this step and not send any request. + */ +#define GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_DISABLE_SHIFT)) & GPC_CPU_CTRL_CM_WAKEUP_A55_HDSK_CTRL_DISABLE_MASK) +/*! @} */ + +/*! @name CM_SYS_SLEEP_CTRL - CM system sleep control */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_WAIT_MASK (0x1U) +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_WAIT_SHIFT (0U) +/*! SS_WAIT - Request system sleep when CPU is in WAIT mode + * 0b0..Do not request system sleep when CPU is in WAIT mode + * 0b1..Request system sleep when CPU is in WAIT mode + */ +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_WAIT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_WAIT_SHIFT)) & GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_WAIT_MASK) + +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_STOP_MASK (0x2U) +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_STOP_SHIFT (1U) +/*! SS_STOP - Request system sleep when CPU is in STOP mode + * 0b0..Do not request system sleep when CPU is in STOP mode + * 0b1..Request system sleep when CPU is in STOP mode + */ +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_STOP(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_STOP_SHIFT)) & GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_STOP_MASK) + +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_SUSPEND_MASK (0x4U) +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_SUSPEND_SHIFT (2U) +/*! SS_SUSPEND - Request system sleep when CPU is in SUSPEND mode + * 0b0..Do not request system sleep when CPU is in SUSPEND mode + * 0b1..Request system sleep when CPU is in SUSPEND mode + */ +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_SUSPEND(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_SUSPEND_SHIFT)) & GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SS_SUSPEND_MASK) + +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_SLEEP_BUSY_MASK (0x10000U) +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_SLEEP_BUSY_SHIFT (16U) +/*! SYS_SLEEP_BUSY - Indicates the CPU is busy entering system sleep mode. */ +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_SLEEP_BUSY(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_SLEEP_BUSY_SHIFT)) & GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_SLEEP_BUSY_MASK) + +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_WAKEUP_BUSY_MASK (0x20000U) +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_WAKEUP_BUSY_SHIFT (17U) +/*! SYS_WAKEUP_BUSY - Indicates the CPU is busy exiting system sleep mode. */ +#define GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_WAKEUP_BUSY(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_WAKEUP_BUSY_SHIFT)) & GPC_CPU_CTRL_CM_SYS_SLEEP_CTRL_SYS_WAKEUP_BUSY_MASK) +/*! @} */ + +/*! @name CM_DEBUG - CM debug */ +/*! @{ */ + +#define GPC_CPU_CTRL_CM_DEBUG_PRETEND_SLEEP_MASK (0x1U) +#define GPC_CPU_CTRL_CM_DEBUG_PRETEND_SLEEP_SHIFT (0U) +/*! PRETEND_SLEEP - Write 1 to force CMC into sleep. Used to debug GPC status. Locked by LOCK_CFG field. */ +#define GPC_CPU_CTRL_CM_DEBUG_PRETEND_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_CTRL_CM_DEBUG_PRETEND_SLEEP_SHIFT)) & GPC_CPU_CTRL_CM_DEBUG_PRETEND_SLEEP_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group GPC_CPU_CTRL_Register_Masks */ + + +/* GPC_CPU_CTRL - Peripheral instance base addresses */ +/** Peripheral GPC__GPC_CTRL_CA55_0 base address */ +#define GPC__GPC_CTRL_CA55_0_BASE (0x44470800u) +/** Peripheral GPC__GPC_CTRL_CA55_0 base pointer */ +#define GPC__GPC_CTRL_CA55_0 ((GPC_CPU_CTRL_Type *)GPC__GPC_CTRL_CA55_0_BASE) +/** Peripheral GPC__GPC_CTRL_CA55_CLUSTER base address */ +#define GPC__GPC_CTRL_CA55_CLUSTER_BASE (0x44471800u) +/** Peripheral GPC__GPC_CTRL_CA55_CLUSTER base pointer */ +#define GPC__GPC_CTRL_CA55_CLUSTER ((GPC_CPU_CTRL_Type *)GPC__GPC_CTRL_CA55_CLUSTER_BASE) +/** Array initializer of GPC_CPU_CTRL peripheral base addresses */ +#define GPC_CPU_CTRL_BASE_ADDRS { GPC__GPC_CTRL_CA55_0_BASE, GPC__GPC_CTRL_CA55_CLUSTER_BASE } +/** Array initializer of GPC_CPU_CTRL peripheral base pointers */ +#define GPC_CPU_CTRL_BASE_PTRS { GPC__GPC_CTRL_CA55_0, GPC__GPC_CTRL_CA55_CLUSTER } + +/*! + * @} + */ /* end of group GPC_CPU_CTRL_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- GPC_GLOBAL Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup GPC_GLOBAL_Peripheral_Access_Layer GPC_GLOBAL Peripheral Access Layer + * @{ + */ + +/** GPC_GLOBAL - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[4]; + __IO uint32_t AUTHEN_CTRL; /**< GPC Global Authentication Control, offset: 0x4 */ + uint8_t RESERVED_1[8]; + __IO uint32_t GPC_DOMAIN; /**< GPC domain assignment, offset: 0x10 */ + uint8_t RESERVED_2[8]; + __IO uint32_t GPC_MASTER; /**< GPC master CPU configuration, offset: 0x1C */ + uint8_t RESERVED_3[32]; + __IO uint32_t GPC_SYS_SLEEP; /**< GPC system sleep control, offset: 0x40 */ + uint8_t RESERVED_4[188]; + __IO uint32_t PMIC_CTRL; /**< PMIC standby control, offset: 0x100 */ + __IO uint32_t PMIC_PRE_DLY_CTRL; /**< PMIC standby pre delay control, offset: 0x104 */ + __IO uint32_t PMIC_STBY_ACK_CTRL; /**< PMIC standby acknowledge control, offset: 0x108 */ + uint8_t RESERVED_5[244]; + __IO uint32_t GPC_ROSC_CTRL; /**< RCOSC control, offset: 0x200 */ + __IO uint32_t GPC_AON_MEM_CTRL; /**< AON Memory control, offset: 0x204 */ + __IO uint32_t GPC_EFUSE_CTRL; /**< eFUSE control, offset: 0x208 */ +} GPC_GLOBAL_Type; + +/* ---------------------------------------------------------------------------- + -- GPC_GLOBAL Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup GPC_GLOBAL_Register_Masks GPC_GLOBAL Register Masks + * @{ + */ + +/*! @name AUTHEN_CTRL - GPC Global Authentication Control */ +/*! @{ */ + +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_CFG_MASK (0x80U) +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_CFG_SHIFT (7U) +/*! LOCK_CFG - Configuration lock + * 0b0..The value of low power configuration fields are not locked. + * 0b1..The value of low power configuration fields are locked. Refer to the function field of each gpc_global registers. + */ +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & GPC_GLOBAL_AUTHEN_CTRL_LOCK_CFG_MASK) + +#define GPC_GLOBAL_AUTHEN_CTRL_USER_MASK (0x100U) +#define GPC_GLOBAL_AUTHEN_CTRL_USER_SHIFT (8U) +/*! USER - Allow user mode access + * 0b0..Allow only privilege mode to access CPU mode control registers + * 0b1..Allow both privilege and user mode to access CPU mode control registers + */ +#define GPC_GLOBAL_AUTHEN_CTRL_USER(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_AUTHEN_CTRL_USER_SHIFT)) & GPC_GLOBAL_AUTHEN_CTRL_USER_MASK) + +#define GPC_GLOBAL_AUTHEN_CTRL_NONSECURE_MASK (0x200U) +#define GPC_GLOBAL_AUTHEN_CTRL_NONSECURE_SHIFT (9U) +/*! NONSECURE - Allow non-secure mode access + * 0b0..Allow only secure mode to access CPU mode registers + * 0b1..Allow both secure and non-secure mode to access CPU mode control registers. + */ +#define GPC_GLOBAL_AUTHEN_CTRL_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_AUTHEN_CTRL_NONSECURE_SHIFT)) & GPC_GLOBAL_AUTHEN_CTRL_NONSECURE_MASK) + +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_SETTING_MASK (0x800U) +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_SETTING_SHIFT (11U) +/*! LOCK_SETTING - Lock NONSECURE and USER + * 0b0..NONSECURE and USER fields are not locked + * 0b1..NONSECURE and USER fields are locked + */ +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_AUTHEN_CTRL_LOCK_SETTING_SHIFT)) & GPC_GLOBAL_AUTHEN_CTRL_LOCK_SETTING_MASK) + +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_LIST_MASK (0x8000U) +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - White list lock + * 0b0..WHITE_LIST is not locked + * 0b1..WHITE_LIST is locked + */ +#define GPC_GLOBAL_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & GPC_GLOBAL_AUTHEN_CTRL_LOCK_LIST_MASK) + +#define GPC_GLOBAL_AUTHEN_CTRL_WHITE_LIST_MASK (0xFFFF0000U) +#define GPC_GLOBAL_AUTHEN_CTRL_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Domain ID white list */ +#define GPC_GLOBAL_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & GPC_GLOBAL_AUTHEN_CTRL_WHITE_LIST_MASK) +/*! @} */ + +/*! @name GPC_DOMAIN - GPC domain assignment */ +/*! @{ */ + +#define GPC_GLOBAL_GPC_DOMAIN_CPU0_DOMAIN_MASK (0xFU) +#define GPC_GLOBAL_GPC_DOMAIN_CPU0_DOMAIN_SHIFT (0U) +/*! CPU0_DOMAIN - CPU0 domain assignment */ +#define GPC_GLOBAL_GPC_DOMAIN_CPU0_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_DOMAIN_CPU0_DOMAIN_SHIFT)) & GPC_GLOBAL_GPC_DOMAIN_CPU0_DOMAIN_MASK) + +#define GPC_GLOBAL_GPC_DOMAIN_CPU1_DOMAIN_MASK (0xF0U) +#define GPC_GLOBAL_GPC_DOMAIN_CPU1_DOMAIN_SHIFT (4U) +/*! CPU1_DOMAIN - CPU1 domain assignment */ +#define GPC_GLOBAL_GPC_DOMAIN_CPU1_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_DOMAIN_CPU1_DOMAIN_SHIFT)) & GPC_GLOBAL_GPC_DOMAIN_CPU1_DOMAIN_MASK) + +#define GPC_GLOBAL_GPC_DOMAIN_CPU2_DOMAIN_MASK (0xF00U) +#define GPC_GLOBAL_GPC_DOMAIN_CPU2_DOMAIN_SHIFT (8U) +/*! CPU2_DOMAIN - CPU2 domain assignment */ +#define GPC_GLOBAL_GPC_DOMAIN_CPU2_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_DOMAIN_CPU2_DOMAIN_SHIFT)) & GPC_GLOBAL_GPC_DOMAIN_CPU2_DOMAIN_MASK) + +#define GPC_GLOBAL_GPC_DOMAIN_CPU3_DOMAIN_MASK (0xF000U) +#define GPC_GLOBAL_GPC_DOMAIN_CPU3_DOMAIN_SHIFT (12U) +/*! CPU3_DOMAIN - CPU3 domain assignment */ +#define GPC_GLOBAL_GPC_DOMAIN_CPU3_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_DOMAIN_CPU3_DOMAIN_SHIFT)) & GPC_GLOBAL_GPC_DOMAIN_CPU3_DOMAIN_MASK) +/*! @} */ + +/*! @name GPC_MASTER - GPC master CPU configuration */ +/*! @{ */ + +#define GPC_GLOBAL_GPC_MASTER_CPU0_MASTER_MASK (0x1U) +#define GPC_GLOBAL_GPC_MASTER_CPU0_MASTER_SHIFT (0U) +/*! CPU0_MASTER - Setting to 1 means CPU0 is the master CPU of its domain + * 0b0..CPU0 is not the master CPU of its domain + * 0b1..CPU0 is the master CPU of its domain + */ +#define GPC_GLOBAL_GPC_MASTER_CPU0_MASTER(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_MASTER_CPU0_MASTER_SHIFT)) & GPC_GLOBAL_GPC_MASTER_CPU0_MASTER_MASK) + +#define GPC_GLOBAL_GPC_MASTER_CPU1_MASTER_MASK (0x2U) +#define GPC_GLOBAL_GPC_MASTER_CPU1_MASTER_SHIFT (1U) +/*! CPU1_MASTER - Setting to 1 means CPU1 is the master CPU of its domain + * 0b0..CPU1 is not the master CPU of its domain + * 0b1..CPU1 is the master CPU of its domain + */ +#define GPC_GLOBAL_GPC_MASTER_CPU1_MASTER(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_MASTER_CPU1_MASTER_SHIFT)) & GPC_GLOBAL_GPC_MASTER_CPU1_MASTER_MASK) + +#define GPC_GLOBAL_GPC_MASTER_CPU2_MASTER_MASK (0x4U) +#define GPC_GLOBAL_GPC_MASTER_CPU2_MASTER_SHIFT (2U) +/*! CPU2_MASTER - Setting to 1 means CPU2 is the master CPU of its domain + * 0b0..CPU2 is not the master CPU of its domain + * 0b1..CPU2 is the master CPU of its domain + */ +#define GPC_GLOBAL_GPC_MASTER_CPU2_MASTER(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_MASTER_CPU2_MASTER_SHIFT)) & GPC_GLOBAL_GPC_MASTER_CPU2_MASTER_MASK) + +#define GPC_GLOBAL_GPC_MASTER_CPU3_MASTER_MASK (0x8U) +#define GPC_GLOBAL_GPC_MASTER_CPU3_MASTER_SHIFT (3U) +/*! CPU3_MASTER - Setting to 1 means CPU3 is the master CPU of its domain + * 0b0..CPU3 is not the master CPU of its domain + * 0b1..CPU3 is the master CPU of its domain + */ +#define GPC_GLOBAL_GPC_MASTER_CPU3_MASTER(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_MASTER_CPU3_MASTER_SHIFT)) & GPC_GLOBAL_GPC_MASTER_CPU3_MASTER_MASK) +/*! @} */ + +/*! @name GPC_SYS_SLEEP - GPC system sleep control */ +/*! @{ */ + +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU0_DISABLE_MASK (0x10000U) +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU0_DISABLE_SHIFT (16U) +/*! FORCE_CPU0_DISABLE - Force CPU0 into a system sleep status */ +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU0_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU0_DISABLE_SHIFT)) & GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU0_DISABLE_MASK) + +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU1_DISABLE_MASK (0x20000U) +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU1_DISABLE_SHIFT (17U) +/*! FORCE_CPU1_DISABLE - Force CPU1 into a system sleep status */ +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU1_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU1_DISABLE_SHIFT)) & GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU1_DISABLE_MASK) + +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU2_DISABLE_MASK (0x40000U) +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU2_DISABLE_SHIFT (18U) +/*! FORCE_CPU2_DISABLE - Force CPU2 into a system sleep status */ +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU2_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU2_DISABLE_SHIFT)) & GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU2_DISABLE_MASK) + +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU3_DISABLE_MASK (0x80000U) +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU3_DISABLE_SHIFT (19U) +/*! FORCE_CPU3_DISABLE - Force CPU3 into a system sleep status */ +#define GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU3_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU3_DISABLE_SHIFT)) & GPC_GLOBAL_GPC_SYS_SLEEP_FORCE_CPU3_DISABLE_MASK) +/*! @} */ + +/*! @name PMIC_CTRL - PMIC standby control */ +/*! @{ */ + +#define GPC_GLOBAL_PMIC_CTRL_PMIC_STBY_EN_MASK (0x1U) +#define GPC_GLOBAL_PMIC_CTRL_PMIC_STBY_EN_SHIFT (0U) +/*! PMIC_STBY_EN - Assert the PMIC_STBY_REQ when system sleep */ +#define GPC_GLOBAL_PMIC_CTRL_PMIC_STBY_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_PMIC_CTRL_PMIC_STBY_EN_SHIFT)) & GPC_GLOBAL_PMIC_CTRL_PMIC_STBY_EN_MASK) +/*! @} */ + +/*! @name PMIC_PRE_DLY_CTRL - PMIC standby pre delay control */ +/*! @{ */ + +#define GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_ON_MASK (0xFFFFU) +#define GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_ON_SHIFT (0U) +/*! DLY_PRE_STBY_ON - Delay before pmic_standby on. Locked by LOCK_CFG field. */ +#define GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_ON(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_ON_SHIFT)) & GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_ON_MASK) + +#define GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_OFF_MASK (0xFFFF0000U) +#define GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_OFF_SHIFT (16U) +/*! DLY_PRE_STBY_OFF - Delay before pmic_standby off. Locked by LOCK_CFG field. */ +#define GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_OFF(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_OFF_SHIFT)) & GPC_GLOBAL_PMIC_PRE_DLY_CTRL_DLY_PRE_STBY_OFF_MASK) +/*! @} */ + +/*! @name PMIC_STBY_ACK_CTRL - PMIC standby acknowledge control */ +/*! @{ */ + +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_CFG_MASK (0xFFFU) +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_CFG_SHIFT (0U) +/*! STBY_ON_CNT_CFG - PMIC standby on acknowledge count configure. Usage depends on STBY_ON_CNT_MODE. Locked by LOCK_CFG field. */ +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_CFG_SHIFT)) & GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_CFG_MASK) + +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_MODE_MASK (0xC000U) +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_MODE_SHIFT (14U) +/*! STBY_ON_CNT_MODE - PMIC standby on acknowledge count mode. Locked by LOCK_CFG field. + * 0b00..Finish the process once pmic_standby signal changes + * 0b01..Finish the process once getting acknowledge from PMIC + * 0b10..Ignore PMIC acknowledge, the delay counter starts to count once pmic_standby changes + * 0b11..Time out mode, the counter starts to count once pmic_standby changes, then finishes the process when + * either acknowledge received or counting to CNT_CFG value + */ +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_MODE_SHIFT)) & GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_ON_CNT_MODE_MASK) + +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_CFG_MASK (0xFFF0000U) +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_CFG_SHIFT (16U) +/*! STBY_OFF_CNT_CFG - PMIC standby off acknowledge count configure. Usage depends on STBY_OFF_CNT_MODE. Locked by LOCK_CFG field. */ +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_CFG_SHIFT)) & GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_CFG_MASK) + +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_MODE_MASK (0xC0000000U) +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_MODE_SHIFT (30U) +/*! STBY_OFF_CNT_MODE - PMIC standby off acknowledge count mode. Locked by LOCK_CFG field. + * 0b00..Finish the process once pmic_standby signal changes + * 0b01..Finish the process once getting acknowledge from PMIC + * 0b10..Ignore PMIC acknowledge, the delay counter starts to count once pmic_standby changes + * 0b11..Time out mode, the counter starts to count once pmic_standby changes, then finishes the process when + * either acknowledge received or counting to CNT_CFG value + */ +#define GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_MODE_SHIFT)) & GPC_GLOBAL_PMIC_STBY_ACK_CTRL_STBY_OFF_CNT_MODE_MASK) +/*! @} */ + +/*! @name GPC_ROSC_CTRL - RCOSC control */ +/*! @{ */ + +#define GPC_GLOBAL_GPC_ROSC_CTRL_ROSC_OFF_EN_MASK (0x1U) +#define GPC_GLOBAL_GPC_ROSC_CTRL_ROSC_OFF_EN_SHIFT (0U) +/*! ROSC_OFF_EN - Shut off the 24 MHz RCOSC clock when system sleep */ +#define GPC_GLOBAL_GPC_ROSC_CTRL_ROSC_OFF_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_ROSC_CTRL_ROSC_OFF_EN_SHIFT)) & GPC_GLOBAL_GPC_ROSC_CTRL_ROSC_OFF_EN_MASK) +/*! @} */ + +/*! @name GPC_AON_MEM_CTRL - AON Memory control */ +/*! @{ */ + +#define GPC_GLOBAL_GPC_AON_MEM_CTRL_AON_MEM_LP_EN_MASK (0x1U) +#define GPC_GLOBAL_GPC_AON_MEM_CTRL_AON_MEM_LP_EN_SHIFT (0U) +/*! AON_MEM_LP_EN - AON memory enter LP enable */ +#define GPC_GLOBAL_GPC_AON_MEM_CTRL_AON_MEM_LP_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_AON_MEM_CTRL_AON_MEM_LP_EN_SHIFT)) & GPC_GLOBAL_GPC_AON_MEM_CTRL_AON_MEM_LP_EN_MASK) +/*! @} */ + +/*! @name GPC_EFUSE_CTRL - eFUSE control */ +/*! @{ */ + +#define GPC_GLOBAL_GPC_EFUSE_CTRL_EFUSE_PD_EN_MASK (0x1U) +#define GPC_GLOBAL_GPC_EFUSE_CTRL_EFUSE_PD_EN_SHIFT (0U) +/*! EFUSE_PD_EN - eFUSE power down enable */ +#define GPC_GLOBAL_GPC_EFUSE_CTRL_EFUSE_PD_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_GLOBAL_GPC_EFUSE_CTRL_EFUSE_PD_EN_SHIFT)) & GPC_GLOBAL_GPC_EFUSE_CTRL_EFUSE_PD_EN_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group GPC_GLOBAL_Register_Masks */ + + +/* GPC_GLOBAL - Peripheral instance base addresses */ +/** Peripheral GPC__GPC_GLOBAL base address */ +#define GPC__GPC_GLOBAL_BASE (0x44474000u) +/** Peripheral GPC__GPC_GLOBAL base pointer */ +#define GPC__GPC_GLOBAL ((GPC_GLOBAL_Type *)GPC__GPC_GLOBAL_BASE) +/** Array initializer of GPC_GLOBAL peripheral base addresses */ +#define GPC_GLOBAL_BASE_ADDRS { GPC__GPC_GLOBAL_BASE } +/** Array initializer of GPC_GLOBAL peripheral base pointers */ +#define GPC_GLOBAL_BASE_PTRS { GPC__GPC_GLOBAL } + +/*! + * @} + */ /* end of group GPC_GLOBAL_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- I2S Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer + * @{ + */ + +/** I2S - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< Version ID, offset: 0x0 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x4 */ + __IO uint32_t TCSR; /**< Transmit Control, offset: 0x8 */ + __IO uint32_t TCR1; /**< Transmit Configuration 1, offset: 0xC */ + __IO uint32_t TCR2; /**< Transmit Configuration 2, offset: 0x10 */ + __IO uint32_t TCR3; /**< Transmit Configuration 3, offset: 0x14 */ + __IO uint32_t TCR4; /**< Transmit Configuration 4, offset: 0x18 */ + __IO uint32_t TCR5; /**< Transmit Configuration 5, offset: 0x1C */ + __IO uint32_t TDR[2]; /**< Transmit Data, array offset: 0x20, array step: 0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_0[24]; + __I uint32_t TFR[2]; /**< Transmit FIFO, array offset: 0x40, array step: 0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_1[24]; + __IO uint32_t TMR; /**< Transmit Mask, offset: 0x60 */ + uint8_t RESERVED_2[12]; + __IO uint32_t TTCR; /**< Transmit Timestamp Control, offset: 0x70 */ + __I uint32_t TTSR; /**< Transmit Timestamp, offset: 0x74 */ + __I uint32_t TBCR; /**< Transmit Bit Count, offset: 0x78 */ + __I uint32_t TBCTR; /**< Transmit Bit Count Timestamp, offset: 0x7C */ + uint8_t RESERVED_3[8]; + __IO uint32_t RCSR; /**< Receive Control, offset: 0x88 */ + __IO uint32_t RCR1; /**< Receive Configuration 1, offset: 0x8C */ + __IO uint32_t RCR2; /**< Receive Configuration 2, offset: 0x90 */ + __IO uint32_t RCR3; /**< Receive Configuration 3, offset: 0x94 */ + __IO uint32_t RCR4; /**< Receive Configuration 4, offset: 0x98 */ + __IO uint32_t RCR5; /**< Receive Configuration 5, offset: 0x9C */ + __I uint32_t RDR[2]; /**< Receive Data, array offset: 0xA0, array step: 0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_4[24]; + __I uint32_t RFR[2]; /**< Receive FIFO, array offset: 0xC0, array step: 0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_5[24]; + __IO uint32_t RMR; /**< Receive Mask, offset: 0xE0 */ + uint8_t RESERVED_6[12]; + __IO uint32_t RTCR; /**< Receive Timestamp Control, offset: 0xF0 */ + __I uint32_t RTSR; /**< Receive Timestamp, offset: 0xF4 */ + __I uint32_t RBCR; /**< Receive Bit Count, offset: 0xF8 */ + __I uint32_t RBCTR; /**< Receive Bit Count Timestamp, offset: 0xFC */ + __IO uint32_t MCR; /**< MCLK Control, offset: 0x100 */ +} I2S_Type; + +/* ---------------------------------------------------------------------------- + -- I2S Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup I2S_Register_Masks I2S Register Masks + * @{ + */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define I2S_VERID_FEATURE_MASK (0xFFFFU) +#define I2S_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Specification Number + * 0b0000000000000000..Standard feature set + * 0b0000000000000010..Standard feature set with timestamp registers + */ +#define I2S_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_FEATURE_SHIFT)) & I2S_VERID_FEATURE_MASK) + +#define I2S_VERID_MINOR_MASK (0xFF0000U) +#define I2S_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define I2S_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MINOR_SHIFT)) & I2S_VERID_MINOR_MASK) + +#define I2S_VERID_MAJOR_MASK (0xFF000000U) +#define I2S_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define I2S_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MAJOR_SHIFT)) & I2S_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define I2S_PARAM_DATALINE_MASK (0xFU) +#define I2S_PARAM_DATALINE_SHIFT (0U) +/*! DATALINE - Number of Data Lines */ +#define I2S_PARAM_DATALINE(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_DATALINE_SHIFT)) & I2S_PARAM_DATALINE_MASK) + +#define I2S_PARAM_FIFO_MASK (0xF00U) +#define I2S_PARAM_FIFO_SHIFT (8U) +/*! FIFO - FIFO Size */ +#define I2S_PARAM_FIFO(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FIFO_SHIFT)) & I2S_PARAM_FIFO_MASK) + +#define I2S_PARAM_FRAME_MASK (0xF0000U) +#define I2S_PARAM_FRAME_SHIFT (16U) +/*! FRAME - Frame Size */ +#define I2S_PARAM_FRAME(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FRAME_SHIFT)) & I2S_PARAM_FRAME_MASK) +/*! @} */ + +/*! @name TCSR - Transmit Control */ +/*! @{ */ + +#define I2S_TCSR_FRDE_MASK (0x1U) +#define I2S_TCSR_FRDE_SHIFT (0U) +/*! FRDE - FIFO Request DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRDE_SHIFT)) & I2S_TCSR_FRDE_MASK) + +#define I2S_TCSR_FWDE_MASK (0x2U) +#define I2S_TCSR_FWDE_SHIFT (1U) +/*! FWDE - FIFO Warning DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWDE_SHIFT)) & I2S_TCSR_FWDE_MASK) + +#define I2S_TCSR_FRIE_MASK (0x100U) +#define I2S_TCSR_FRIE_SHIFT (8U) +/*! FRIE - FIFO Request Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRIE_SHIFT)) & I2S_TCSR_FRIE_MASK) + +#define I2S_TCSR_FWIE_MASK (0x200U) +#define I2S_TCSR_FWIE_SHIFT (9U) +/*! FWIE - FIFO Warning Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWIE_SHIFT)) & I2S_TCSR_FWIE_MASK) + +#define I2S_TCSR_FEIE_MASK (0x400U) +#define I2S_TCSR_FEIE_SHIFT (10U) +/*! FEIE - FIFO Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEIE_SHIFT)) & I2S_TCSR_FEIE_MASK) + +#define I2S_TCSR_SEIE_MASK (0x800U) +#define I2S_TCSR_SEIE_SHIFT (11U) +/*! SEIE - Sync Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEIE_SHIFT)) & I2S_TCSR_SEIE_MASK) + +#define I2S_TCSR_WSIE_MASK (0x1000U) +#define I2S_TCSR_WSIE_SHIFT (12U) +/*! WSIE - Word Start Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSIE_SHIFT)) & I2S_TCSR_WSIE_MASK) + +#define I2S_TCSR_FRF_MASK (0x10000U) +#define I2S_TCSR_FRF_SHIFT (16U) +/*! FRF - FIFO Request Flag + * 0b0..Watermark not reached + * 0b1..Watermark reached + */ +#define I2S_TCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRF_SHIFT)) & I2S_TCSR_FRF_MASK) + +#define I2S_TCSR_FWF_MASK (0x20000U) +#define I2S_TCSR_FWF_SHIFT (17U) +/*! FWF - FIFO Warning Flag + * 0b0..Not empty + * 0b1..Empty + */ +#define I2S_TCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWF_SHIFT)) & I2S_TCSR_FWF_MASK) + +#define I2S_TCSR_FEF_MASK (0x40000U) +#define I2S_TCSR_FEF_SHIFT (18U) +/*! FEF - FIFO Error Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define I2S_TCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEF_SHIFT)) & I2S_TCSR_FEF_MASK) + +#define I2S_TCSR_SEF_MASK (0x80000U) +#define I2S_TCSR_SEF_SHIFT (19U) +/*! SEF - Sync Error Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define I2S_TCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEF_SHIFT)) & I2S_TCSR_SEF_MASK) + +#define I2S_TCSR_WSF_MASK (0x100000U) +#define I2S_TCSR_WSF_SHIFT (20U) +/*! WSF - Word Start Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define I2S_TCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSF_SHIFT)) & I2S_TCSR_WSF_MASK) + +#define I2S_TCSR_SR_MASK (0x1000000U) +#define I2S_TCSR_SR_SHIFT (24U) +/*! SR - Software Reset + * 0b0..No effect + * 0b1..Software reset + */ +#define I2S_TCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SR_SHIFT)) & I2S_TCSR_SR_MASK) + +#define I2S_TCSR_FR_MASK (0x2000000U) +#define I2S_TCSR_FR_SHIFT (25U) +/*! FR - FIFO Reset + * 0b0..No effect + * 0b1..FIFO reset + */ +#define I2S_TCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FR_SHIFT)) & I2S_TCSR_FR_MASK) + +#define I2S_TCSR_BCE_MASK (0x10000000U) +#define I2S_TCSR_BCE_SHIFT (28U) +/*! BCE - Bit Clock Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_BCE_SHIFT)) & I2S_TCSR_BCE_MASK) + +#define I2S_TCSR_DBGE_MASK (0x20000000U) +#define I2S_TCSR_DBGE_SHIFT (29U) +/*! DBGE - Debug Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_DBGE_SHIFT)) & I2S_TCSR_DBGE_MASK) + +#define I2S_TCSR_STOPE_MASK (0x40000000U) +#define I2S_TCSR_STOPE_SHIFT (30U) +/*! STOPE - Stop Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_STOPE_SHIFT)) & I2S_TCSR_STOPE_MASK) + +#define I2S_TCSR_TE_MASK (0x80000000U) +#define I2S_TCSR_TE_SHIFT (31U) +/*! TE - Transmitter Enable + * 0b0..Disable + * 0b1..Enable (or transmitter has been disabled and has not yet reached the end of the frame) + */ +#define I2S_TCSR_TE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_TE_SHIFT)) & I2S_TCSR_TE_MASK) +/*! @} */ + +/*! @name TCR1 - Transmit Configuration 1 */ +/*! @{ */ + +#define I2S_TCR1_TFW_MASK (0x7FU) /* Merged from fields with different position or width, of widths (6, 7), largest definition used */ +#define I2S_TCR1_TFW_SHIFT (0U) +/*! TFW - Transmit FIFO Watermark + * 0b0000000..1 + * 0b0000001..2 + * 0b0000010-0b1111110..(TFW +1) + * 0b1111111..128 + */ +#define I2S_TCR1_TFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR1_TFW_SHIFT)) & I2S_TCR1_TFW_MASK) /* Merged from fields with different position or width, of widths (6, 7), largest definition used */ +/*! @} */ + +/*! @name TCR2 - Transmit Configuration 2 */ +/*! @{ */ + +#define I2S_TCR2_DIV_MASK (0xFFU) +#define I2S_TCR2_DIV_SHIFT (0U) +/*! DIV - Bit Clock Divide */ +#define I2S_TCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_DIV_SHIFT)) & I2S_TCR2_DIV_MASK) + +#define I2S_TCR2_BYP_MASK (0x800000U) +#define I2S_TCR2_BYP_SHIFT (23U) +/*! BYP - Bit Clock Bypass + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCR2_BYP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BYP_SHIFT)) & I2S_TCR2_BYP_MASK) + +#define I2S_TCR2_BCD_MASK (0x1000000U) +#define I2S_TCR2_BCD_SHIFT (24U) +/*! BCD - Bit Clock Direction + * 0b0..Generate externally in Target mode + * 0b1..Generate internally in Controller mode + */ +#define I2S_TCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCD_SHIFT)) & I2S_TCR2_BCD_MASK) + +#define I2S_TCR2_BCP_MASK (0x2000000U) +#define I2S_TCR2_BCP_SHIFT (25U) +/*! BCP - Bit Clock Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define I2S_TCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCP_SHIFT)) & I2S_TCR2_BCP_MASK) + +#define I2S_TCR2_MSEL_MASK (0xC000000U) +#define I2S_TCR2_MSEL_SHIFT (26U) +/*! MSEL - MCLK Select + * 0b00..Bus clock + * 0b01..Controller clock (MCLK) option 1 + * 0b10..Controller clock (MCLK) option 2 + * 0b11..Controller clock (MCLK) option 3 + */ +#define I2S_TCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_MSEL_SHIFT)) & I2S_TCR2_MSEL_MASK) + +#define I2S_TCR2_BCI_MASK (0x10000000U) +#define I2S_TCR2_BCI_SHIFT (28U) +/*! BCI - Bit Clock Input + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCI_SHIFT)) & I2S_TCR2_BCI_MASK) + +#define I2S_TCR2_BCS_MASK (0x20000000U) +#define I2S_TCR2_BCS_SHIFT (29U) +/*! BCS - Bit Clock Swap + * 0b0..Use the normal bit clock source + * 0b1..Swap the bit clock source + */ +#define I2S_TCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCS_SHIFT)) & I2S_TCR2_BCS_MASK) + +#define I2S_TCR2_SYNC_MASK (0x40000000U) +#define I2S_TCR2_SYNC_SHIFT (30U) +/*! SYNC - Synchronous Mode + * 0b0..Asynchronous mode + * 0b1..Synchronous with receiver + */ +#define I2S_TCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_SYNC_SHIFT)) & I2S_TCR2_SYNC_MASK) +/*! @} */ + +/*! @name TCR3 - Transmit Configuration 3 */ +/*! @{ */ + +#define I2S_TCR3_WDFL_MASK (0x1FU) +#define I2S_TCR3_WDFL_SHIFT (0U) +/*! WDFL - Word Flag Configuration */ +#define I2S_TCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_WDFL_SHIFT)) & I2S_TCR3_WDFL_MASK) + +#define I2S_TCR3_TCE_MASK (0x30000U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */ +#define I2S_TCR3_TCE_SHIFT (16U) +/*! TCE - Transmit Channel Enable */ +#define I2S_TCR3_TCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_TCE_SHIFT)) & I2S_TCR3_TCE_MASK) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */ + +#define I2S_TCR3_CFR_MASK (0x3000000U) +#define I2S_TCR3_CFR_SHIFT (24U) +/*! CFR - Channel FIFO Reset */ +#define I2S_TCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_CFR_SHIFT)) & I2S_TCR3_CFR_MASK) +/*! @} */ + +/*! @name TCR4 - Transmit Configuration 4 */ +/*! @{ */ + +#define I2S_TCR4_FSD_MASK (0x1U) +#define I2S_TCR4_FSD_SHIFT (0U) +/*! FSD - Frame Sync Direction + * 0b0..Generated externally in Target mode + * 0b1..Generated internally in Controller mode + */ +#define I2S_TCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSD_SHIFT)) & I2S_TCR4_FSD_MASK) + +#define I2S_TCR4_FSP_MASK (0x2U) +#define I2S_TCR4_FSP_SHIFT (1U) +/*! FSP - Frame Sync Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define I2S_TCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSP_SHIFT)) & I2S_TCR4_FSP_MASK) + +#define I2S_TCR4_ONDEM_MASK (0x4U) +#define I2S_TCR4_ONDEM_SHIFT (2U) +/*! ONDEM - On-Demand Mode + * 0b0..Generated continuously + * 0b1..Generated after the FIFO warning flag is cleared + */ +#define I2S_TCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_ONDEM_SHIFT)) & I2S_TCR4_ONDEM_MASK) + +#define I2S_TCR4_FSE_MASK (0x8U) +#define I2S_TCR4_FSE_SHIFT (3U) +/*! FSE - Frame Sync Early + * 0b0..First bit of the frame + * 0b1..One bit before the first bit of the frame + */ +#define I2S_TCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSE_SHIFT)) & I2S_TCR4_FSE_MASK) + +#define I2S_TCR4_MF_MASK (0x10U) +#define I2S_TCR4_MF_SHIFT (4U) +/*! MF - MSB First + * 0b0..LSB + * 0b1..MSB + */ +#define I2S_TCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_MF_SHIFT)) & I2S_TCR4_MF_MASK) + +#define I2S_TCR4_CHMOD_MASK (0x20U) +#define I2S_TCR4_CHMOD_SHIFT (5U) +/*! CHMOD - Channel Mode + * 0b0..TDM mode + * 0b1..Output mode + */ +#define I2S_TCR4_CHMOD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_CHMOD_SHIFT)) & I2S_TCR4_CHMOD_MASK) + +#define I2S_TCR4_SYWD_MASK (0x1F00U) +#define I2S_TCR4_SYWD_SHIFT (8U) +/*! SYWD - Sync Width */ +#define I2S_TCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_SYWD_SHIFT)) & I2S_TCR4_SYWD_MASK) + +#define I2S_TCR4_FRSZ_MASK (0x1F0000U) +#define I2S_TCR4_FRSZ_SHIFT (16U) +/*! FRSZ - Frame Size */ +#define I2S_TCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FRSZ_SHIFT)) & I2S_TCR4_FRSZ_MASK) + +#define I2S_TCR4_FPACK_MASK (0x3000000U) +#define I2S_TCR4_FPACK_SHIFT (24U) +/*! FPACK - FIFO Packing Mode + * 0b00..Disable FIFO packing + * 0b01..Reserved + * 0b10..Enable 8-bit FIFO packing + * 0b11..Enable 16-bit FIFO packing + */ +#define I2S_TCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FPACK_SHIFT)) & I2S_TCR4_FPACK_MASK) + +#define I2S_TCR4_FCOMB_MASK (0xC000000U) +#define I2S_TCR4_FCOMB_SHIFT (26U) +/*! FCOMB - FIFO Combine Mode + * 0b00..Disable + * 0b01..Enable on FIFO reads (from transmit shift registers) + * 0b10..Enable on FIFO writes (by software) + * 0b11..Enable on FIFO reads (from transmit shift registers) and writes (by software) + */ +#define I2S_TCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCOMB_SHIFT)) & I2S_TCR4_FCOMB_MASK) + +#define I2S_TCR4_FCONT_MASK (0x10000000U) +#define I2S_TCR4_FCONT_SHIFT (28U) +/*! FCONT - FIFO Continue on Error + * 0b0..Continue from the start of the next frame + * 0b1..Continue from the same word that caused the FIFO error + */ +#define I2S_TCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCONT_SHIFT)) & I2S_TCR4_FCONT_MASK) +/*! @} */ + +/*! @name TCR5 - Transmit Configuration 5 */ +/*! @{ */ + +#define I2S_TCR5_FBT_MASK (0x1F00U) +#define I2S_TCR5_FBT_SHIFT (8U) +/*! FBT - First Bit Shifted + * 0b00000..0 + * 0b00001-0b11110..FBT + * 0b11111..31 + */ +#define I2S_TCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_FBT_SHIFT)) & I2S_TCR5_FBT_MASK) + +#define I2S_TCR5_W0W_MASK (0x1F0000U) +#define I2S_TCR5_W0W_SHIFT (16U) +/*! W0W - Word 0 Width + * 0b00111..8 + * 0b01000..9 + * 0b01001-0b11110..(W0W value + 1) + * 0b11111..32 + */ +#define I2S_TCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_W0W_SHIFT)) & I2S_TCR5_W0W_MASK) + +#define I2S_TCR5_WNW_MASK (0x1F000000U) +#define I2S_TCR5_WNW_SHIFT (24U) +/*! WNW - Word N Width + * 0b00111..8 + * 0b01000..9 + * 0b01001-0b11110..(WNW value + 1) + * 0b11111..32 + */ +#define I2S_TCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_WNW_SHIFT)) & I2S_TCR5_WNW_MASK) +/*! @} */ + +/*! @name TDR - Transmit Data */ +/*! @{ */ + +#define I2S_TDR_TDR_MASK (0xFFFFFFFFU) +#define I2S_TDR_TDR_SHIFT (0U) +/*! TDR - Transmit Data */ +#define I2S_TDR_TDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TDR_TDR_SHIFT)) & I2S_TDR_TDR_MASK) +/*! @} */ + +/* The count of I2S_TDR */ +#define I2S_TDR_COUNT (2U) + +/*! @name TFR - Transmit FIFO */ +/*! @{ */ + +#define I2S_TFR_RFP_MASK (0xFFU) /* Merged from fields with different position or width, of widths (7, 8), largest definition used */ +#define I2S_TFR_RFP_SHIFT (0U) +/*! RFP - Read FIFO Pointer */ +#define I2S_TFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_RFP_SHIFT)) & I2S_TFR_RFP_MASK) /* Merged from fields with different position or width, of widths (7, 8), largest definition used */ + +#define I2S_TFR_WFP_MASK (0xFF0000U) /* Merged from fields with different position or width, of widths (7, 8), largest definition used */ +#define I2S_TFR_WFP_SHIFT (16U) +/*! WFP - Write FIFO Pointer */ +#define I2S_TFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WFP_SHIFT)) & I2S_TFR_WFP_MASK) /* Merged from fields with different position or width, of widths (7, 8), largest definition used */ + +#define I2S_TFR_WCP_MASK (0x80000000U) +#define I2S_TFR_WCP_SHIFT (31U) +/*! WCP - Write Channel Pointer + * 0b0..No effect + * 0b1..Next FIFO to be written + */ +#define I2S_TFR_WCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WCP_SHIFT)) & I2S_TFR_WCP_MASK) +/*! @} */ + +/* The count of I2S_TFR */ +#define I2S_TFR_COUNT (2U) + +/*! @name TMR - Transmit Mask */ +/*! @{ */ + +#define I2S_TMR_TWM_MASK (0xFFFFFFFFU) +#define I2S_TMR_TWM_SHIFT (0U) +/*! TWM - Transmit Word Mask + * 0b00000000000000000000000000000000..Enable + * 0b00000000000000000000000000000001..Mask + */ +#define I2S_TMR_TWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TMR_TWM_SHIFT)) & I2S_TMR_TWM_MASK) +/*! @} */ + +/*! @name TTCR - Transmit Timestamp Control */ +/*! @{ */ + +#define I2S_TTCR_TSEN_MASK (0x1U) +#define I2S_TTCR_TSEN_SHIFT (0U) +/*! TSEN - Timestamp Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_TTCR_TSEN(x) (((uint32_t)(((uint32_t)(x)) << I2S_TTCR_TSEN_SHIFT)) & I2S_TTCR_TSEN_MASK) + +#define I2S_TTCR_TSINC_MASK (0x2U) +#define I2S_TTCR_TSINC_SHIFT (1U) +/*! TSINC - Timestamp Increment + * 0b0..When enabled and after the bit counter has incremented + * 0b1..When enabled + */ +#define I2S_TTCR_TSINC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TTCR_TSINC_SHIFT)) & I2S_TTCR_TSINC_MASK) + +#define I2S_TTCR_TSSEL_MASK (0xCU) +#define I2S_TTCR_TSSEL_SHIFT (2U) +/*! TSSEL - Timestamp Select + * 0b00..Increment when enabled + * 0b01..Increment when the receive timestamp counter is enabled + * 0b10..Increment when the transmit timestamp counter on another instance is enabled + * 0b11..Increment when the receive timestamp counter on another instance is enabled + */ +#define I2S_TTCR_TSSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TTCR_TSSEL_SHIFT)) & I2S_TTCR_TSSEL_MASK) + +#define I2S_TTCR_RTSC_MASK (0x100U) +#define I2S_TTCR_RTSC_SHIFT (8U) +/*! RTSC - Reset Timestamp Counter + * 0b0..No effect + * 0b1..Reset + */ +#define I2S_TTCR_RTSC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TTCR_RTSC_SHIFT)) & I2S_TTCR_RTSC_MASK) + +#define I2S_TTCR_RBC_MASK (0x200U) +#define I2S_TTCR_RBC_SHIFT (9U) +/*! RBC - Reset Bit Counter + * 0b0..No effect + * 0b1..Reset + */ +#define I2S_TTCR_RBC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TTCR_RBC_SHIFT)) & I2S_TTCR_RBC_MASK) +/*! @} */ + +/*! @name TTSR - Transmit Timestamp */ +/*! @{ */ + +#define I2S_TTSR_TSC_MASK (0xFFFFFFFFU) +#define I2S_TTSR_TSC_SHIFT (0U) +/*! TSC - Timestamp Counter */ +#define I2S_TTSR_TSC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TTSR_TSC_SHIFT)) & I2S_TTSR_TSC_MASK) +/*! @} */ + +/*! @name TBCR - Transmit Bit Count */ +/*! @{ */ + +#define I2S_TBCR_BCNT_MASK (0xFFFFFFFFU) +#define I2S_TBCR_BCNT_SHIFT (0U) +/*! BCNT - Bit Counter */ +#define I2S_TBCR_BCNT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TBCR_BCNT_SHIFT)) & I2S_TBCR_BCNT_MASK) +/*! @} */ + +/*! @name TBCTR - Transmit Bit Count Timestamp */ +/*! @{ */ + +#define I2S_TBCTR_BCTS_MASK (0xFFFFFFFFU) +#define I2S_TBCTR_BCTS_SHIFT (0U) +/*! BCTS - Bit Timestamp */ +#define I2S_TBCTR_BCTS(x) (((uint32_t)(((uint32_t)(x)) << I2S_TBCTR_BCTS_SHIFT)) & I2S_TBCTR_BCTS_MASK) +/*! @} */ + +/*! @name RCSR - Receive Control */ +/*! @{ */ + +#define I2S_RCSR_FRDE_MASK (0x1U) +#define I2S_RCSR_FRDE_SHIFT (0U) +/*! FRDE - FIFO Request DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRDE_SHIFT)) & I2S_RCSR_FRDE_MASK) + +#define I2S_RCSR_FWDE_MASK (0x2U) +#define I2S_RCSR_FWDE_SHIFT (1U) +/*! FWDE - FIFO Warning DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWDE_SHIFT)) & I2S_RCSR_FWDE_MASK) + +#define I2S_RCSR_FRIE_MASK (0x100U) +#define I2S_RCSR_FRIE_SHIFT (8U) +/*! FRIE - FIFO Request Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRIE_SHIFT)) & I2S_RCSR_FRIE_MASK) + +#define I2S_RCSR_FWIE_MASK (0x200U) +#define I2S_RCSR_FWIE_SHIFT (9U) +/*! FWIE - FIFO Warning Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWIE_SHIFT)) & I2S_RCSR_FWIE_MASK) + +#define I2S_RCSR_FEIE_MASK (0x400U) +#define I2S_RCSR_FEIE_SHIFT (10U) +/*! FEIE - FIFO Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEIE_SHIFT)) & I2S_RCSR_FEIE_MASK) + +#define I2S_RCSR_SEIE_MASK (0x800U) +#define I2S_RCSR_SEIE_SHIFT (11U) +/*! SEIE - Sync Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEIE_SHIFT)) & I2S_RCSR_SEIE_MASK) + +#define I2S_RCSR_WSIE_MASK (0x1000U) +#define I2S_RCSR_WSIE_SHIFT (12U) +/*! WSIE - Word Start Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSIE_SHIFT)) & I2S_RCSR_WSIE_MASK) + +#define I2S_RCSR_FRF_MASK (0x10000U) +#define I2S_RCSR_FRF_SHIFT (16U) +/*! FRF - FIFO Request Flag + * 0b0..Watermark not reached + * 0b1..Watermark reached + */ +#define I2S_RCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRF_SHIFT)) & I2S_RCSR_FRF_MASK) + +#define I2S_RCSR_FWF_MASK (0x20000U) +#define I2S_RCSR_FWF_SHIFT (17U) +/*! FWF - FIFO Warning Flag + * 0b0..Not full + * 0b1..Full + */ +#define I2S_RCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWF_SHIFT)) & I2S_RCSR_FWF_MASK) + +#define I2S_RCSR_FEF_MASK (0x40000U) +#define I2S_RCSR_FEF_SHIFT (18U) +/*! FEF - FIFO Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Receive overflow detected + * 0b1..Clear the flag + */ +#define I2S_RCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEF_SHIFT)) & I2S_RCSR_FEF_MASK) + +#define I2S_RCSR_SEF_MASK (0x80000U) +#define I2S_RCSR_SEF_SHIFT (19U) +/*! SEF - Sync Error Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define I2S_RCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEF_SHIFT)) & I2S_RCSR_SEF_MASK) + +#define I2S_RCSR_WSF_MASK (0x100000U) +#define I2S_RCSR_WSF_SHIFT (20U) +/*! WSF - Word Start Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define I2S_RCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSF_SHIFT)) & I2S_RCSR_WSF_MASK) + +#define I2S_RCSR_SR_MASK (0x1000000U) +#define I2S_RCSR_SR_SHIFT (24U) +/*! SR - Software Reset + * 0b0..No effect + * 0b1..Software reset + */ +#define I2S_RCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SR_SHIFT)) & I2S_RCSR_SR_MASK) + +#define I2S_RCSR_FR_MASK (0x2000000U) +#define I2S_RCSR_FR_SHIFT (25U) +/*! FR - FIFO Reset + * 0b0..No effect + * 0b1..Reset + */ +#define I2S_RCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FR_SHIFT)) & I2S_RCSR_FR_MASK) + +#define I2S_RCSR_BCE_MASK (0x10000000U) +#define I2S_RCSR_BCE_SHIFT (28U) +/*! BCE - Bit Clock Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_BCE_SHIFT)) & I2S_RCSR_BCE_MASK) + +#define I2S_RCSR_DBGE_MASK (0x20000000U) +#define I2S_RCSR_DBGE_SHIFT (29U) +/*! DBGE - Debug Enable + * 0b0..Disable after completing the current frame + * 0b1..Enable + */ +#define I2S_RCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_DBGE_SHIFT)) & I2S_RCSR_DBGE_MASK) + +#define I2S_RCSR_STOPE_MASK (0x40000000U) +#define I2S_RCSR_STOPE_SHIFT (30U) +/*! STOPE - Stop Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_STOPE_SHIFT)) & I2S_RCSR_STOPE_MASK) + +#define I2S_RCSR_RE_MASK (0x80000000U) +#define I2S_RCSR_RE_SHIFT (31U) +/*! RE - Receiver Enable + * 0b0..Disable + * 0b1..Enable (or receiver disabled and not yet reached end of frame) + */ +#define I2S_RCSR_RE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_RE_SHIFT)) & I2S_RCSR_RE_MASK) +/*! @} */ + +/*! @name RCR1 - Receive Configuration 1 */ +/*! @{ */ + +#define I2S_RCR1_RFW_MASK (0x7FU) /* Merged from fields with different position or width, of widths (6, 7), largest definition used */ +#define I2S_RCR1_RFW_SHIFT (0U) +/*! RFW - Receive FIFO Watermark + * 0b0000000..1 + * 0b0000001..2 + * 0b0000010-0b1111110..(RFW value + 1) + * 0b1111111..128 + */ +#define I2S_RCR1_RFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR1_RFW_SHIFT)) & I2S_RCR1_RFW_MASK) /* Merged from fields with different position or width, of widths (6, 7), largest definition used */ +/*! @} */ + +/*! @name RCR2 - Receive Configuration 2 */ +/*! @{ */ + +#define I2S_RCR2_DIV_MASK (0xFFU) +#define I2S_RCR2_DIV_SHIFT (0U) +/*! DIV - Bit Clock Divide */ +#define I2S_RCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_DIV_SHIFT)) & I2S_RCR2_DIV_MASK) + +#define I2S_RCR2_BYP_MASK (0x800000U) +#define I2S_RCR2_BYP_SHIFT (23U) +/*! BYP - Bit Clock Bypass + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCR2_BYP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BYP_SHIFT)) & I2S_RCR2_BYP_MASK) + +#define I2S_RCR2_BCD_MASK (0x1000000U) +#define I2S_RCR2_BCD_SHIFT (24U) +/*! BCD - Bit Clock Direction + * 0b0..Generated externally in Target mode + * 0b1..Generated internally in Controller mode + */ +#define I2S_RCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCD_SHIFT)) & I2S_RCR2_BCD_MASK) + +#define I2S_RCR2_BCP_MASK (0x2000000U) +#define I2S_RCR2_BCP_SHIFT (25U) +/*! BCP - Bit Clock Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define I2S_RCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCP_SHIFT)) & I2S_RCR2_BCP_MASK) + +#define I2S_RCR2_MSEL_MASK (0xC000000U) +#define I2S_RCR2_MSEL_SHIFT (26U) +/*! MSEL - MCLK Select + * 0b00..Bus clock + * 0b01..Controller clock (MCLK) option 1 + * 0b10..Controller clock (MCLK) option 2 + * 0b11..Controller clock (MCLK) option 3 + */ +#define I2S_RCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_MSEL_SHIFT)) & I2S_RCR2_MSEL_MASK) + +#define I2S_RCR2_BCI_MASK (0x10000000U) +#define I2S_RCR2_BCI_SHIFT (28U) +/*! BCI - Bit Clock Input + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCI_SHIFT)) & I2S_RCR2_BCI_MASK) + +#define I2S_RCR2_BCS_MASK (0x20000000U) +#define I2S_RCR2_BCS_SHIFT (29U) +/*! BCS - Bit Clock Swap + * 0b0..Use the normal bit clock source + * 0b1..Swap the bit clock source + */ +#define I2S_RCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCS_SHIFT)) & I2S_RCR2_BCS_MASK) + +#define I2S_RCR2_SYNC_MASK (0x40000000U) +#define I2S_RCR2_SYNC_SHIFT (30U) +/*! SYNC - Synchronous Mode + * 0b0..Asynchronous mode + * 0b1..Synchronous with transmitter + */ +#define I2S_RCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_SYNC_SHIFT)) & I2S_RCR2_SYNC_MASK) +/*! @} */ + +/*! @name RCR3 - Receive Configuration 3 */ +/*! @{ */ + +#define I2S_RCR3_WDFL_MASK (0x1FU) +#define I2S_RCR3_WDFL_SHIFT (0U) +/*! WDFL - Word Flag Configuration + * 0b00000..Word 1 + * 0b00001..Word 2 + * 0b00010-0b11110..Word (WDFL value + 1) + * 0b11111..Word 32 + */ +#define I2S_RCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_WDFL_SHIFT)) & I2S_RCR3_WDFL_MASK) + +#define I2S_RCR3_RCE_MASK (0x30000U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */ +#define I2S_RCR3_RCE_SHIFT (16U) +/*! RCE - Receive Channel Enable */ +#define I2S_RCR3_RCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_RCE_SHIFT)) & I2S_RCR3_RCE_MASK) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */ + +#define I2S_RCR3_CFR_MASK (0x3000000U) +#define I2S_RCR3_CFR_SHIFT (24U) +/*! CFR - Channel FIFO Reset */ +#define I2S_RCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_CFR_SHIFT)) & I2S_RCR3_CFR_MASK) +/*! @} */ + +/*! @name RCR4 - Receive Configuration 4 */ +/*! @{ */ + +#define I2S_RCR4_FSD_MASK (0x1U) +#define I2S_RCR4_FSD_SHIFT (0U) +/*! FSD - Frame Sync Direction + * 0b0..Generated externally in Target mode + * 0b1..Generated internally in Controller mode + */ +#define I2S_RCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSD_SHIFT)) & I2S_RCR4_FSD_MASK) + +#define I2S_RCR4_FSP_MASK (0x2U) +#define I2S_RCR4_FSP_SHIFT (1U) +/*! FSP - Frame Sync Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define I2S_RCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSP_SHIFT)) & I2S_RCR4_FSP_MASK) + +#define I2S_RCR4_ONDEM_MASK (0x4U) +#define I2S_RCR4_ONDEM_SHIFT (2U) +/*! ONDEM - On-Demand Mode + * 0b0..Generated continuously + * 0b1..Generated when the FIFO warning flag is 0 + */ +#define I2S_RCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_ONDEM_SHIFT)) & I2S_RCR4_ONDEM_MASK) + +#define I2S_RCR4_FSE_MASK (0x8U) +#define I2S_RCR4_FSE_SHIFT (3U) +/*! FSE - Frame Sync Early + * 0b0..First bit of the frame + * 0b1..One bit before the first bit of the frame + */ +#define I2S_RCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSE_SHIFT)) & I2S_RCR4_FSE_MASK) + +#define I2S_RCR4_MF_MASK (0x10U) +#define I2S_RCR4_MF_SHIFT (4U) +/*! MF - MSB First + * 0b0..LSB + * 0b1..MSB + */ +#define I2S_RCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_MF_SHIFT)) & I2S_RCR4_MF_MASK) + +#define I2S_RCR4_SYWD_MASK (0x1F00U) +#define I2S_RCR4_SYWD_SHIFT (8U) +/*! SYWD - Sync Width + * 0b00000..1 + * 0b00001..2 + * 0b00010-0b11110..(SYWD value + 1) + * 0b11111..32 + */ +#define I2S_RCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_SYWD_SHIFT)) & I2S_RCR4_SYWD_MASK) + +#define I2S_RCR4_FRSZ_MASK (0x1F0000U) +#define I2S_RCR4_FRSZ_SHIFT (16U) +/*! FRSZ - Frame Size + * 0b00000..1 + * 0b00001..2 + * 0b00010-0b11110..(FRSZ value + 1) + * 0b11111..32 + */ +#define I2S_RCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FRSZ_SHIFT)) & I2S_RCR4_FRSZ_MASK) + +#define I2S_RCR4_FPACK_MASK (0x3000000U) +#define I2S_RCR4_FPACK_SHIFT (24U) +/*! FPACK - FIFO Packing Mode + * 0b00..Disable + * 0b01..Reserved + * 0b10..Enable 8-bit FIFO packing + * 0b11..Enable 16-bit FIFO packing + */ +#define I2S_RCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FPACK_SHIFT)) & I2S_RCR4_FPACK_MASK) + +#define I2S_RCR4_FCOMB_MASK (0xC000000U) +#define I2S_RCR4_FCOMB_SHIFT (26U) +/*! FCOMB - FIFO Combine Mode + * 0b00..Disable + * 0b01..Enable on FIFO writes (from receive shift registers) + * 0b10..Enable on FIFO reads (by software) + * 0b11..Enable on FIFO writes (from receive shift registers) and reads (by software) + */ +#define I2S_RCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCOMB_SHIFT)) & I2S_RCR4_FCOMB_MASK) + +#define I2S_RCR4_FCONT_MASK (0x10000000U) +#define I2S_RCR4_FCONT_SHIFT (28U) +/*! FCONT - FIFO Continue on Error + * 0b0..From the start of the next frame after the FIFO error flag is cleared + * 0b1..From the same word that caused the FIFO error to become 1 after the FIFO warning flag is cleared + */ +#define I2S_RCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCONT_SHIFT)) & I2S_RCR4_FCONT_MASK) +/*! @} */ + +/*! @name RCR5 - Receive Configuration 5 */ +/*! @{ */ + +#define I2S_RCR5_FBT_MASK (0x1F00U) +#define I2S_RCR5_FBT_SHIFT (8U) +/*! FBT - First Bit Shifted + * 0b00000..0 + * 0b00001-0b11110..FBT value + * 0b11111..31 + */ +#define I2S_RCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_FBT_SHIFT)) & I2S_RCR5_FBT_MASK) + +#define I2S_RCR5_W0W_MASK (0x1F0000U) +#define I2S_RCR5_W0W_SHIFT (16U) +/*! W0W - Word 0 Width + * 0b00000..1 + * 0b00001..2 + * 0b00010-0b11110..(W0W value + 1) + * 0b11111..32 + */ +#define I2S_RCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_W0W_SHIFT)) & I2S_RCR5_W0W_MASK) + +#define I2S_RCR5_WNW_MASK (0x1F000000U) +#define I2S_RCR5_WNW_SHIFT (24U) +/*! WNW - Word N Width + * 0b00111..8 + * 0b01000..9 + * 0b01001-0b11110..(WNW value + 1) + * 0b11111..32 + */ +#define I2S_RCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_WNW_SHIFT)) & I2S_RCR5_WNW_MASK) +/*! @} */ + +/*! @name RDR - Receive Data */ +/*! @{ */ + +#define I2S_RDR_RDR_MASK (0xFFFFFFFFU) +#define I2S_RDR_RDR_SHIFT (0U) +/*! RDR - Receive Data */ +#define I2S_RDR_RDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RDR_RDR_SHIFT)) & I2S_RDR_RDR_MASK) +/*! @} */ + +/* The count of I2S_RDR */ +#define I2S_RDR_COUNT (2U) + +/*! @name RFR - Receive FIFO */ +/*! @{ */ + +#define I2S_RFR_RFP_MASK (0xFFU) /* Merged from fields with different position or width, of widths (7, 8), largest definition used */ +#define I2S_RFR_RFP_SHIFT (0U) +/*! RFP - Read FIFO Pointer */ +#define I2S_RFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RFP_SHIFT)) & I2S_RFR_RFP_MASK) /* Merged from fields with different position or width, of widths (7, 8), largest definition used */ + +#define I2S_RFR_RCP_MASK (0x8000U) +#define I2S_RFR_RCP_SHIFT (15U) +/*! RCP - Read Channel Pointer + * 0b0..No effect + * 0b1..Next FIFO to be read + */ +#define I2S_RFR_RCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RCP_SHIFT)) & I2S_RFR_RCP_MASK) + +#define I2S_RFR_WFP_MASK (0xFF0000U) /* Merged from fields with different position or width, of widths (7, 8), largest definition used */ +#define I2S_RFR_WFP_SHIFT (16U) +/*! WFP - Write FIFO Pointer */ +#define I2S_RFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_WFP_SHIFT)) & I2S_RFR_WFP_MASK) /* Merged from fields with different position or width, of widths (7, 8), largest definition used */ +/*! @} */ + +/* The count of I2S_RFR */ +#define I2S_RFR_COUNT (2U) + +/*! @name RMR - Receive Mask */ +/*! @{ */ + +#define I2S_RMR_RWM_MASK (0xFFFFFFFFU) +#define I2S_RMR_RWM_SHIFT (0U) +/*! RWM - Receive Word Mask + * 0b00000000000000000000000000000000..Enable + * 0b00000000000000000000000000000001..Mask + */ +#define I2S_RMR_RWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RMR_RWM_SHIFT)) & I2S_RMR_RWM_MASK) +/*! @} */ + +/*! @name RTCR - Receive Timestamp Control */ +/*! @{ */ + +#define I2S_RTCR_TSEN_MASK (0x1U) +#define I2S_RTCR_TSEN_SHIFT (0U) +/*! TSEN - Timestamp Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_RTCR_TSEN(x) (((uint32_t)(((uint32_t)(x)) << I2S_RTCR_TSEN_SHIFT)) & I2S_RTCR_TSEN_MASK) + +#define I2S_RTCR_TSINC_MASK (0x2U) +#define I2S_RTCR_TSINC_SHIFT (1U) +/*! TSINC - Timestamp Increment + * 0b0..When enabled and after the bit counter has incremented + * 0b1..When enabled + */ +#define I2S_RTCR_TSINC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RTCR_TSINC_SHIFT)) & I2S_RTCR_TSINC_MASK) + +#define I2S_RTCR_TSSEL_MASK (0xCU) +#define I2S_RTCR_TSSEL_SHIFT (2U) +/*! TSSEL - Timestamp Select + * 0b00..Increment when enabled + * 0b01..Increment when the transmit timestamp counter is enabled + * 0b10..Increment when the receive timestamp counter on another instance is enabled + * 0b11..Increment when the transmit timestamp counter on another instance is enabled + */ +#define I2S_RTCR_TSSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RTCR_TSSEL_SHIFT)) & I2S_RTCR_TSSEL_MASK) + +#define I2S_RTCR_RTSC_MASK (0x100U) +#define I2S_RTCR_RTSC_SHIFT (8U) +/*! RTSC - Reset Timestamp Counter + * 0b0..No effect + * 0b1..Reset + */ +#define I2S_RTCR_RTSC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RTCR_RTSC_SHIFT)) & I2S_RTCR_RTSC_MASK) + +#define I2S_RTCR_RBC_MASK (0x200U) +#define I2S_RTCR_RBC_SHIFT (9U) +/*! RBC - Reset Bit Counter + * 0b0..No effect + * 0b1..Reset + */ +#define I2S_RTCR_RBC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RTCR_RBC_SHIFT)) & I2S_RTCR_RBC_MASK) +/*! @} */ + +/*! @name RTSR - Receive Timestamp */ +/*! @{ */ + +#define I2S_RTSR_TSC_MASK (0xFFFFFFFFU) +#define I2S_RTSR_TSC_SHIFT (0U) +/*! TSC - Timestamp Counter */ +#define I2S_RTSR_TSC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RTSR_TSC_SHIFT)) & I2S_RTSR_TSC_MASK) +/*! @} */ + +/*! @name RBCR - Receive Bit Count */ +/*! @{ */ + +#define I2S_RBCR_BCNT_MASK (0xFFFFFFFFU) +#define I2S_RBCR_BCNT_SHIFT (0U) +/*! BCNT - Bit Counter */ +#define I2S_RBCR_BCNT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RBCR_BCNT_SHIFT)) & I2S_RBCR_BCNT_MASK) +/*! @} */ + +/*! @name RBCTR - Receive Bit Count Timestamp */ +/*! @{ */ + +#define I2S_RBCTR_BCTS_MASK (0xFFFFFFFFU) +#define I2S_RBCTR_BCTS_SHIFT (0U) +/*! BCTS - Bit Timestamp */ +#define I2S_RBCTR_BCTS(x) (((uint32_t)(((uint32_t)(x)) << I2S_RBCTR_BCTS_SHIFT)) & I2S_RBCTR_BCTS_MASK) +/*! @} */ + +/*! @name MCR - MCLK Control */ +/*! @{ */ + +#define I2S_MCR_DIV_MASK (0xFFU) +#define I2S_MCR_DIV_SHIFT (0U) +/*! DIV - MCLK Post Divide */ +#define I2S_MCR_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_MCR_DIV_SHIFT)) & I2S_MCR_DIV_MASK) + +#define I2S_MCR_DIVEN_MASK (0x800000U) +#define I2S_MCR_DIVEN_SHIFT (23U) +/*! DIVEN - MCLK Post Divide Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I2S_MCR_DIVEN(x) (((uint32_t)(((uint32_t)(x)) << I2S_MCR_DIVEN_SHIFT)) & I2S_MCR_DIVEN_MASK) + +#define I2S_MCR_MSEL_MASK (0x3000000U) +#define I2S_MCR_MSEL_SHIFT (24U) +/*! MSEL - MCLK Select + * 0b00..Controller clock (MCLK) option 1 + * 0b01..Reserved + * 0b10..Controller clock (MCLK) option 2 + * 0b11..Controller clock (MCLK) option 3 + */ +#define I2S_MCR_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_MCR_MSEL_SHIFT)) & I2S_MCR_MSEL_MASK) + +#define I2S_MCR_MOE_MASK (0x40000000U) +#define I2S_MCR_MOE_SHIFT (30U) +/*! MOE - MCLK Output Enable + * 0b0..Input + * 0b1..Output + */ +#define I2S_MCR_MOE(x) (((uint32_t)(((uint32_t)(x)) << I2S_MCR_MOE_SHIFT)) & I2S_MCR_MOE_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group I2S_Register_Masks */ + + +/* I2S - Peripheral instance base addresses */ +/** Peripheral SAI1 base address */ +#define SAI1_BASE (0x443B0000u) +/** Peripheral SAI1 base pointer */ +#define SAI1 ((I2S_Type *)SAI1_BASE) +/** Peripheral SAI2 base address */ +#define SAI2_BASE (0x42650000u) +/** Peripheral SAI2 base pointer */ +#define SAI2 ((I2S_Type *)SAI2_BASE) +/** Peripheral SAI3 base address */ +#define SAI3_BASE (0x42660000u) +/** Peripheral SAI3 base pointer */ +#define SAI3 ((I2S_Type *)SAI3_BASE) +/** Array initializer of I2S peripheral base addresses */ +#define I2S_BASE_ADDRS { 0u, SAI1_BASE, SAI2_BASE, SAI3_BASE } +/** Array initializer of I2S peripheral base pointers */ +#define I2S_BASE_PTRS { (I2S_Type *)0u, SAI1, SAI2, SAI3 } +/** Interrupt vectors for the I2S peripheral type */ +#define I2S_RX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_IRQn } +#define I2S_TX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_IRQn } + +/*! + * @} + */ /* end of group I2S_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- I3C Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup I3C_Peripheral_Access_Layer I3C Peripheral Access Layer + * @{ + */ + +/** I3C - Register Layout Typedef */ +typedef struct { + __IO uint32_t MCONFIG; /**< Controller Configuration, offset: 0x0 */ + __IO uint32_t SCONFIG; /**< Target Configuration, offset: 0x4 */ + __IO uint32_t SSTATUS; /**< Target Status, offset: 0x8 */ + __IO uint32_t SCTRL; /**< Target Control, offset: 0xC */ + __IO uint32_t SINTSET; /**< Target Interrupt Set, offset: 0x10 */ + __IO uint32_t SINTCLR; /**< Target Interrupt Clear, offset: 0x14 */ + __I uint32_t SINTMASKED; /**< Target Interrupt Mask, offset: 0x18 */ + __IO uint32_t SERRWARN; /**< Target Errors and Warnings, offset: 0x1C */ + __IO uint32_t SDMACTRL; /**< Target DMA Control, offset: 0x20 */ + uint8_t RESERVED_0[8]; + __IO uint32_t SDATACTRL; /**< Target Data Control, offset: 0x2C */ + __O uint32_t SWDATAB; /**< Target Write Data Byte, offset: 0x30 */ + __O uint32_t SWDATABE; /**< Target Write Data Byte End, offset: 0x34 */ + __O uint32_t SWDATAH; /**< Target Write Data Halfword, offset: 0x38 */ + __O uint32_t SWDATAHE; /**< Target Write Data Halfword End, offset: 0x3C */ + __I uint32_t SRDATAB; /**< Target Read Data Byte, offset: 0x40 */ + uint8_t RESERVED_1[4]; + __I uint32_t SRDATAH; /**< Target Read Data Halfword, offset: 0x48 */ + uint8_t RESERVED_2[8]; + union { /* offset: 0x54 */ + __O uint32_t SWDATAB1; /**< Target Write Data Byte, offset: 0x54 */ + __O uint32_t SWDATAH1; /**< Target Write Data Halfword, offset: 0x54 */ + }; + uint8_t RESERVED_3[4]; + __I uint32_t SCAPABILITIES2; /**< Target Capabilities 2, offset: 0x5C */ + __I uint32_t SCAPABILITIES; /**< Target Capabilities, offset: 0x60 */ + uint8_t RESERVED_4[4]; + __IO uint32_t SMAXLIMITS; /**< Target Maximum Limits, offset: 0x68 */ + __IO uint32_t SIDPARTNO; /**< Target ID Part Number, offset: 0x6C */ + __IO uint32_t SIDEXT; /**< Target ID Extension, offset: 0x70 */ + __IO uint32_t SVENDORID; /**< Target Vendor ID, offset: 0x74 */ + __IO uint32_t STCCLOCK; /**< Target Time Control Clock, offset: 0x78 */ + __I uint32_t SMSGMAPADDR; /**< Target Message Map Address, offset: 0x7C */ + __IO uint32_t MCONFIG_EXT; /**< Controller Extended Configuration, offset: 0x80 */ + __IO uint32_t MCTRL; /**< Controller Control, offset: 0x84 */ + __IO uint32_t MSTATUS; /**< Controller Status, offset: 0x88 */ + __IO uint32_t MIBIRULES; /**< Controller In-band Interrupt Registry and Rules, offset: 0x8C */ + __IO uint32_t MINTSET; /**< Controller Interrupt Set, offset: 0x90 */ + __IO uint32_t MINTCLR; /**< Controller Interrupt Clear, offset: 0x94 */ + __I uint32_t MINTMASKED; /**< Controller Interrupt Mask, offset: 0x98 */ + __IO uint32_t MERRWARN; /**< Controller Errors and Warnings, offset: 0x9C */ + __IO uint32_t MDMACTRL; /**< Controller DMA Control, offset: 0xA0 */ + uint8_t RESERVED_5[8]; + __IO uint32_t MDATACTRL; /**< Controller Data Control, offset: 0xAC */ + __O uint32_t MWDATAB; /**< Controller Write Data Byte, offset: 0xB0 */ + __O uint32_t MWDATABE; /**< Controller Write Data Byte End, offset: 0xB4 */ + __O uint32_t MWDATAH; /**< Controller Write Data Halfword, offset: 0xB8 */ + __O uint32_t MWDATAHE; /**< Controller Write Data Halfword End, offset: 0xBC */ + __I uint32_t MRDATAB; /**< Controller Read Data Byte, offset: 0xC0 */ + uint8_t RESERVED_6[4]; + __I uint32_t MRDATAH; /**< Controller Read Data Halfword, offset: 0xC8 */ + union { /* offset: 0xCC */ + __O uint32_t MWDATAB1; /**< Controller Write Byte Data 1 (to Bus), offset: 0xCC */ + __O uint32_t MWDATAH1; /**< Controller Write Halfword Data (to Bus), offset: 0xCC */ + }; + union { /* offset: 0xD0 */ + __O uint32_t MWMSG_SDR_CONTROL; /**< Controller Write Message Control in SDR mode, offset: 0xD0 */ + __O uint32_t MWMSG_SDR_DATA; /**< Controller Write Message Data in SDR mode, offset: 0xD0 */ + }; + __I uint32_t MRMSG_SDR; /**< Controller Read Message in SDR mode, offset: 0xD4 */ + union { /* offset: 0xD8 */ + __O uint32_t MWMSG_DDR_CONTROL; /**< Controller Write Message in DDR mode: First Control Word, offset: 0xD8 */ + __O uint32_t MWMSG_DDR_CONTROL2; /**< Controller Write Message in DDR Mode Control 2, offset: 0xD8 */ + __O uint32_t MWMSG_DDR_DATA; /**< Controller Write Message Data in DDR mode, offset: 0xD8 */ + }; + __I uint32_t MRMSG_DDR; /**< Controller Read Message in DDR mode, offset: 0xDC */ + uint8_t RESERVED_7[4]; + __IO uint32_t MDYNADDR; /**< Controller Dynamic Address, offset: 0xE4 */ + uint8_t RESERVED_8[24]; + __IO uint32_t SRSTACTTIME; /**< Timing Rules for Target Reset Recovery, offset: 0x100 */ + uint8_t RESERVED_9[8]; + __IO uint32_t SCCCMASK; /**< CCC Mask for Unhandled CCCs, offset: 0x10C */ + __IO uint32_t SERRWARNMASK; /**< Target Errors and Warnings Mask, offset: 0x110 */ + uint8_t RESERVED_10[8]; + __I uint32_t SMAPCTRL0; /**< Map Feature Control 0, offset: 0x11C */ + __IO uint32_t SMAPCTRL1; /**< Map Feature Control 1, offset: 0x120 */ + uint8_t RESERVED_11[28]; + __IO uint32_t IBIEXT1; /**< Extended IBI Data 1, offset: 0x140 */ + __IO uint32_t IBIEXT2; /**< Extended IBI Data 2, offset: 0x144 */ + uint8_t RESERVED_12[3752]; + __IO uint32_t SELFRESET; /**< Self Reset, offset: 0xFF0 */ +} I3C_Type; + +/* ---------------------------------------------------------------------------- + -- I3C Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup I3C_Register_Masks I3C Register Masks + * @{ + */ + +/*! @name MCONFIG - Controller Configuration */ +/*! @{ */ + +#define I3C_MCONFIG_MSTENA_MASK (0x3U) +#define I3C_MCONFIG_MSTENA_SHIFT (0U) +/*! MSTENA - Controller Enable + * 0b00..CONTROLLER_OFF + * 0b01..CONTROLLER_ON + * 0b10..CONTROLLER_CAPABLE + * 0b11..I2C_CONTROLLER_MODE + */ +#define I3C_MCONFIG_MSTENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_MSTENA_SHIFT)) & I3C_MCONFIG_MSTENA_MASK) + +#define I3C_MCONFIG_DISTO_MASK (0x8U) +#define I3C_MCONFIG_DISTO_SHIFT (3U) +/*! DISTO - Disable Timeout + * 0b0..Enabled + * 0b1..Disabled, if configured + */ +#define I3C_MCONFIG_DISTO(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_DISTO_SHIFT)) & I3C_MCONFIG_DISTO_MASK) + +#define I3C_MCONFIG_HKEEP_MASK (0x30U) +#define I3C_MCONFIG_HKEEP_SHIFT (4U) +/*! HKEEP - High-Keeper + * 0b00..None + * 0b01..WIRED_IN + * 0b10..PASSIVE_SDA + * 0b11..PASSIVE_ON_SDA_SCL + */ +#define I3C_MCONFIG_HKEEP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_HKEEP_SHIFT)) & I3C_MCONFIG_HKEEP_MASK) + +#define I3C_MCONFIG_ODSTOP_MASK (0x40U) +#define I3C_MCONFIG_ODSTOP_SHIFT (6U) +/*! ODSTOP - Open Drain Stop + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MCONFIG_ODSTOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_ODSTOP_SHIFT)) & I3C_MCONFIG_ODSTOP_MASK) + +#define I3C_MCONFIG_PPBAUD_MASK (0xF00U) +#define I3C_MCONFIG_PPBAUD_SHIFT (8U) +/*! PPBAUD - Push-Pull Baud Rate */ +#define I3C_MCONFIG_PPBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_PPBAUD_SHIFT)) & I3C_MCONFIG_PPBAUD_MASK) + +#define I3C_MCONFIG_PPLOW_MASK (0xF000U) +#define I3C_MCONFIG_PPLOW_SHIFT (12U) +/*! PPLOW - Push-Pull Low */ +#define I3C_MCONFIG_PPLOW(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_PPLOW_SHIFT)) & I3C_MCONFIG_PPLOW_MASK) + +#define I3C_MCONFIG_ODBAUD_MASK (0xFF0000U) +#define I3C_MCONFIG_ODBAUD_SHIFT (16U) +/*! ODBAUD - Open Drain Baud Rate */ +#define I3C_MCONFIG_ODBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_ODBAUD_SHIFT)) & I3C_MCONFIG_ODBAUD_MASK) + +#define I3C_MCONFIG_ODHPP_MASK (0x1000000U) +#define I3C_MCONFIG_ODHPP_SHIFT (24U) +/*! ODHPP - Open Drain High Push-Pull + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MCONFIG_ODHPP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_ODHPP_SHIFT)) & I3C_MCONFIG_ODHPP_MASK) + +#define I3C_MCONFIG_SKEW_MASK (0xE000000U) +#define I3C_MCONFIG_SKEW_SHIFT (25U) +/*! SKEW - Skew */ +#define I3C_MCONFIG_SKEW(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_SKEW_SHIFT)) & I3C_MCONFIG_SKEW_MASK) + +#define I3C_MCONFIG_I2CBAUD_MASK (0xF0000000U) +#define I3C_MCONFIG_I2CBAUD_SHIFT (28U) +/*! I2CBAUD - I2C Baud Rate */ +#define I3C_MCONFIG_I2CBAUD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_I2CBAUD_SHIFT)) & I3C_MCONFIG_I2CBAUD_MASK) +/*! @} */ + +/*! @name SCONFIG - Target Configuration */ +/*! @{ */ + +#define I3C_SCONFIG_SLVENA_MASK (0x1U) +#define I3C_SCONFIG_SLVENA_SHIFT (0U) +/*! SLVENA - Target Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SCONFIG_SLVENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_SLVENA_SHIFT)) & I3C_SCONFIG_SLVENA_MASK) + +#define I3C_SCONFIG_NACK_MASK (0x2U) +#define I3C_SCONFIG_NACK_SHIFT (1U) +/*! NACK - Not Acknowledge + * 0b0..Always disable NACK mode + * 0b1..Always enable NACK mode (works normally) + */ +#define I3C_SCONFIG_NACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_NACK_SHIFT)) & I3C_SCONFIG_NACK_MASK) + +#define I3C_SCONFIG_MATCHSS_MASK (0x4U) +#define I3C_SCONFIG_MATCHSS_SHIFT (2U) +/*! MATCHSS - Match Start or Stop + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SCONFIG_MATCHSS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_MATCHSS_SHIFT)) & I3C_SCONFIG_MATCHSS_MASK) + +#define I3C_SCONFIG_S0IGNORE_MASK (0x8U) +#define I3C_SCONFIG_S0IGNORE_SHIFT (3U) +/*! S0IGNORE - Ignore TE0 or TE1 Errors + * 0b0..Do not ignore TE0 or TE1 errors + * 0b1..Ignore TE0 or TE1 errors + */ +#define I3C_SCONFIG_S0IGNORE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_S0IGNORE_SHIFT)) & I3C_SCONFIG_S0IGNORE_MASK) + +#define I3C_SCONFIG_HDROK_MASK (0x10U) +#define I3C_SCONFIG_HDROK_SHIFT (4U) +/*! HDROK - HDR OK + * 0b0..Disable HDR OK + * 0b1..Enable HDR OK + */ +#define I3C_SCONFIG_HDROK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_HDROK_SHIFT)) & I3C_SCONFIG_HDROK_MASK) + +#define I3C_SCONFIG_OFFLINE_MASK (0x200U) +#define I3C_SCONFIG_OFFLINE_SHIFT (9U) +/*! OFFLINE - Offline + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SCONFIG_OFFLINE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_OFFLINE_SHIFT)) & I3C_SCONFIG_OFFLINE_MASK) + +#define I3C_SCONFIG_BAMATCH_MASK (0x3F0000U) +#define I3C_SCONFIG_BAMATCH_SHIFT (16U) +/*! BAMATCH - Bus Available Match */ +#define I3C_SCONFIG_BAMATCH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_BAMATCH_SHIFT)) & I3C_SCONFIG_BAMATCH_MASK) + +#define I3C_SCONFIG_SADDR_MASK (0xFE000000U) +#define I3C_SCONFIG_SADDR_SHIFT (25U) +/*! SADDR - Static Address */ +#define I3C_SCONFIG_SADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCONFIG_SADDR_SHIFT)) & I3C_SCONFIG_SADDR_MASK) +/*! @} */ + +/*! @name SSTATUS - Target Status */ +/*! @{ */ + +#define I3C_SSTATUS_STNOTSTOP_MASK (0x1U) +#define I3C_SSTATUS_STNOTSTOP_SHIFT (0U) +/*! STNOTSTOP - Status not Stop + * 0b0..In STOP condition + * 0b1..Busy + */ +#define I3C_SSTATUS_STNOTSTOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STNOTSTOP_SHIFT)) & I3C_SSTATUS_STNOTSTOP_MASK) + +#define I3C_SSTATUS_STMSG_MASK (0x2U) +#define I3C_SSTATUS_STMSG_SHIFT (1U) +/*! STMSG - Status Message + * 0b0..Idle + * 0b1..Busy + */ +#define I3C_SSTATUS_STMSG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STMSG_SHIFT)) & I3C_SSTATUS_STMSG_MASK) + +#define I3C_SSTATUS_STCCCH_MASK (0x4U) +#define I3C_SSTATUS_STCCCH_SHIFT (2U) +/*! STCCCH - Status Common Command Code Handler + * 0b0..No CCC message handled + * 0b1..Handled automatically + */ +#define I3C_SSTATUS_STCCCH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STCCCH_SHIFT)) & I3C_SSTATUS_STCCCH_MASK) + +#define I3C_SSTATUS_STREQRD_MASK (0x8U) +#define I3C_SSTATUS_STREQRD_SHIFT (3U) +/*! STREQRD - Status Request Read + * 0b0..Not an SDR read + * 0b1..SDR read from this target or an IBI is being pushed out + */ +#define I3C_SSTATUS_STREQRD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STREQRD_SHIFT)) & I3C_SSTATUS_STREQRD_MASK) + +#define I3C_SSTATUS_STREQWR_MASK (0x10U) +#define I3C_SSTATUS_STREQWR_SHIFT (4U) +/*! STREQWR - Status Request Write + * 0b0..Not an SDR write + * 0b1..SDR write data from the controller, but not in ENTDAA mode + */ +#define I3C_SSTATUS_STREQWR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STREQWR_SHIFT)) & I3C_SSTATUS_STREQWR_MASK) + +#define I3C_SSTATUS_STDAA_MASK (0x20U) +#define I3C_SSTATUS_STDAA_SHIFT (5U) +/*! STDAA - Status Dynamic Address Assignment + * 0b0..Not in ENTDAA mode + * 0b1..In ENTDAA mode + */ +#define I3C_SSTATUS_STDAA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STDAA_SHIFT)) & I3C_SSTATUS_STDAA_MASK) + +#define I3C_SSTATUS_STHDR_MASK (0x40U) +#define I3C_SSTATUS_STHDR_SHIFT (6U) +/*! STHDR - Status High Data Rate + * 0b0..I3C bus not in HDR-DDR mode + * 0b1..I3C bus in HDR-DDR mode + */ +#define I3C_SSTATUS_STHDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STHDR_SHIFT)) & I3C_SSTATUS_STHDR_MASK) + +#define I3C_SSTATUS_START_MASK (0x100U) +#define I3C_SSTATUS_START_SHIFT (8U) +/*! START - Start Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define I3C_SSTATUS_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_START_SHIFT)) & I3C_SSTATUS_START_MASK) + +#define I3C_SSTATUS_MATCHED_MASK (0x200U) +#define I3C_SSTATUS_MATCHED_SHIFT (9U) +/*! MATCHED - Matched Flag + * 0b0..Header not matched + * 0b0..No effect + * 0b1..Header matched + * 0b1..Clear the flag + */ +#define I3C_SSTATUS_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_MATCHED_SHIFT)) & I3C_SSTATUS_MATCHED_MASK) + +#define I3C_SSTATUS_STOP_MASK (0x400U) +#define I3C_SSTATUS_STOP_SHIFT (10U) +/*! STOP - Stop Flag + * 0b0..No Stopped state detected + * 0b0..No effect + * 0b1..Stopped state detected + * 0b1..Clear the flag + */ +#define I3C_SSTATUS_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_STOP_SHIFT)) & I3C_SSTATUS_STOP_MASK) + +#define I3C_SSTATUS_RX_PEND_MASK (0x800U) +#define I3C_SSTATUS_RX_PEND_SHIFT (11U) +/*! RX_PEND - Received Message Pending + * 0b0..No received message pending + * 0b1..Received message pending + */ +#define I3C_SSTATUS_RX_PEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_RX_PEND_SHIFT)) & I3C_SSTATUS_RX_PEND_MASK) + +#define I3C_SSTATUS_TXNOTFULL_MASK (0x1000U) +#define I3C_SSTATUS_TXNOTFULL_SHIFT (12U) +/*! TXNOTFULL - Transmit Buffer Not Full + * 0b0..Transmit buffer full + * 0b1..Transmit buffer not full + */ +#define I3C_SSTATUS_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_TXNOTFULL_SHIFT)) & I3C_SSTATUS_TXNOTFULL_MASK) + +#define I3C_SSTATUS_DACHG_MASK (0x2000U) +#define I3C_SSTATUS_DACHG_SHIFT (13U) +/*! DACHG - Dynamic Address Change Flag + * 0b0..No DA change detected + * 0b0..No effect + * 0b1..DA change detected + * 0b1..Clear the flag + */ +#define I3C_SSTATUS_DACHG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_DACHG_SHIFT)) & I3C_SSTATUS_DACHG_MASK) + +#define I3C_SSTATUS_CCC_MASK (0x4000U) +#define I3C_SSTATUS_CCC_SHIFT (14U) +/*! CCC - Common Command Code Flag + * 0b0..CCC not received + * 0b0..No effect + * 0b1..CCC received + * 0b1..Clear the flag + */ +#define I3C_SSTATUS_CCC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_CCC_SHIFT)) & I3C_SSTATUS_CCC_MASK) + +#define I3C_SSTATUS_ERRWARN_MASK (0x8000U) +#define I3C_SSTATUS_ERRWARN_SHIFT (15U) +/*! ERRWARN - Error Warning */ +#define I3C_SSTATUS_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_ERRWARN_SHIFT)) & I3C_SSTATUS_ERRWARN_MASK) + +#define I3C_SSTATUS_HDRMATCH_MASK (0x10000U) +#define I3C_SSTATUS_HDRMATCH_SHIFT (16U) +/*! HDRMATCH - High Data Rate Command Match Flag + * 0b0..Did not match + * 0b0..No effect + * 0b1..Matched the I3C dynamic address + * 0b1..Clear the flag + */ +#define I3C_SSTATUS_HDRMATCH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_HDRMATCH_SHIFT)) & I3C_SSTATUS_HDRMATCH_MASK) + +#define I3C_SSTATUS_CHANDLED_MASK (0x20000U) +#define I3C_SSTATUS_CHANDLED_SHIFT (17U) +/*! CHANDLED - Common Command Code Handled Flag + * 0b0..CCC handling not in progress + * 0b0..No effect + * 0b1..CCC handling in progress + * 0b1..Clear the flag + */ +#define I3C_SSTATUS_CHANDLED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_CHANDLED_SHIFT)) & I3C_SSTATUS_CHANDLED_MASK) + +#define I3C_SSTATUS_EVENT_MASK (0x40000U) +#define I3C_SSTATUS_EVENT_SHIFT (18U) +/*! EVENT - Event Flag + * 0b0..No event occurred + * 0b0..No effect + * 0b1..IBI, CR, or HJ occurred + * 0b1..Clear the flag + */ +#define I3C_SSTATUS_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_EVENT_SHIFT)) & I3C_SSTATUS_EVENT_MASK) + +#define I3C_SSTATUS_SLVRST_MASK (0x80000U) +#define I3C_SSTATUS_SLVRST_SHIFT (19U) +/*! SLVRST - Target Reset Flag */ +#define I3C_SSTATUS_SLVRST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_SLVRST_SHIFT)) & I3C_SSTATUS_SLVRST_MASK) + +#define I3C_SSTATUS_EVDET_MASK (0x300000U) +#define I3C_SSTATUS_EVDET_SHIFT (20U) +/*! EVDET - Event Details + * 0b00..NONE (no event or no pending event) + * 0b01..NO_REQUEST (request is not sent yet; either there is no START condition yet, or is waiting for Bus-Available or Bus-Idle (HJ)) + * 0b10..NACKed (not acknowledged, request sent and rejected); I3C tries again + * 0b11..ACKed (acknowledged; request sent and accepted), so done (unless the time control data is still being sent) + */ +#define I3C_SSTATUS_EVDET(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_EVDET_SHIFT)) & I3C_SSTATUS_EVDET_MASK) + +#define I3C_SSTATUS_IBIDIS_MASK (0x1000000U) +#define I3C_SSTATUS_IBIDIS_SHIFT (24U) +/*! IBIDIS - In-Band Interrupts Disable + * 0b0..Enabled + * 0b1..Disabled + */ +#define I3C_SSTATUS_IBIDIS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_IBIDIS_SHIFT)) & I3C_SSTATUS_IBIDIS_MASK) + +#define I3C_SSTATUS_MRDIS_MASK (0x2000000U) +#define I3C_SSTATUS_MRDIS_SHIFT (25U) +/*! MRDIS - Controller Requests Disable + * 0b0..Enabled + * 0b1..Disabled + */ +#define I3C_SSTATUS_MRDIS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_MRDIS_SHIFT)) & I3C_SSTATUS_MRDIS_MASK) + +#define I3C_SSTATUS_HJDIS_MASK (0x8000000U) +#define I3C_SSTATUS_HJDIS_SHIFT (27U) +/*! HJDIS - Hot-Join Disabled + * 0b0..Enabled + * 0b1..Disabled + */ +#define I3C_SSTATUS_HJDIS(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_HJDIS_SHIFT)) & I3C_SSTATUS_HJDIS_MASK) + +#define I3C_SSTATUS_ACTSTATE_MASK (0x30000000U) +#define I3C_SSTATUS_ACTSTATE_SHIFT (28U) +/*! ACTSTATE - Activity State from Common Command Codes (CCC) + * 0b00..NO_LATENCY (normal bus operations) + * 0b01..LATENCY_1MS (1 ms of latency) + * 0b10..LATENCY_100MS (100 ms of latency) + * 0b11..LATENCY_10S (10 seconds of latency) + */ +#define I3C_SSTATUS_ACTSTATE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_ACTSTATE_SHIFT)) & I3C_SSTATUS_ACTSTATE_MASK) + +#define I3C_SSTATUS_TIMECTRL_MASK (0xC0000000U) +#define I3C_SSTATUS_TIMECTRL_SHIFT (30U) +/*! TIMECTRL - Time Control + * 0b00..NO_TIME_CONTROL (no time control is enabled) + * 0b01..SYNC_MODE (Synchronous mode is enabled) + * 0b10..ASYNC_MODE (Asynchronous standard mode (0 or 1) is enabled) + * 0b11..BOTHSYNCASYNC (both Synchronous and Asynchronous modes are enabled) + */ +#define I3C_SSTATUS_TIMECTRL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SSTATUS_TIMECTRL_SHIFT)) & I3C_SSTATUS_TIMECTRL_MASK) +/*! @} */ + +/*! @name SCTRL - Target Control */ +/*! @{ */ + +#define I3C_SCTRL_EVENT_MASK (0x3U) +#define I3C_SCTRL_EVENT_SHIFT (0U) +/*! EVENT - Event + * 0b00..NORMAL_MODE + * 0b01..IBI + * 0b10..CONTROLLER_REQUEST + * 0b11..HOT_JOIN_REQUEST + */ +#define I3C_SCTRL_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_EVENT_SHIFT)) & I3C_SCTRL_EVENT_MASK) + +#define I3C_SCTRL_EXTDATA_MASK (0x8U) +#define I3C_SCTRL_EXTDATA_SHIFT (3U) +/*! EXTDATA - Extended Data + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SCTRL_EXTDATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_EXTDATA_SHIFT)) & I3C_SCTRL_EXTDATA_MASK) + +#define I3C_SCTRL_MAPIDX_MASK (0x10U) +#define I3C_SCTRL_MAPIDX_SHIFT (4U) +/*! MAPIDX - Map Index */ +#define I3C_SCTRL_MAPIDX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_MAPIDX_SHIFT)) & I3C_SCTRL_MAPIDX_MASK) + +#define I3C_SCTRL_IBIDATA_MASK (0xFF00U) +#define I3C_SCTRL_IBIDATA_SHIFT (8U) +/*! IBIDATA - In-Band Interrupt Data */ +#define I3C_SCTRL_IBIDATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_IBIDATA_SHIFT)) & I3C_SCTRL_IBIDATA_MASK) + +#define I3C_SCTRL_PENDINT_MASK (0xF0000U) +#define I3C_SCTRL_PENDINT_SHIFT (16U) +/*! PENDINT - Pending Interrupt */ +#define I3C_SCTRL_PENDINT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_PENDINT_SHIFT)) & I3C_SCTRL_PENDINT_MASK) + +#define I3C_SCTRL_ACTSTATE_MASK (0x300000U) +#define I3C_SCTRL_ACTSTATE_SHIFT (20U) +/*! ACTSTATE - Activity State of Target */ +#define I3C_SCTRL_ACTSTATE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_ACTSTATE_SHIFT)) & I3C_SCTRL_ACTSTATE_MASK) + +#define I3C_SCTRL_VENDINFO_MASK (0xFF000000U) +#define I3C_SCTRL_VENDINFO_SHIFT (24U) +/*! VENDINFO - Vendor Information */ +#define I3C_SCTRL_VENDINFO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCTRL_VENDINFO_SHIFT)) & I3C_SCTRL_VENDINFO_MASK) +/*! @} */ + +/*! @name SINTSET - Target Interrupt Set */ +/*! @{ */ + +#define I3C_SINTSET_START_MASK (0x100U) +#define I3C_SINTSET_START_SHIFT (8U) +/*! START - Start Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_START_SHIFT)) & I3C_SINTSET_START_MASK) + +#define I3C_SINTSET_MATCHED_MASK (0x200U) +#define I3C_SINTSET_MATCHED_SHIFT (9U) +/*! MATCHED - Match Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_MATCHED_SHIFT)) & I3C_SINTSET_MATCHED_MASK) + +#define I3C_SINTSET_STOP_MASK (0x400U) +#define I3C_SINTSET_STOP_SHIFT (10U) +/*! STOP - Stop Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_STOP_SHIFT)) & I3C_SINTSET_STOP_MASK) + +#define I3C_SINTSET_RXPEND_MASK (0x800U) +#define I3C_SINTSET_RXPEND_SHIFT (11U) +/*! RXPEND - Receive Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_RXPEND_SHIFT)) & I3C_SINTSET_RXPEND_MASK) + +#define I3C_SINTSET_TXSEND_MASK (0x1000U) +#define I3C_SINTSET_TXSEND_SHIFT (12U) +/*! TXSEND - Transmit Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_TXSEND_SHIFT)) & I3C_SINTSET_TXSEND_MASK) + +#define I3C_SINTSET_DACHG_MASK (0x2000U) +#define I3C_SINTSET_DACHG_SHIFT (13U) +/*! DACHG - Dynamic Address Change Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_DACHG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_DACHG_SHIFT)) & I3C_SINTSET_DACHG_MASK) + +#define I3C_SINTSET_CCC_MASK (0x4000U) +#define I3C_SINTSET_CCC_SHIFT (14U) +/*! CCC - Common Command Code (CCC) Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_CCC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_CCC_SHIFT)) & I3C_SINTSET_CCC_MASK) + +#define I3C_SINTSET_ERRWARN_MASK (0x8000U) +#define I3C_SINTSET_ERRWARN_SHIFT (15U) +/*! ERRWARN - Error or Warning Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_ERRWARN_SHIFT)) & I3C_SINTSET_ERRWARN_MASK) + +#define I3C_SINTSET_DDRMATCHED_MASK (0x10000U) +#define I3C_SINTSET_DDRMATCHED_SHIFT (16U) +/*! DDRMATCHED - Double Data Rate Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_DDRMATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_DDRMATCHED_SHIFT)) & I3C_SINTSET_DDRMATCHED_MASK) + +#define I3C_SINTSET_CHANDLED_MASK (0x20000U) +#define I3C_SINTSET_CHANDLED_SHIFT (17U) +/*! CHANDLED - Common Command Code (CCC) Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_CHANDLED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_CHANDLED_SHIFT)) & I3C_SINTSET_CHANDLED_MASK) + +#define I3C_SINTSET_EVENT_MASK (0x40000U) +#define I3C_SINTSET_EVENT_SHIFT (18U) +/*! EVENT - Event Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_EVENT_SHIFT)) & I3C_SINTSET_EVENT_MASK) + +#define I3C_SINTSET_SLVRST_MASK (0x80000U) +#define I3C_SINTSET_SLVRST_SHIFT (19U) +/*! SLVRST - Target Reset + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SINTSET_SLVRST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTSET_SLVRST_SHIFT)) & I3C_SINTSET_SLVRST_MASK) +/*! @} */ + +/*! @name SINTCLR - Target Interrupt Clear */ +/*! @{ */ + +#define I3C_SINTCLR_START_MASK (0x100U) +#define I3C_SINTCLR_START_SHIFT (8U) +/*! START - START Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_START_SHIFT)) & I3C_SINTCLR_START_MASK) + +#define I3C_SINTCLR_MATCHED_MASK (0x200U) +#define I3C_SINTCLR_MATCHED_SHIFT (9U) +/*! MATCHED - Matched Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_MATCHED_SHIFT)) & I3C_SINTCLR_MATCHED_MASK) + +#define I3C_SINTCLR_STOP_MASK (0x400U) +#define I3C_SINTCLR_STOP_SHIFT (10U) +/*! STOP - STOP Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_STOP_SHIFT)) & I3C_SINTCLR_STOP_MASK) + +#define I3C_SINTCLR_RXPEND_MASK (0x800U) +#define I3C_SINTCLR_RXPEND_SHIFT (11U) +/*! RXPEND - RXPEND Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_RXPEND_SHIFT)) & I3C_SINTCLR_RXPEND_MASK) + +#define I3C_SINTCLR_TXSEND_MASK (0x1000U) +#define I3C_SINTCLR_TXSEND_SHIFT (12U) +/*! TXSEND - TXSEND Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_TXSEND_SHIFT)) & I3C_SINTCLR_TXSEND_MASK) + +#define I3C_SINTCLR_DACHG_MASK (0x2000U) +#define I3C_SINTCLR_DACHG_SHIFT (13U) +/*! DACHG - DACHG Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_DACHG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_DACHG_SHIFT)) & I3C_SINTCLR_DACHG_MASK) + +#define I3C_SINTCLR_CCC_MASK (0x4000U) +#define I3C_SINTCLR_CCC_SHIFT (14U) +/*! CCC - CCC Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_CCC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_CCC_SHIFT)) & I3C_SINTCLR_CCC_MASK) + +#define I3C_SINTCLR_ERRWARN_MASK (0x8000U) +#define I3C_SINTCLR_ERRWARN_SHIFT (15U) +/*! ERRWARN - ERRWARN Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_ERRWARN_SHIFT)) & I3C_SINTCLR_ERRWARN_MASK) + +#define I3C_SINTCLR_DDRMATCHED_MASK (0x10000U) +#define I3C_SINTCLR_DDRMATCHED_SHIFT (16U) +/*! DDRMATCHED - DDRMATCHED Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_DDRMATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_DDRMATCHED_SHIFT)) & I3C_SINTCLR_DDRMATCHED_MASK) + +#define I3C_SINTCLR_CHANDLED_MASK (0x20000U) +#define I3C_SINTCLR_CHANDLED_SHIFT (17U) +/*! CHANDLED - CHANDLED Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_CHANDLED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_CHANDLED_SHIFT)) & I3C_SINTCLR_CHANDLED_MASK) + +#define I3C_SINTCLR_EVENT_MASK (0x40000U) +#define I3C_SINTCLR_EVENT_SHIFT (18U) +/*! EVENT - EVENT Interrupt Enable Clear Flag */ +#define I3C_SINTCLR_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_EVENT_SHIFT)) & I3C_SINTCLR_EVENT_MASK) + +#define I3C_SINTCLR_SLVRST_MASK (0x80000U) +#define I3C_SINTCLR_SLVRST_SHIFT (19U) +/*! SLVRST - Target Reset Flag (SLVRST Interrupt Enable Clear) */ +#define I3C_SINTCLR_SLVRST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTCLR_SLVRST_SHIFT)) & I3C_SINTCLR_SLVRST_MASK) +/*! @} */ + +/*! @name SINTMASKED - Target Interrupt Mask */ +/*! @{ */ + +#define I3C_SINTMASKED_START_MASK (0x100U) +#define I3C_SINTMASKED_START_SHIFT (8U) +/*! START - START Interrupt Mask */ +#define I3C_SINTMASKED_START(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_START_SHIFT)) & I3C_SINTMASKED_START_MASK) + +#define I3C_SINTMASKED_MATCHED_MASK (0x200U) +#define I3C_SINTMASKED_MATCHED_SHIFT (9U) +/*! MATCHED - MATCHED Interrupt Mask */ +#define I3C_SINTMASKED_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_MATCHED_SHIFT)) & I3C_SINTMASKED_MATCHED_MASK) + +#define I3C_SINTMASKED_STOP_MASK (0x400U) +#define I3C_SINTMASKED_STOP_SHIFT (10U) +/*! STOP - STOP Interrupt Mask */ +#define I3C_SINTMASKED_STOP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_STOP_SHIFT)) & I3C_SINTMASKED_STOP_MASK) + +#define I3C_SINTMASKED_RXPEND_MASK (0x800U) +#define I3C_SINTMASKED_RXPEND_SHIFT (11U) +/*! RXPEND - RXPEND Interrupt Mask */ +#define I3C_SINTMASKED_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_RXPEND_SHIFT)) & I3C_SINTMASKED_RXPEND_MASK) + +#define I3C_SINTMASKED_TXSEND_MASK (0x1000U) +#define I3C_SINTMASKED_TXSEND_SHIFT (12U) +/*! TXSEND - TXSEND Interrupt Mask */ +#define I3C_SINTMASKED_TXSEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_TXSEND_SHIFT)) & I3C_SINTMASKED_TXSEND_MASK) + +#define I3C_SINTMASKED_DACHG_MASK (0x2000U) +#define I3C_SINTMASKED_DACHG_SHIFT (13U) +/*! DACHG - DACHG Interrupt Mask */ +#define I3C_SINTMASKED_DACHG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_DACHG_SHIFT)) & I3C_SINTMASKED_DACHG_MASK) + +#define I3C_SINTMASKED_CCC_MASK (0x4000U) +#define I3C_SINTMASKED_CCC_SHIFT (14U) +/*! CCC - CCC Interrupt Mask */ +#define I3C_SINTMASKED_CCC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_CCC_SHIFT)) & I3C_SINTMASKED_CCC_MASK) + +#define I3C_SINTMASKED_ERRWARN_MASK (0x8000U) +#define I3C_SINTMASKED_ERRWARN_SHIFT (15U) +/*! ERRWARN - ERRWARN Interrupt Mask */ +#define I3C_SINTMASKED_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_ERRWARN_SHIFT)) & I3C_SINTMASKED_ERRWARN_MASK) + +#define I3C_SINTMASKED_DDRMATCHED_MASK (0x10000U) +#define I3C_SINTMASKED_DDRMATCHED_SHIFT (16U) +/*! DDRMATCHED - DDRMATCHED Interrupt Mask */ +#define I3C_SINTMASKED_DDRMATCHED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_DDRMATCHED_SHIFT)) & I3C_SINTMASKED_DDRMATCHED_MASK) + +#define I3C_SINTMASKED_CHANDLED_MASK (0x20000U) +#define I3C_SINTMASKED_CHANDLED_SHIFT (17U) +/*! CHANDLED - CHANDLED Interrupt Mask */ +#define I3C_SINTMASKED_CHANDLED(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_CHANDLED_SHIFT)) & I3C_SINTMASKED_CHANDLED_MASK) + +#define I3C_SINTMASKED_EVENT_MASK (0x40000U) +#define I3C_SINTMASKED_EVENT_SHIFT (18U) +/*! EVENT - EVENT Interrupt Mask */ +#define I3C_SINTMASKED_EVENT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_EVENT_SHIFT)) & I3C_SINTMASKED_EVENT_MASK) + +#define I3C_SINTMASKED_SLVRST_MASK (0x80000U) +#define I3C_SINTMASKED_SLVRST_SHIFT (19U) +/*! SLVRST - Target Reset Interrupt Mask */ +#define I3C_SINTMASKED_SLVRST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SINTMASKED_SLVRST_SHIFT)) & I3C_SINTMASKED_SLVRST_MASK) +/*! @} */ + +/*! @name SERRWARN - Target Errors and Warnings */ +/*! @{ */ + +#define I3C_SERRWARN_ORUN_MASK (0x1U) +#define I3C_SERRWARN_ORUN_SHIFT (0U) +/*! ORUN - Overrun Error Flag + * 0b0..No overrun error + * 0b0..No effect + * 0b1..Overrun error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_ORUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_ORUN_SHIFT)) & I3C_SERRWARN_ORUN_MASK) + +#define I3C_SERRWARN_URUN_MASK (0x2U) +#define I3C_SERRWARN_URUN_SHIFT (1U) +/*! URUN - Underrun Error Flag + * 0b0..No underrun error + * 0b0..No effect + * 0b1..Underrun error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_URUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_URUN_SHIFT)) & I3C_SERRWARN_URUN_MASK) + +#define I3C_SERRWARN_URUNNACK_MASK (0x4U) +#define I3C_SERRWARN_URUNNACK_SHIFT (2U) +/*! URUNNACK - Underrun and Not Acknowledged (NACKed) Error Flag + * 0b0..No underrun; not acknowledged error + * 0b0..No effect + * 0b1..Underrun; not acknowledged error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_URUNNACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_URUNNACK_SHIFT)) & I3C_SERRWARN_URUNNACK_MASK) + +#define I3C_SERRWARN_TERM_MASK (0x8U) +#define I3C_SERRWARN_TERM_SHIFT (3U) +/*! TERM - Terminated Error Flag + * 0b0..No terminated error + * 0b0..No effect + * 0b1..Terminated error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_TERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_TERM_SHIFT)) & I3C_SERRWARN_TERM_MASK) + +#define I3C_SERRWARN_INVSTART_MASK (0x10U) +#define I3C_SERRWARN_INVSTART_SHIFT (4U) +/*! INVSTART - Invalid Start Error Flag + * 0b0..No invalid start error + * 0b0..No effect + * 0b1..Invalid start error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_INVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_INVSTART_SHIFT)) & I3C_SERRWARN_INVSTART_MASK) + +#define I3C_SERRWARN_SPAR_MASK (0x100U) +#define I3C_SERRWARN_SPAR_SHIFT (8U) +/*! SPAR - SDR Parity Error Flag + * 0b0..No SDR parity error + * 0b0..No effect + * 0b1..SDR parity error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_SPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_SPAR_SHIFT)) & I3C_SERRWARN_SPAR_MASK) + +#define I3C_SERRWARN_HPAR_MASK (0x200U) +#define I3C_SERRWARN_HPAR_SHIFT (9U) +/*! HPAR - HDR Parity Error Flag + * 0b0..No HDR parity error + * 0b0..No effect + * 0b1..HDR parity error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_HPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_HPAR_SHIFT)) & I3C_SERRWARN_HPAR_MASK) + +#define I3C_SERRWARN_HCRC_MASK (0x400U) +#define I3C_SERRWARN_HCRC_SHIFT (10U) +/*! HCRC - HDR-DDR CRC Error Flag + * 0b0..No HDR-DDR CRC error occurred + * 0b0..No effect + * 0b1..HDR-DDR CRC error occurred + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_HCRC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_HCRC_SHIFT)) & I3C_SERRWARN_HCRC_MASK) + +#define I3C_SERRWARN_S0S1_MASK (0x800U) +#define I3C_SERRWARN_S0S1_SHIFT (11U) +/*! S0S1 - TE0 or TE1 Error Flag + * 0b0..No TE0 or TE1 error occurred + * 0b0..No effect + * 0b1..TE0 or TE1 error occurred + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_S0S1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_S0S1_SHIFT)) & I3C_SERRWARN_S0S1_MASK) + +#define I3C_SERRWARN_OREAD_MASK (0x10000U) +#define I3C_SERRWARN_OREAD_SHIFT (16U) +/*! OREAD - Over-Read Error Flag + * 0b0..No over-read error + * 0b0..No effect + * 0b1..Over-read error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_OREAD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_OREAD_SHIFT)) & I3C_SERRWARN_OREAD_MASK) + +#define I3C_SERRWARN_OWRITE_MASK (0x20000U) +#define I3C_SERRWARN_OWRITE_SHIFT (17U) +/*! OWRITE - Over-Write Error Flag + * 0b0..No overwrite error + * 0b0..No effect + * 0b1..Overwrite error + * 0b1..Clear the flag + */ +#define I3C_SERRWARN_OWRITE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARN_OWRITE_SHIFT)) & I3C_SERRWARN_OWRITE_MASK) +/*! @} */ + +/*! @name SDMACTRL - Target DMA Control */ +/*! @{ */ + +#define I3C_SDMACTRL_DMAFB_MASK (0x3U) +#define I3C_SDMACTRL_DMAFB_SHIFT (0U) +/*! DMAFB - DMA Read (From-Bus) Trigger + * 0b00..DMA not used + * 0b01..DMA enabled for one frame + * 0b10..DMA enabled until turned off + * 0b11.. + */ +#define I3C_SDMACTRL_DMAFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMAFB_SHIFT)) & I3C_SDMACTRL_DMAFB_MASK) + +#define I3C_SDMACTRL_DMATB_MASK (0xCU) +#define I3C_SDMACTRL_DMATB_SHIFT (2U) +/*! DMATB - DMA Write (To-Bus) Trigger + * 0b00..DMA not used + * 0b01..DMA enabled for one frame + * 0b10..DMA enabled until turned off + * 0b11.. + */ +#define I3C_SDMACTRL_DMATB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMATB_SHIFT)) & I3C_SDMACTRL_DMATB_MASK) + +#define I3C_SDMACTRL_DMAWIDTH_MASK (0x30U) +#define I3C_SDMACTRL_DMAWIDTH_SHIFT (4U) +/*! DMAWIDTH - Width of DMA Operations + * 0b00, 0b01..Byte + * 0b10..Halfword (16 bits) (this value ensures that two bytes are available in the FIFO) + * 0b11.. + */ +#define I3C_SDMACTRL_DMAWIDTH(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_DMAWIDTH_SHIFT)) & I3C_SDMACTRL_DMAWIDTH_MASK) + +#define I3C_SDMACTRL_BULKFB_MASK (0x40U) +#define I3C_SDMACTRL_BULKFB_SHIFT (6U) +/*! BULKFB - Bulk Transfer from Bus + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SDMACTRL_BULKFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_BULKFB_SHIFT)) & I3C_SDMACTRL_BULKFB_MASK) + +#define I3C_SDMACTRL_BULKTB_MASK (0x80U) +#define I3C_SDMACTRL_BULKTB_SHIFT (7U) +/*! BULKTB - Bulk Transfer to Bus + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SDMACTRL_BULKTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDMACTRL_BULKTB_SHIFT)) & I3C_SDMACTRL_BULKTB_MASK) +/*! @} */ + +/*! @name SDATACTRL - Target Data Control */ +/*! @{ */ + +#define I3C_SDATACTRL_FLUSHTB_MASK (0x1U) +#define I3C_SDATACTRL_FLUSHTB_SHIFT (0U) +/*! FLUSHTB - Flush To-Bus Buffer or FIFO + * 0b0..No action + * 0b1..Flush the buffer + */ +#define I3C_SDATACTRL_FLUSHTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_FLUSHTB_SHIFT)) & I3C_SDATACTRL_FLUSHTB_MASK) + +#define I3C_SDATACTRL_FLUSHFB_MASK (0x2U) +#define I3C_SDATACTRL_FLUSHFB_SHIFT (1U) +/*! FLUSHFB - Flush From-Bus Buffer or FIFO + * 0b0..No action + * 0b1..Flush the buffer + */ +#define I3C_SDATACTRL_FLUSHFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_FLUSHFB_SHIFT)) & I3C_SDATACTRL_FLUSHFB_MASK) + +#define I3C_SDATACTRL_UNLOCK_MASK (0x8U) +#define I3C_SDATACTRL_UNLOCK_SHIFT (3U) +/*! UNLOCK - Unlock + * 0b0..Cannot be changed + * 0b1..Can be changed + */ +#define I3C_SDATACTRL_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_UNLOCK_SHIFT)) & I3C_SDATACTRL_UNLOCK_MASK) + +#define I3C_SDATACTRL_TXTRIG_MASK (0x30U) +#define I3C_SDATACTRL_TXTRIG_SHIFT (4U) +/*! TXTRIG - Transmit Trigger Level + * 0b00..Trigger when empty + * 0b01..Trigger when 1/4 full or less + * 0b10..Trigger when 1/2 full or less + * 0b11..Default (trigger when 1 less than full or less) + */ +#define I3C_SDATACTRL_TXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXTRIG_SHIFT)) & I3C_SDATACTRL_TXTRIG_MASK) + +#define I3C_SDATACTRL_RXTRIG_MASK (0xC0U) +#define I3C_SDATACTRL_RXTRIG_SHIFT (6U) +/*! RXTRIG - Receive Trigger Level + * 0b00..Trigger when not empty (default) + * 0b01..Trigger when 1/4 or more full + * 0b10..Trigger when 1/2 or more full + * 0b11..Trigger when 3/4 or more full + */ +#define I3C_SDATACTRL_RXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXTRIG_SHIFT)) & I3C_SDATACTRL_RXTRIG_MASK) + +#define I3C_SDATACTRL_TXCOUNT_MASK (0x1F0000U) +#define I3C_SDATACTRL_TXCOUNT_SHIFT (16U) +/*! TXCOUNT - Count of Bytes in Transmit */ +#define I3C_SDATACTRL_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXCOUNT_SHIFT)) & I3C_SDATACTRL_TXCOUNT_MASK) + +#define I3C_SDATACTRL_RXCOUNT_MASK (0x1F000000U) +#define I3C_SDATACTRL_RXCOUNT_SHIFT (24U) +/*! RXCOUNT - Count of Bytes in Receive */ +#define I3C_SDATACTRL_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXCOUNT_SHIFT)) & I3C_SDATACTRL_RXCOUNT_MASK) + +#define I3C_SDATACTRL_TXFULL_MASK (0x40000000U) +#define I3C_SDATACTRL_TXFULL_SHIFT (30U) +/*! TXFULL - Transmit is Full + * 0b0..Not full + * 0b1..Full + */ +#define I3C_SDATACTRL_TXFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_TXFULL_SHIFT)) & I3C_SDATACTRL_TXFULL_MASK) + +#define I3C_SDATACTRL_RXEMPTY_MASK (0x80000000U) +#define I3C_SDATACTRL_RXEMPTY_SHIFT (31U) +/*! RXEMPTY - Receive is Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define I3C_SDATACTRL_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I3C_SDATACTRL_RXEMPTY_SHIFT)) & I3C_SDATACTRL_RXEMPTY_MASK) +/*! @} */ + +/*! @name SWDATAB - Target Write Data Byte */ +/*! @{ */ + +#define I3C_SWDATAB_DATA_MASK (0xFFU) +#define I3C_SWDATAB_DATA_SHIFT (0U) +/*! DATA - Data */ +#define I3C_SWDATAB_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_DATA_SHIFT)) & I3C_SWDATAB_DATA_MASK) + +#define I3C_SWDATAB_END_MASK (0x100U) +#define I3C_SWDATAB_END_SHIFT (8U) +/*! END - End + * 0b0..Not the end + * 0b1..End + */ +#define I3C_SWDATAB_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_END_SHIFT)) & I3C_SWDATAB_END_MASK) + +#define I3C_SWDATAB_END_ALSO_MASK (0x10000U) +#define I3C_SWDATAB_END_ALSO_SHIFT (16U) +/*! END_ALSO - End Also + * 0b0..Not the end + * 0b1..End + */ +#define I3C_SWDATAB_END_ALSO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB_END_ALSO_SHIFT)) & I3C_SWDATAB_END_ALSO_MASK) +/*! @} */ + +/*! @name SWDATABE - Target Write Data Byte End */ +/*! @{ */ + +#define I3C_SWDATABE_DATA_MASK (0xFFU) +#define I3C_SWDATABE_DATA_SHIFT (0U) +/*! DATA - Data */ +#define I3C_SWDATABE_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATABE_DATA_SHIFT)) & I3C_SWDATABE_DATA_MASK) +/*! @} */ + +/*! @name SWDATAH - Target Write Data Halfword */ +/*! @{ */ + +#define I3C_SWDATAH_DATA0_MASK (0xFFU) +#define I3C_SWDATAH_DATA0_SHIFT (0U) +/*! DATA0 - Data 0 */ +#define I3C_SWDATAH_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_DATA0_SHIFT)) & I3C_SWDATAH_DATA0_MASK) + +#define I3C_SWDATAH_DATA1_MASK (0xFF00U) +#define I3C_SWDATAH_DATA1_SHIFT (8U) +/*! DATA1 - Data 1 */ +#define I3C_SWDATAH_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_DATA1_SHIFT)) & I3C_SWDATAH_DATA1_MASK) + +#define I3C_SWDATAH_END_MASK (0x10000U) +#define I3C_SWDATAH_END_SHIFT (16U) +/*! END - End of Message + * 0b0..Not the end + * 0b1..End + */ +#define I3C_SWDATAH_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH_END_SHIFT)) & I3C_SWDATAH_END_MASK) +/*! @} */ + +/*! @name SWDATAHE - Target Write Data Halfword End */ +/*! @{ */ + +#define I3C_SWDATAHE_DATA0_MASK (0xFFU) +#define I3C_SWDATAHE_DATA0_SHIFT (0U) +/*! DATA0 - Data 0 */ +#define I3C_SWDATAHE_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAHE_DATA0_SHIFT)) & I3C_SWDATAHE_DATA0_MASK) + +#define I3C_SWDATAHE_DATA1_MASK (0xFF00U) +#define I3C_SWDATAHE_DATA1_SHIFT (8U) +/*! DATA1 - Data 1 */ +#define I3C_SWDATAHE_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAHE_DATA1_SHIFT)) & I3C_SWDATAHE_DATA1_MASK) +/*! @} */ + +/*! @name SRDATAB - Target Read Data Byte */ +/*! @{ */ + +#define I3C_SRDATAB_DATA0_MASK (0xFFU) +#define I3C_SRDATAB_DATA0_SHIFT (0U) +/*! DATA0 - Data 0 */ +#define I3C_SRDATAB_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAB_DATA0_SHIFT)) & I3C_SRDATAB_DATA0_MASK) +/*! @} */ + +/*! @name SRDATAH - Target Read Data Halfword */ +/*! @{ */ + +#define I3C_SRDATAH_LSB_MASK (0xFFU) +#define I3C_SRDATAH_LSB_SHIFT (0U) +/*! LSB - Low Byte */ +#define I3C_SRDATAH_LSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAH_LSB_SHIFT)) & I3C_SRDATAH_LSB_MASK) + +#define I3C_SRDATAH_MSB_MASK (0xFF00U) +#define I3C_SRDATAH_MSB_SHIFT (8U) +/*! MSB - High Byte */ +#define I3C_SRDATAH_MSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRDATAH_MSB_SHIFT)) & I3C_SRDATAH_MSB_MASK) +/*! @} */ + +/*! @name SWDATAB1 - Target Write Data Byte */ +/*! @{ */ + +#define I3C_SWDATAB1_DATA_MASK (0xFFU) +#define I3C_SWDATAB1_DATA_SHIFT (0U) +/*! DATA - Data */ +#define I3C_SWDATAB1_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAB1_DATA_SHIFT)) & I3C_SWDATAB1_DATA_MASK) +/*! @} */ + +/*! @name SWDATAH1 - Target Write Data Halfword */ +/*! @{ */ + +#define I3C_SWDATAH1_DATA_MASK (0xFFFFU) +#define I3C_SWDATAH1_DATA_SHIFT (0U) +/*! DATA - Data */ +#define I3C_SWDATAH1_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SWDATAH1_DATA_SHIFT)) & I3C_SWDATAH1_DATA_MASK) +/*! @} */ + +/*! @name SCAPABILITIES2 - Target Capabilities 2 */ +/*! @{ */ + +#define I3C_SCAPABILITIES2_MAPCNT_MASK (0xFU) +#define I3C_SCAPABILITIES2_MAPCNT_SHIFT (0U) +/*! MAPCNT - Map Count */ +#define I3C_SCAPABILITIES2_MAPCNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_MAPCNT_SHIFT)) & I3C_SCAPABILITIES2_MAPCNT_MASK) + +#define I3C_SCAPABILITIES2_I2C10B_MASK (0x10U) +#define I3C_SCAPABILITIES2_I2C10B_SHIFT (4U) +/*! I2C10B - I2C 10-bit Address + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES2_I2C10B(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_I2C10B_SHIFT)) & I3C_SCAPABILITIES2_I2C10B_MASK) + +#define I3C_SCAPABILITIES2_I2CDEVID_MASK (0x40U) +#define I3C_SCAPABILITIES2_I2CDEVID_SHIFT (6U) +/*! I2CDEVID - I2C Device ID + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES2_I2CDEVID(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_I2CDEVID_SHIFT)) & I3C_SCAPABILITIES2_I2CDEVID_MASK) + +#define I3C_SCAPABILITIES2_IBIEXT_MASK (0x100U) +#define I3C_SCAPABILITIES2_IBIEXT_SHIFT (8U) +/*! IBIEXT - In-Band Interrupt EXTDATA + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES2_IBIEXT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_IBIEXT_SHIFT)) & I3C_SCAPABILITIES2_IBIEXT_MASK) + +#define I3C_SCAPABILITIES2_IBIXREG_MASK (0x200U) +#define I3C_SCAPABILITIES2_IBIXREG_SHIFT (9U) +/*! IBIXREG - In-Band Interrupt Extended Register + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES2_IBIXREG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_IBIXREG_SHIFT)) & I3C_SCAPABILITIES2_IBIXREG_MASK) + +#define I3C_SCAPABILITIES2_V1_1_MASK (0x10000U) +#define I3C_SCAPABILITIES2_V1_1_SHIFT (16U) +/*! V1_1 - Version 1.1 + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES2_V1_1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_V1_1_SHIFT)) & I3C_SCAPABILITIES2_V1_1_MASK) + +#define I3C_SCAPABILITIES2_SLVRST_MASK (0x20000U) +#define I3C_SCAPABILITIES2_SLVRST_SHIFT (17U) +/*! SLVRST - Target Reset + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES2_SLVRST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_SLVRST_SHIFT)) & I3C_SCAPABILITIES2_SLVRST_MASK) + +#define I3C_SCAPABILITIES2_GROUP_MASK (0xC0000U) +#define I3C_SCAPABILITIES2_GROUP_SHIFT (18U) +/*! GROUP - Group + * 0b00..v1.1 group addressing not supported + * 0b01..One group supported + * 0b10..Two groups supported + * 0b11..Three groups supported + */ +#define I3C_SCAPABILITIES2_GROUP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_GROUP_SHIFT)) & I3C_SCAPABILITIES2_GROUP_MASK) + +#define I3C_SCAPABILITIES2_AASA_MASK (0x200000U) +#define I3C_SCAPABILITIES2_AASA_SHIFT (21U) +/*! AASA - SETAASA + * 0b0..SETAASA not supported + * 0b1..SETAASA supported + */ +#define I3C_SCAPABILITIES2_AASA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_AASA_SHIFT)) & I3C_SCAPABILITIES2_AASA_MASK) + +#define I3C_SCAPABILITIES2_SSTSUB_MASK (0x400000U) +#define I3C_SCAPABILITIES2_SSTSUB_SHIFT (22U) +/*! SSTSUB - Target-Target(s)-Tunnel Subscriber Capable + * 0b0..Not subscriber capable + * 0b1..Subscriber capable + */ +#define I3C_SCAPABILITIES2_SSTSUB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_SSTSUB_SHIFT)) & I3C_SCAPABILITIES2_SSTSUB_MASK) + +#define I3C_SCAPABILITIES2_SSTWR_MASK (0x800000U) +#define I3C_SCAPABILITIES2_SSTWR_SHIFT (23U) +/*! SSTWR - Target-Target(s)-Tunnel Write Capable + * 0b0..Not write capable + * 0b1..Write capable + */ +#define I3C_SCAPABILITIES2_SSTWR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES2_SSTWR_SHIFT)) & I3C_SCAPABILITIES2_SSTWR_MASK) +/*! @} */ + +/*! @name SCAPABILITIES - Target Capabilities */ +/*! @{ */ + +#define I3C_SCAPABILITIES_IDENA_MASK (0x3U) +#define I3C_SCAPABILITIES_IDENA_SHIFT (0U) +/*! IDENA - ID 48b Handler + * 0b00..Application + * 0b01..Hardware + * 0b10..Hardware, but the I3C module instance handles ID 48b + * 0b11..A part number register (PARTNO) + */ +#define I3C_SCAPABILITIES_IDENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_IDENA_SHIFT)) & I3C_SCAPABILITIES_IDENA_MASK) + +#define I3C_SCAPABILITIES_IDREG_MASK (0x3CU) +#define I3C_SCAPABILITIES_IDREG_SHIFT (2U) +/*! IDREG - ID Register + * 0b0000..All ID register features disabled + * 0b1xxx..A Bus Characteristics Register (BCR) is available + * 0bx1xx..A Device Characteristic Register (DCR) is available + * 0bxx1x..An ID Random field is available + * 0bxxx1..ID Instance is a register; used if there is no PARTNO register + */ +#define I3C_SCAPABILITIES_IDREG(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_IDREG_SHIFT)) & I3C_SCAPABILITIES_IDREG_MASK) + +#define I3C_SCAPABILITIES_HDRSUPP_MASK (0xC0U) +#define I3C_SCAPABILITIES_HDRSUPP_SHIFT (6U) +/*! HDRSUPP - High Data Rate Support + * 0b00..No HDR modes supported + * 0b01..DDR mode supported + */ +#define I3C_SCAPABILITIES_HDRSUPP(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_HDRSUPP_SHIFT)) & I3C_SCAPABILITIES_HDRSUPP_MASK) + +#define I3C_SCAPABILITIES_MASTER_MASK (0x200U) +#define I3C_SCAPABILITIES_MASTER_SHIFT (9U) +/*! MASTER - Controller + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES_MASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_MASTER_SHIFT)) & I3C_SCAPABILITIES_MASTER_MASK) + +#define I3C_SCAPABILITIES_SADDR_MASK (0xC00U) +#define I3C_SCAPABILITIES_SADDR_SHIFT (10U) +/*! SADDR - Static Address + * 0b00..No static address + * 0b01..Static address is fixed in hardware + * 0b10..Hardware controls the static address dynamically (for example, from the pin strap) + * 0b11..SCONFIG register supplies the static address + */ +#define I3C_SCAPABILITIES_SADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_SADDR_SHIFT)) & I3C_SCAPABILITIES_SADDR_MASK) + +#define I3C_SCAPABILITIES_CCCHANDLE_MASK (0xF000U) +#define I3C_SCAPABILITIES_CCCHANDLE_SHIFT (12U) +/*! CCCHANDLE - Common Command Codes Handling + * 0b0000..All handling features disabled + * 0b1xxx..GETSTATUS CCC returns the value of SCTRL[VENDINFO] + * 0bx1xx..GETSTATUS CCC returns the values of SCTRL[PENDINT] and SCTRL[ACTSTATE] + * 0bxx1x..The I3C module manages maximum read and write lengths, and max data speed + * 0bxxx1..The I3C module manages events, activities, status, HDR, and if enabled for it, ID and static-address-related items + */ +#define I3C_SCAPABILITIES_CCCHANDLE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_CCCHANDLE_SHIFT)) & I3C_SCAPABILITIES_CCCHANDLE_MASK) + +#define I3C_SCAPABILITIES_IBI_MR_HJ_MASK (0x1F0000U) +#define I3C_SCAPABILITIES_IBI_MR_HJ_SHIFT (16U) +/*! IBI_MR_HJ - In-Band Interrupts, Controller Requests, Hot-Join Events + * 0b00000..Application cannot generate IBI, CR, or HJ + * 0b1xxxx..Application can use SCONFIG[BAMATCH] for bus-available timing + * 0bx1xxx..Application can generate a Hot-Join event + * 0bxx1xx..Application can generate a controller request for a secondary controller + * 0bxxx1x..When bit 0 = 1, the IBI has data from the SCTRL register + * 0bxxxx1..Application can generate an IBI + */ +#define I3C_SCAPABILITIES_IBI_MR_HJ(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_IBI_MR_HJ_SHIFT)) & I3C_SCAPABILITIES_IBI_MR_HJ_MASK) + +#define I3C_SCAPABILITIES_TIMECTRL_MASK (0x200000U) +#define I3C_SCAPABILITIES_TIMECTRL_SHIFT (21U) +/*! TIMECTRL - Time Control + * 0b0..No time control supported + * 0b1..At least one time-control type supported + */ +#define I3C_SCAPABILITIES_TIMECTRL(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_TIMECTRL_SHIFT)) & I3C_SCAPABILITIES_TIMECTRL_MASK) + +#define I3C_SCAPABILITIES_EXTFIFO_MASK (0x3800000U) +#define I3C_SCAPABILITIES_EXTFIFO_SHIFT (23U) +/*! EXTFIFO - External FIFO + * 0b000..No external FIFO available + * 0b001..Standard available or free external FIFO + * 0b010..Request track external FIFO + */ +#define I3C_SCAPABILITIES_EXTFIFO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_EXTFIFO_SHIFT)) & I3C_SCAPABILITIES_EXTFIFO_MASK) + +#define I3C_SCAPABILITIES_FIFOTX_MASK (0xC000000U) +#define I3C_SCAPABILITIES_FIFOTX_SHIFT (26U) +/*! FIFOTX - FIFO Transmit + * 0b00..Two + * 0b01..Four + * 0b10..Eight + * 0b11..16 or larger + */ +#define I3C_SCAPABILITIES_FIFOTX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_FIFOTX_SHIFT)) & I3C_SCAPABILITIES_FIFOTX_MASK) + +#define I3C_SCAPABILITIES_FIFORX_MASK (0x30000000U) +#define I3C_SCAPABILITIES_FIFORX_SHIFT (28U) +/*! FIFORX - FIFO Receive + * 0b00..Two or three + * 0b01..Four + * 0b10..Eight + * 0b11..16 or larger + */ +#define I3C_SCAPABILITIES_FIFORX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_FIFORX_SHIFT)) & I3C_SCAPABILITIES_FIFORX_MASK) + +#define I3C_SCAPABILITIES_INT_MASK (0x40000000U) +#define I3C_SCAPABILITIES_INT_SHIFT (30U) +/*! INT - Interrupts + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES_INT(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_INT_SHIFT)) & I3C_SCAPABILITIES_INT_MASK) + +#define I3C_SCAPABILITIES_DMA_MASK (0x80000000U) +#define I3C_SCAPABILITIES_DMA_SHIFT (31U) +/*! DMA - Direct Memory Access + * 0b0..Not supported + * 0b1..Supported + */ +#define I3C_SCAPABILITIES_DMA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCAPABILITIES_DMA_SHIFT)) & I3C_SCAPABILITIES_DMA_MASK) +/*! @} */ + +/*! @name SMAXLIMITS - Target Maximum Limits */ +/*! @{ */ + +#define I3C_SMAXLIMITS_MAXRD_MASK (0xFFFU) +#define I3C_SMAXLIMITS_MAXRD_SHIFT (0U) +/*! MAXRD - Maximum Read Length */ +#define I3C_SMAXLIMITS_MAXRD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAXLIMITS_MAXRD_SHIFT)) & I3C_SMAXLIMITS_MAXRD_MASK) + +#define I3C_SMAXLIMITS_MAXWR_MASK (0xFFF0000U) +#define I3C_SMAXLIMITS_MAXWR_SHIFT (16U) +/*! MAXWR - Maximum Write Length */ +#define I3C_SMAXLIMITS_MAXWR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAXLIMITS_MAXWR_SHIFT)) & I3C_SMAXLIMITS_MAXWR_MASK) +/*! @} */ + +/*! @name SIDPARTNO - Target ID Part Number */ +/*! @{ */ + +#define I3C_SIDPARTNO_PARTNO_MASK (0xFFFFFFFFU) +#define I3C_SIDPARTNO_PARTNO_SHIFT (0U) +/*! PARTNO - Part Number */ +#define I3C_SIDPARTNO_PARTNO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SIDPARTNO_PARTNO_SHIFT)) & I3C_SIDPARTNO_PARTNO_MASK) +/*! @} */ + +/*! @name SIDEXT - Target ID Extension */ +/*! @{ */ + +#define I3C_SIDEXT_DCR_MASK (0xFF00U) +#define I3C_SIDEXT_DCR_SHIFT (8U) +/*! DCR - Device Characteristic Register */ +#define I3C_SIDEXT_DCR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SIDEXT_DCR_SHIFT)) & I3C_SIDEXT_DCR_MASK) + +#define I3C_SIDEXT_BCR_MASK (0xFF0000U) +#define I3C_SIDEXT_BCR_SHIFT (16U) +/*! BCR - Bus Characteristics Register */ +#define I3C_SIDEXT_BCR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SIDEXT_BCR_SHIFT)) & I3C_SIDEXT_BCR_MASK) +/*! @} */ + +/*! @name SVENDORID - Target Vendor ID */ +/*! @{ */ + +#define I3C_SVENDORID_VID_MASK (0x7FFFU) +#define I3C_SVENDORID_VID_SHIFT (0U) +/*! VID - Vendor ID */ +#define I3C_SVENDORID_VID(x) (((uint32_t)(((uint32_t)(x)) << I3C_SVENDORID_VID_SHIFT)) & I3C_SVENDORID_VID_MASK) +/*! @} */ + +/*! @name STCCLOCK - Target Time Control Clock */ +/*! @{ */ + +#define I3C_STCCLOCK_ACCURACY_MASK (0xFFU) +#define I3C_STCCLOCK_ACCURACY_SHIFT (0U) +/*! ACCURACY - Clock Accuracy */ +#define I3C_STCCLOCK_ACCURACY(x) (((uint32_t)(((uint32_t)(x)) << I3C_STCCLOCK_ACCURACY_SHIFT)) & I3C_STCCLOCK_ACCURACY_MASK) + +#define I3C_STCCLOCK_FREQ_MASK (0xFF00U) +#define I3C_STCCLOCK_FREQ_SHIFT (8U) +/*! FREQ - Clock Frequency */ +#define I3C_STCCLOCK_FREQ(x) (((uint32_t)(((uint32_t)(x)) << I3C_STCCLOCK_FREQ_SHIFT)) & I3C_STCCLOCK_FREQ_MASK) +/*! @} */ + +/*! @name SMSGMAPADDR - Target Message Map Address */ +/*! @{ */ + +#define I3C_SMSGMAPADDR_MAPLAST_MASK (0xFU) +#define I3C_SMSGMAPADDR_MAPLAST_SHIFT (0U) +/*! MAPLAST - Matched Address Index */ +#define I3C_SMSGMAPADDR_MAPLAST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMSGMAPADDR_MAPLAST_SHIFT)) & I3C_SMSGMAPADDR_MAPLAST_MASK) + +#define I3C_SMSGMAPADDR_LASTSTATIC_MASK (0x10U) +#define I3C_SMSGMAPADDR_LASTSTATIC_SHIFT (4U) +/*! LASTSTATIC - Last Static Address Matched + * 0b0..I3C dynamic address + * 0b1..I2C static address + */ +#define I3C_SMSGMAPADDR_LASTSTATIC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMSGMAPADDR_LASTSTATIC_SHIFT)) & I3C_SMSGMAPADDR_LASTSTATIC_MASK) + +#define I3C_SMSGMAPADDR_MAPLASTM1_MASK (0xF00U) +#define I3C_SMSGMAPADDR_MAPLASTM1_SHIFT (8U) +/*! MAPLASTM1 - Matched Previous Address Index 1 */ +#define I3C_SMSGMAPADDR_MAPLASTM1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMSGMAPADDR_MAPLASTM1_SHIFT)) & I3C_SMSGMAPADDR_MAPLASTM1_MASK) + +#define I3C_SMSGMAPADDR_MAPLASTM2_MASK (0xF0000U) +#define I3C_SMSGMAPADDR_MAPLASTM2_SHIFT (16U) +/*! MAPLASTM2 - Matched Previous Index 2 */ +#define I3C_SMSGMAPADDR_MAPLASTM2(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMSGMAPADDR_MAPLASTM2_SHIFT)) & I3C_SMSGMAPADDR_MAPLASTM2_MASK) +/*! @} */ + +/*! @name MCONFIG_EXT - Controller Extended Configuration */ +/*! @{ */ + +#define I3C_MCONFIG_EXT_I2CBLOW_MASK (0xFU) +#define I3C_MCONFIG_EXT_I2CBLOW_SHIFT (0U) +/*! I2CBLOW - I2C Baud Low */ +#define I3C_MCONFIG_EXT_I2CBLOW(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_EXT_I2CBLOW_SHIFT)) & I3C_MCONFIG_EXT_I2CBLOW_MASK) + +#define I3C_MCONFIG_EXT_I2CHS_MASK (0x10U) +#define I3C_MCONFIG_EXT_I2CHS_SHIFT (4U) +/*! I2CHS - I2C HS */ +#define I3C_MCONFIG_EXT_I2CHS(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_EXT_I2CHS_SHIFT)) & I3C_MCONFIG_EXT_I2CHS_MASK) + +#define I3C_MCONFIG_EXT_I2C_A10B_MASK (0x100U) +#define I3C_MCONFIG_EXT_I2C_A10B_SHIFT (8U) +/*! I2C_A10B - I2C_A10B + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MCONFIG_EXT_I2C_A10B(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_EXT_I2C_A10B_SHIFT)) & I3C_MCONFIG_EXT_I2C_A10B_MASK) + +#define I3C_MCONFIG_EXT_I2C_A10BEXT_MASK (0xE00U) +#define I3C_MCONFIG_EXT_I2C_A10BEXT_SHIFT (9U) +/*! I2C_A10BEXT - I2C_A10BEXT */ +#define I3C_MCONFIG_EXT_I2C_A10BEXT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_EXT_I2C_A10BEXT_SHIFT)) & I3C_MCONFIG_EXT_I2C_A10BEXT_MASK) + +#define I3C_MCONFIG_EXT_I3C_CAS_DEL_MASK (0x30000U) +#define I3C_MCONFIG_EXT_I3C_CAS_DEL_SHIFT (16U) +/*! I3C_CAS_DEL - I3C CAS Delay After START + * 0b00..No delay + * 0b01..Increases SCL clock period by 1/2 + * 0b10..Increases SCL clock period by 1 + * 0b11..Increases SCL clock period by 3/2 + */ +#define I3C_MCONFIG_EXT_I3C_CAS_DEL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_EXT_I3C_CAS_DEL_SHIFT)) & I3C_MCONFIG_EXT_I3C_CAS_DEL_MASK) + +#define I3C_MCONFIG_EXT_I3C_CASR_DEL_MASK (0xC0000U) +#define I3C_MCONFIG_EXT_I3C_CASR_DEL_SHIFT (18U) +/*! I3C_CASR_DEL - I3C CAS Delay After Repeated START + * 0b00..No delay + * 0b01..Increases SCL clock period by 1/2 + * 0b10..Increases SCL clock period by 1 + * 0b11..Increases SCL clock period by 1 1/2 + */ +#define I3C_MCONFIG_EXT_I3C_CASR_DEL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCONFIG_EXT_I3C_CASR_DEL_SHIFT)) & I3C_MCONFIG_EXT_I3C_CASR_DEL_MASK) +/*! @} */ + +/*! @name MCTRL - Controller Control */ +/*! @{ */ + +#define I3C_MCTRL_REQUEST_MASK (0x7U) +#define I3C_MCTRL_REQUEST_SHIFT (0U) +/*! REQUEST - Request + * 0b000..NONE + * 0b001..EMITSTARTADDR + * 0b010..EMITSTOP + * 0b011..IBIACKNACK + * 0b100..PROCESSDAA + * 0b101.. + * 0b110..Force Exit and Target Reset + * 0b111..AUTOIBI + */ +#define I3C_MCTRL_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_REQUEST_SHIFT)) & I3C_MCTRL_REQUEST_MASK) + +#define I3C_MCTRL_TYPE_MASK (0x30U) +#define I3C_MCTRL_TYPE_SHIFT (4U) +/*! TYPE - Bus Type with EmitStartAddr + * 0b00..I3C + * 0b01..I2C + * 0b10..DDR + * 0b11.. + */ +#define I3C_MCTRL_TYPE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_TYPE_SHIFT)) & I3C_MCTRL_TYPE_MASK) + +#define I3C_MCTRL_IBIRESP_MASK (0xC0U) +#define I3C_MCTRL_IBIRESP_SHIFT (6U) +/*! IBIRESP - In-Band Interrupt Response + * 0b00..ACK (acknowledge) + * 0b01..NACK (reject) + * 0b10..Acknowledge with mandatory byte + * 0b11..Manual + */ +#define I3C_MCTRL_IBIRESP(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_IBIRESP_SHIFT)) & I3C_MCTRL_IBIRESP_MASK) + +#define I3C_MCTRL_DIR_MASK (0x100U) +#define I3C_MCTRL_DIR_SHIFT (8U) +/*! DIR - Direction + * 0b0..Write + * 0b1..Read + */ +#define I3C_MCTRL_DIR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_DIR_SHIFT)) & I3C_MCTRL_DIR_MASK) + +#define I3C_MCTRL_ADDR_MASK (0xFE00U) +#define I3C_MCTRL_ADDR_SHIFT (9U) +/*! ADDR - Address */ +#define I3C_MCTRL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_ADDR_SHIFT)) & I3C_MCTRL_ADDR_MASK) + +#define I3C_MCTRL_RDTERM_MASK (0xFF0000U) +#define I3C_MCTRL_RDTERM_SHIFT (16U) +/*! RDTERM - Read Terminate Counter */ +#define I3C_MCTRL_RDTERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_MCTRL_RDTERM_SHIFT)) & I3C_MCTRL_RDTERM_MASK) +/*! @} */ + +/*! @name MSTATUS - Controller Status */ +/*! @{ */ + +#define I3C_MSTATUS_STATE_MASK (0x7U) +#define I3C_MSTATUS_STATE_SHIFT (0U) +/*! STATE - State of the Controller + * 0b000..IDLE (bus has stopped) + * 0b001..SLVREQ (target request) + * 0b010..MSGSDR + * 0b011..NORMACT + * 0b100..MSGDDR + * 0b101..DAA + * 0b110..IBIACK + * 0b111..IBIRCV + */ +#define I3C_MSTATUS_STATE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_STATE_SHIFT)) & I3C_MSTATUS_STATE_MASK) + +#define I3C_MSTATUS_BETWEEN_MASK (0x10U) +#define I3C_MSTATUS_BETWEEN_SHIFT (4U) +/*! BETWEEN - Between + * 0b0..Inactive (for other cases) + * 0b1..Active + */ +#define I3C_MSTATUS_BETWEEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_BETWEEN_SHIFT)) & I3C_MSTATUS_BETWEEN_MASK) + +#define I3C_MSTATUS_NACKED_MASK (0x20U) +#define I3C_MSTATUS_NACKED_SHIFT (5U) +/*! NACKED - Not Acknowledged + * 0b0..Not NACKed + * 0b1..NACKed (not acknowledged) + */ +#define I3C_MSTATUS_NACKED(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_NACKED_SHIFT)) & I3C_MSTATUS_NACKED_MASK) + +#define I3C_MSTATUS_IBITYPE_MASK (0xC0U) +#define I3C_MSTATUS_IBITYPE_SHIFT (6U) +/*! IBITYPE - In-Band Interrupt (IBI) Type + * 0b00..NONE (no IBI: this status occurs when MSTATUS[IBIWON] becomes 0) + * 0b01..IBI + * 0b10..CR + * 0b11..HJ + */ +#define I3C_MSTATUS_IBITYPE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_IBITYPE_SHIFT)) & I3C_MSTATUS_IBITYPE_MASK) + +#define I3C_MSTATUS_SLVSTART_MASK (0x100U) +#define I3C_MSTATUS_SLVSTART_SHIFT (8U) +/*! SLVSTART - Target Start Flag + * 0b0..Target not requesting START + * 0b0..No effect + * 0b1..Target requesting START + * 0b1..Clear the flag + */ +#define I3C_MSTATUS_SLVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_SLVSTART_SHIFT)) & I3C_MSTATUS_SLVSTART_MASK) + +#define I3C_MSTATUS_MCTRLDONE_MASK (0x200U) +#define I3C_MSTATUS_MCTRLDONE_SHIFT (9U) +/*! MCTRLDONE - Controller Control Done Flag + * 0b0..Not done + * 0b0..No effect + * 0b1..Done + * 0b1..Clear the flag + */ +#define I3C_MSTATUS_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_MCTRLDONE_SHIFT)) & I3C_MSTATUS_MCTRLDONE_MASK) + +#define I3C_MSTATUS_COMPLETE_MASK (0x400U) +#define I3C_MSTATUS_COMPLETE_SHIFT (10U) +/*! COMPLETE - Complete Flag + * 0b0..Not complete + * 0b0..No effect + * 0b1..Complete + * 0b1..Clear the flag + */ +#define I3C_MSTATUS_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_COMPLETE_SHIFT)) & I3C_MSTATUS_COMPLETE_MASK) + +#define I3C_MSTATUS_RXPEND_MASK (0x800U) +#define I3C_MSTATUS_RXPEND_SHIFT (11U) +/*! RXPEND - RXPEND + * 0b0..No receive message pending + * 0b1..Receive message pending + */ +#define I3C_MSTATUS_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_RXPEND_SHIFT)) & I3C_MSTATUS_RXPEND_MASK) + +#define I3C_MSTATUS_TXNOTFULL_MASK (0x1000U) +#define I3C_MSTATUS_TXNOTFULL_SHIFT (12U) +/*! TXNOTFULL - TX Buffer or FIFO Not Full + * 0b0..Receive buffer or FIFO full + * 0b1..Receive buffer or FIFO not full + */ +#define I3C_MSTATUS_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_TXNOTFULL_SHIFT)) & I3C_MSTATUS_TXNOTFULL_MASK) + +#define I3C_MSTATUS_IBIWON_MASK (0x2000U) +#define I3C_MSTATUS_IBIWON_SHIFT (13U) +/*! IBIWON - In-Band Interrupt (IBI) Won Flag + * 0b0..No IBI arbitration won + * 0b0..No effect + * 0b1..IBI arbitration won + * 0b1..Clear the flag + */ +#define I3C_MSTATUS_IBIWON(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_IBIWON_SHIFT)) & I3C_MSTATUS_IBIWON_MASK) + +#define I3C_MSTATUS_ERRWARN_MASK (0x8000U) +#define I3C_MSTATUS_ERRWARN_SHIFT (15U) +/*! ERRWARN - Error or Warning + * 0b0..No error or warning + * 0b1..Error or warning + */ +#define I3C_MSTATUS_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_ERRWARN_SHIFT)) & I3C_MSTATUS_ERRWARN_MASK) + +#define I3C_MSTATUS_NOWMASTER_MASK (0x80000U) +#define I3C_MSTATUS_NOWMASTER_SHIFT (19U) +/*! NOWMASTER - Module is now Controller Flag + * 0b0..Not a controller + * 0b0..No effect + * 0b1..Controller + * 0b1..Clear the flag + */ +#define I3C_MSTATUS_NOWMASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_NOWMASTER_SHIFT)) & I3C_MSTATUS_NOWMASTER_MASK) + +#define I3C_MSTATUS_IBIADDR_MASK (0x7F000000U) +#define I3C_MSTATUS_IBIADDR_SHIFT (24U) +/*! IBIADDR - IBI Address */ +#define I3C_MSTATUS_IBIADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MSTATUS_IBIADDR_SHIFT)) & I3C_MSTATUS_IBIADDR_MASK) +/*! @} */ + +/*! @name MIBIRULES - Controller In-band Interrupt Registry and Rules */ +/*! @{ */ + +#define I3C_MIBIRULES_ADDR0_MASK (0x3FU) +#define I3C_MIBIRULES_ADDR0_SHIFT (0U) +/*! ADDR0 - ADDR0 */ +#define I3C_MIBIRULES_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR0_SHIFT)) & I3C_MIBIRULES_ADDR0_MASK) + +#define I3C_MIBIRULES_ADDR1_MASK (0xFC0U) +#define I3C_MIBIRULES_ADDR1_SHIFT (6U) +/*! ADDR1 - ADDR1 */ +#define I3C_MIBIRULES_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR1_SHIFT)) & I3C_MIBIRULES_ADDR1_MASK) + +#define I3C_MIBIRULES_ADDR2_MASK (0x3F000U) +#define I3C_MIBIRULES_ADDR2_SHIFT (12U) +/*! ADDR2 - ADDR2 */ +#define I3C_MIBIRULES_ADDR2(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR2_SHIFT)) & I3C_MIBIRULES_ADDR2_MASK) + +#define I3C_MIBIRULES_ADDR3_MASK (0xFC0000U) +#define I3C_MIBIRULES_ADDR3_SHIFT (18U) +/*! ADDR3 - ADDR3 */ +#define I3C_MIBIRULES_ADDR3(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR3_SHIFT)) & I3C_MIBIRULES_ADDR3_MASK) + +#define I3C_MIBIRULES_ADDR4_MASK (0x3F000000U) +#define I3C_MIBIRULES_ADDR4_SHIFT (24U) +/*! ADDR4 - ADDR4 */ +#define I3C_MIBIRULES_ADDR4(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_ADDR4_SHIFT)) & I3C_MIBIRULES_ADDR4_MASK) + +#define I3C_MIBIRULES_MSB0_MASK (0x40000000U) +#define I3C_MIBIRULES_MSB0_SHIFT (30U) +/*! MSB0 - Most Significant Address Bit is 0 + * 0b0..MSB is not 0 + * 0b1..MSB is 0 + */ +#define I3C_MIBIRULES_MSB0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_MSB0_SHIFT)) & I3C_MIBIRULES_MSB0_MASK) + +#define I3C_MIBIRULES_NOBYTE_MASK (0x80000000U) +#define I3C_MIBIRULES_NOBYTE_SHIFT (31U) +/*! NOBYTE - No IBI byte + * 0b0..With mandatory IBI byte + * 0b1..Without mandatory IBI byte + */ +#define I3C_MIBIRULES_NOBYTE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MIBIRULES_NOBYTE_SHIFT)) & I3C_MIBIRULES_NOBYTE_MASK) +/*! @} */ + +/*! @name MINTSET - Controller Interrupt Set */ +/*! @{ */ + +#define I3C_MINTSET_SLVSTART_MASK (0x100U) +#define I3C_MINTSET_SLVSTART_SHIFT (8U) +/*! SLVSTART - Target Start Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MINTSET_SLVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_SLVSTART_SHIFT)) & I3C_MINTSET_SLVSTART_MASK) + +#define I3C_MINTSET_MCTRLDONE_MASK (0x200U) +#define I3C_MINTSET_MCTRLDONE_SHIFT (9U) +/*! MCTRLDONE - Controller Control Done Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MINTSET_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_MCTRLDONE_SHIFT)) & I3C_MINTSET_MCTRLDONE_MASK) + +#define I3C_MINTSET_COMPLETE_MASK (0x400U) +#define I3C_MINTSET_COMPLETE_SHIFT (10U) +/*! COMPLETE - Completed Message Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MINTSET_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_COMPLETE_SHIFT)) & I3C_MINTSET_COMPLETE_MASK) + +#define I3C_MINTSET_RXPEND_MASK (0x800U) +#define I3C_MINTSET_RXPEND_SHIFT (11U) +/*! RXPEND - Receive Pending Interrupt Enable */ +#define I3C_MINTSET_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_RXPEND_SHIFT)) & I3C_MINTSET_RXPEND_MASK) + +#define I3C_MINTSET_TXNOTFULL_MASK (0x1000U) +#define I3C_MINTSET_TXNOTFULL_SHIFT (12U) +/*! TXNOTFULL - Transmit Buffer/FIFO Not Full Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MINTSET_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_TXNOTFULL_SHIFT)) & I3C_MINTSET_TXNOTFULL_MASK) + +#define I3C_MINTSET_IBIWON_MASK (0x2000U) +#define I3C_MINTSET_IBIWON_SHIFT (13U) +/*! IBIWON - IBI Won Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MINTSET_IBIWON(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_IBIWON_SHIFT)) & I3C_MINTSET_IBIWON_MASK) + +#define I3C_MINTSET_ERRWARN_MASK (0x8000U) +#define I3C_MINTSET_ERRWARN_SHIFT (15U) +/*! ERRWARN - Error or Warning (ERRWARN) Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MINTSET_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_ERRWARN_SHIFT)) & I3C_MINTSET_ERRWARN_MASK) + +#define I3C_MINTSET_NOWMASTER_MASK (0x80000U) +#define I3C_MINTSET_NOWMASTER_SHIFT (19U) +/*! NOWMASTER - Now Controller Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MINTSET_NOWMASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTSET_NOWMASTER_SHIFT)) & I3C_MINTSET_NOWMASTER_MASK) +/*! @} */ + +/*! @name MINTCLR - Controller Interrupt Clear */ +/*! @{ */ + +#define I3C_MINTCLR_SLVSTART_MASK (0x100U) +#define I3C_MINTCLR_SLVSTART_SHIFT (8U) +/*! SLVSTART - SLVSTART Interrupt Enable Clear Flag + * 0b0..No effect + * 0b0..No effect + * 0b1..Interrupt enable cleared + * 0b1..Clear the flag + */ +#define I3C_MINTCLR_SLVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_SLVSTART_SHIFT)) & I3C_MINTCLR_SLVSTART_MASK) + +#define I3C_MINTCLR_MCTRLDONE_MASK (0x200U) +#define I3C_MINTCLR_MCTRLDONE_SHIFT (9U) +/*! MCTRLDONE - MCTRLDONE Interrupt Enable Clear Flag + * 0b0..No effect + * 0b0..No effect + * 0b1..Interrupt enable cleared + * 0b1..Clear the flag + */ +#define I3C_MINTCLR_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_MCTRLDONE_SHIFT)) & I3C_MINTCLR_MCTRLDONE_MASK) + +#define I3C_MINTCLR_COMPLETE_MASK (0x400U) +#define I3C_MINTCLR_COMPLETE_SHIFT (10U) +/*! COMPLETE - COMPLETE Interrupt Enable Clear Flag + * 0b0..No effect + * 0b0..No effect + * 0b1..Interrupt enable cleared + * 0b1..Clear the flag + */ +#define I3C_MINTCLR_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_COMPLETE_SHIFT)) & I3C_MINTCLR_COMPLETE_MASK) + +#define I3C_MINTCLR_RXPEND_MASK (0x800U) +#define I3C_MINTCLR_RXPEND_SHIFT (11U) +/*! RXPEND - RXPEND Interrupt Enable Clear Flag + * 0b0..No effect + * 0b0..No effect + * 0b1..Interrupt enable cleared + * 0b1..Clear the flag + */ +#define I3C_MINTCLR_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_RXPEND_SHIFT)) & I3C_MINTCLR_RXPEND_MASK) + +#define I3C_MINTCLR_TXNOTFULL_MASK (0x1000U) +#define I3C_MINTCLR_TXNOTFULL_SHIFT (12U) +/*! TXNOTFULL - TXNOTFULL Interrupt Enable Clear Flag + * 0b0..No effect + * 0b0..No effect + * 0b1..Interrupt enable cleared + * 0b1..Clear the flag + */ +#define I3C_MINTCLR_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_TXNOTFULL_SHIFT)) & I3C_MINTCLR_TXNOTFULL_MASK) + +#define I3C_MINTCLR_IBIWON_MASK (0x2000U) +#define I3C_MINTCLR_IBIWON_SHIFT (13U) +/*! IBIWON - IBIWON Interrupt Enable Clear Flag + * 0b0..No effect + * 0b0..No effect + * 0b1..Interrupt enable cleared + * 0b1..Clear the flag + */ +#define I3C_MINTCLR_IBIWON(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_IBIWON_SHIFT)) & I3C_MINTCLR_IBIWON_MASK) + +#define I3C_MINTCLR_ERRWARN_MASK (0x8000U) +#define I3C_MINTCLR_ERRWARN_SHIFT (15U) +/*! ERRWARN - ERRWARN Interrupt Enable Clear Flag + * 0b0..No effect + * 0b0..No effect + * 0b1..Interrupt enable cleared + * 0b1..Clear the flag + */ +#define I3C_MINTCLR_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_ERRWARN_SHIFT)) & I3C_MINTCLR_ERRWARN_MASK) + +#define I3C_MINTCLR_NOWMASTER_MASK (0x80000U) +#define I3C_MINTCLR_NOWMASTER_SHIFT (19U) +/*! NOWMASTER - NOWCONTROLLER Interrupt Enable Clear Flag + * 0b0..No effect + * 0b0..No effect + * 0b1..Interrupt enable cleared + * 0b1..Clear the flag + */ +#define I3C_MINTCLR_NOWMASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTCLR_NOWMASTER_SHIFT)) & I3C_MINTCLR_NOWMASTER_MASK) +/*! @} */ + +/*! @name MINTMASKED - Controller Interrupt Mask */ +/*! @{ */ + +#define I3C_MINTMASKED_SLVSTART_MASK (0x100U) +#define I3C_MINTMASKED_SLVSTART_SHIFT (8U) +/*! SLVSTART - SLVSTART Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_MINTMASKED_SLVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_SLVSTART_SHIFT)) & I3C_MINTMASKED_SLVSTART_MASK) + +#define I3C_MINTMASKED_MCTRLDONE_MASK (0x200U) +#define I3C_MINTMASKED_MCTRLDONE_SHIFT (9U) +/*! MCTRLDONE - MCTRLDONE Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_MINTMASKED_MCTRLDONE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_MCTRLDONE_SHIFT)) & I3C_MINTMASKED_MCTRLDONE_MASK) + +#define I3C_MINTMASKED_COMPLETE_MASK (0x400U) +#define I3C_MINTMASKED_COMPLETE_SHIFT (10U) +/*! COMPLETE - COMPLETE Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_MINTMASKED_COMPLETE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_COMPLETE_SHIFT)) & I3C_MINTMASKED_COMPLETE_MASK) + +#define I3C_MINTMASKED_RXPEND_MASK (0x800U) +#define I3C_MINTMASKED_RXPEND_SHIFT (11U) +/*! RXPEND - RXPEND Interrupt Mask */ +#define I3C_MINTMASKED_RXPEND(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_RXPEND_SHIFT)) & I3C_MINTMASKED_RXPEND_MASK) + +#define I3C_MINTMASKED_TXNOTFULL_MASK (0x1000U) +#define I3C_MINTMASKED_TXNOTFULL_SHIFT (12U) +/*! TXNOTFULL - TXNOTFULL Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_MINTMASKED_TXNOTFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_TXNOTFULL_SHIFT)) & I3C_MINTMASKED_TXNOTFULL_MASK) + +#define I3C_MINTMASKED_IBIWON_MASK (0x2000U) +#define I3C_MINTMASKED_IBIWON_SHIFT (13U) +/*! IBIWON - IBIWON Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_MINTMASKED_IBIWON(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_IBIWON_SHIFT)) & I3C_MINTMASKED_IBIWON_MASK) + +#define I3C_MINTMASKED_ERRWARN_MASK (0x8000U) +#define I3C_MINTMASKED_ERRWARN_SHIFT (15U) +/*! ERRWARN - ERRWARN Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_MINTMASKED_ERRWARN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_ERRWARN_SHIFT)) & I3C_MINTMASKED_ERRWARN_MASK) + +#define I3C_MINTMASKED_NOWMASTER_MASK (0x80000U) +#define I3C_MINTMASKED_NOWMASTER_SHIFT (19U) +/*! NOWMASTER - NOWCONTROLLER Interrupt Mask + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_MINTMASKED_NOWMASTER(x) (((uint32_t)(((uint32_t)(x)) << I3C_MINTMASKED_NOWMASTER_SHIFT)) & I3C_MINTMASKED_NOWMASTER_MASK) +/*! @} */ + +/*! @name MERRWARN - Controller Errors and Warnings */ +/*! @{ */ + +#define I3C_MERRWARN_URUN_MASK (0x2U) +#define I3C_MERRWARN_URUN_SHIFT (1U) +/*! URUN - Underrun Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_URUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_URUN_SHIFT)) & I3C_MERRWARN_URUN_MASK) + +#define I3C_MERRWARN_NACK_MASK (0x4U) +#define I3C_MERRWARN_NACK_SHIFT (2U) +/*! NACK - Not Acknowledge Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_NACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_NACK_SHIFT)) & I3C_MERRWARN_NACK_MASK) + +#define I3C_MERRWARN_WRABT_MASK (0x8U) +#define I3C_MERRWARN_WRABT_SHIFT (3U) +/*! WRABT - Write Abort Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_WRABT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_WRABT_SHIFT)) & I3C_MERRWARN_WRABT_MASK) + +#define I3C_MERRWARN_TERM_MASK (0x10U) +#define I3C_MERRWARN_TERM_SHIFT (4U) +/*! TERM - Terminate Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_TERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_TERM_SHIFT)) & I3C_MERRWARN_TERM_MASK) + +#define I3C_MERRWARN_HPAR_MASK (0x200U) +#define I3C_MERRWARN_HPAR_SHIFT (9U) +/*! HPAR - High Data Rate Parity Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_HPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_HPAR_SHIFT)) & I3C_MERRWARN_HPAR_MASK) + +#define I3C_MERRWARN_HCRC_MASK (0x400U) +#define I3C_MERRWARN_HCRC_SHIFT (10U) +/*! HCRC - High Data Rate CRC Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_HCRC(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_HCRC_SHIFT)) & I3C_MERRWARN_HCRC_MASK) + +#define I3C_MERRWARN_OREAD_MASK (0x10000U) +#define I3C_MERRWARN_OREAD_SHIFT (16U) +/*! OREAD - Overread Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_OREAD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_OREAD_SHIFT)) & I3C_MERRWARN_OREAD_MASK) + +#define I3C_MERRWARN_OWRITE_MASK (0x20000U) +#define I3C_MERRWARN_OWRITE_SHIFT (17U) +/*! OWRITE - Overwrite Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_OWRITE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_OWRITE_SHIFT)) & I3C_MERRWARN_OWRITE_MASK) + +#define I3C_MERRWARN_MSGERR_MASK (0x40000U) +#define I3C_MERRWARN_MSGERR_SHIFT (18U) +/*! MSGERR - Message Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_MSGERR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_MSGERR_SHIFT)) & I3C_MERRWARN_MSGERR_MASK) + +#define I3C_MERRWARN_INVREQ_MASK (0x80000U) +#define I3C_MERRWARN_INVREQ_SHIFT (19U) +/*! INVREQ - Invalid Request Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_INVREQ(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_INVREQ_SHIFT)) & I3C_MERRWARN_INVREQ_MASK) + +#define I3C_MERRWARN_TIMEOUT_MASK (0x100000U) +#define I3C_MERRWARN_TIMEOUT_SHIFT (20U) +/*! TIMEOUT - Timeout Error Flag + * 0b0..No error + * 0b0..No effect + * 0b1..Error + * 0b1..Clear the flag + */ +#define I3C_MERRWARN_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MERRWARN_TIMEOUT_SHIFT)) & I3C_MERRWARN_TIMEOUT_MASK) +/*! @} */ + +/*! @name MDMACTRL - Controller DMA Control */ +/*! @{ */ + +#define I3C_MDMACTRL_DMAFB_MASK (0x3U) +#define I3C_MDMACTRL_DMAFB_SHIFT (0U) +/*! DMAFB - DMA from Bus + * 0b00..DMA not used + * 0b01..Enable DMA for one frame + * 0b10..Enable DMA until DMA is turned off + * 0b11.. + */ +#define I3C_MDMACTRL_DMAFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMAFB_SHIFT)) & I3C_MDMACTRL_DMAFB_MASK) + +#define I3C_MDMACTRL_DMATB_MASK (0xCU) +#define I3C_MDMACTRL_DMATB_SHIFT (2U) +/*! DMATB - DMA to Bus + * 0b00..DMA not used + * 0b01..Enable DMA for one frame (ended by DMA or terminated) + * 0b10..Enable DMA until DMA is turned off + * 0b11.. + */ +#define I3C_MDMACTRL_DMATB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMATB_SHIFT)) & I3C_MDMACTRL_DMATB_MASK) + +#define I3C_MDMACTRL_DMAWIDTH_MASK (0x30U) +#define I3C_MDMACTRL_DMAWIDTH_SHIFT (4U) +/*! DMAWIDTH - DMA Width + * 0b00, 0b01..Byte + * 0b10..Halfword (16 bits) + * 0b11.. + */ +#define I3C_MDMACTRL_DMAWIDTH(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_DMAWIDTH_SHIFT)) & I3C_MDMACTRL_DMAWIDTH_MASK) + +#define I3C_MDMACTRL_BULKFB_MASK (0x40U) +#define I3C_MDMACTRL_BULKFB_SHIFT (6U) +/*! BULKFB - Bulk Transfer from Bus + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MDMACTRL_BULKFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_BULKFB_SHIFT)) & I3C_MDMACTRL_BULKFB_MASK) + +#define I3C_MDMACTRL_BULKTB_MASK (0x80U) +#define I3C_MDMACTRL_BULKTB_SHIFT (7U) +/*! BULKTB - Bulk Transfer to Bus + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_MDMACTRL_BULKTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDMACTRL_BULKTB_SHIFT)) & I3C_MDMACTRL_BULKTB_MASK) +/*! @} */ + +/*! @name MDATACTRL - Controller Data Control */ +/*! @{ */ + +#define I3C_MDATACTRL_FLUSHTB_MASK (0x1U) +#define I3C_MDATACTRL_FLUSHTB_SHIFT (0U) +/*! FLUSHTB - Flush To-Bus Buffer or FIFO + * 0b0..No action + * 0b1..Flush the buffer + */ +#define I3C_MDATACTRL_FLUSHTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_FLUSHTB_SHIFT)) & I3C_MDATACTRL_FLUSHTB_MASK) + +#define I3C_MDATACTRL_FLUSHFB_MASK (0x2U) +#define I3C_MDATACTRL_FLUSHFB_SHIFT (1U) +/*! FLUSHFB - Flush From-Bus Buffer or FIFO + * 0b0..No action + * 0b1..Flush the buffer + */ +#define I3C_MDATACTRL_FLUSHFB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_FLUSHFB_SHIFT)) & I3C_MDATACTRL_FLUSHFB_MASK) + +#define I3C_MDATACTRL_UNLOCK_MASK (0x8U) +#define I3C_MDATACTRL_UNLOCK_SHIFT (3U) +/*! UNLOCK - Unlock + * 0b0..Locked + * 0b1..Unlocked + */ +#define I3C_MDATACTRL_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_UNLOCK_SHIFT)) & I3C_MDATACTRL_UNLOCK_MASK) + +#define I3C_MDATACTRL_TXTRIG_MASK (0x30U) +#define I3C_MDATACTRL_TXTRIG_SHIFT (4U) +/*! TXTRIG - Transmit Trigger Level + * 0b00..Trigger when empty + * 0b01..Trigger when 1/4 full or less + * 0b10..Trigger when 1/2 full or less + * 0b11..Trigger when 1 less than full or less (default) + */ +#define I3C_MDATACTRL_TXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXTRIG_SHIFT)) & I3C_MDATACTRL_TXTRIG_MASK) + +#define I3C_MDATACTRL_RXTRIG_MASK (0xC0U) +#define I3C_MDATACTRL_RXTRIG_SHIFT (6U) +/*! RXTRIG - Receive Trigger Level + * 0b00..Trigger when not empty (default) + * 0b01..Trigger when 1/4 full or more + * 0b10..Trigger when 1/2 full or more + * 0b11..Trigger when 3/4 full or more + */ +#define I3C_MDATACTRL_RXTRIG(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXTRIG_SHIFT)) & I3C_MDATACTRL_RXTRIG_MASK) + +#define I3C_MDATACTRL_TXCOUNT_MASK (0x1F0000U) +#define I3C_MDATACTRL_TXCOUNT_SHIFT (16U) +/*! TXCOUNT - Transmit Byte Count */ +#define I3C_MDATACTRL_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXCOUNT_SHIFT)) & I3C_MDATACTRL_TXCOUNT_MASK) + +#define I3C_MDATACTRL_RXCOUNT_MASK (0x1F000000U) +#define I3C_MDATACTRL_RXCOUNT_SHIFT (24U) +/*! RXCOUNT - Receive Byte Count */ +#define I3C_MDATACTRL_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXCOUNT_SHIFT)) & I3C_MDATACTRL_RXCOUNT_MASK) + +#define I3C_MDATACTRL_TXFULL_MASK (0x40000000U) +#define I3C_MDATACTRL_TXFULL_SHIFT (30U) +/*! TXFULL - Transmit is Full + * 0b0..Not full + * 0b1..Full + */ +#define I3C_MDATACTRL_TXFULL(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_TXFULL_SHIFT)) & I3C_MDATACTRL_TXFULL_MASK) + +#define I3C_MDATACTRL_RXEMPTY_MASK (0x80000000U) +#define I3C_MDATACTRL_RXEMPTY_SHIFT (31U) +/*! RXEMPTY - Receive is Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define I3C_MDATACTRL_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDATACTRL_RXEMPTY_SHIFT)) & I3C_MDATACTRL_RXEMPTY_MASK) +/*! @} */ + +/*! @name MWDATAB - Controller Write Data Byte */ +/*! @{ */ + +#define I3C_MWDATAB_VALUE_MASK (0xFFU) +#define I3C_MWDATAB_VALUE_SHIFT (0U) +/*! VALUE - Data Byte */ +#define I3C_MWDATAB_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_VALUE_SHIFT)) & I3C_MWDATAB_VALUE_MASK) + +#define I3C_MWDATAB_END_MASK (0x100U) +#define I3C_MWDATAB_END_SHIFT (8U) +/*! END - End of Message + * 0b0..Not the end + * 0b1..End + */ +#define I3C_MWDATAB_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_END_SHIFT)) & I3C_MWDATAB_END_MASK) + +#define I3C_MWDATAB_END_ALSO_MASK (0x10000U) +#define I3C_MWDATAB_END_ALSO_SHIFT (16U) +/*! END_ALSO - End of Message ALSO + * 0b0..Not the end + * 0b1..End + */ +#define I3C_MWDATAB_END_ALSO(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB_END_ALSO_SHIFT)) & I3C_MWDATAB_END_ALSO_MASK) +/*! @} */ + +/*! @name MWDATABE - Controller Write Data Byte End */ +/*! @{ */ + +#define I3C_MWDATABE_VALUE_MASK (0xFFU) +#define I3C_MWDATABE_VALUE_SHIFT (0U) +/*! VALUE - Data */ +#define I3C_MWDATABE_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATABE_VALUE_SHIFT)) & I3C_MWDATABE_VALUE_MASK) +/*! @} */ + +/*! @name MWDATAH - Controller Write Data Halfword */ +/*! @{ */ + +#define I3C_MWDATAH_DATA0_MASK (0xFFU) +#define I3C_MWDATAH_DATA0_SHIFT (0U) +/*! DATA0 - Data Byte 0 */ +#define I3C_MWDATAH_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_DATA0_SHIFT)) & I3C_MWDATAH_DATA0_MASK) + +#define I3C_MWDATAH_DATA1_MASK (0xFF00U) +#define I3C_MWDATAH_DATA1_SHIFT (8U) +/*! DATA1 - Data Byte 1 */ +#define I3C_MWDATAH_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_DATA1_SHIFT)) & I3C_MWDATAH_DATA1_MASK) + +#define I3C_MWDATAH_END_MASK (0x10000U) +#define I3C_MWDATAH_END_SHIFT (16U) +/*! END - End of Message + * 0b0..Not the end + * 0b1..End + */ +#define I3C_MWDATAH_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH_END_SHIFT)) & I3C_MWDATAH_END_MASK) +/*! @} */ + +/*! @name MWDATAHE - Controller Write Data Halfword End */ +/*! @{ */ + +#define I3C_MWDATAHE_DATA0_MASK (0xFFU) +#define I3C_MWDATAHE_DATA0_SHIFT (0U) +/*! DATA0 - Data Byte 0 */ +#define I3C_MWDATAHE_DATA0(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAHE_DATA0_SHIFT)) & I3C_MWDATAHE_DATA0_MASK) + +#define I3C_MWDATAHE_DATA1_MASK (0xFF00U) +#define I3C_MWDATAHE_DATA1_SHIFT (8U) +/*! DATA1 - Data Byte 1 */ +#define I3C_MWDATAHE_DATA1(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAHE_DATA1_SHIFT)) & I3C_MWDATAHE_DATA1_MASK) +/*! @} */ + +/*! @name MRDATAB - Controller Read Data Byte */ +/*! @{ */ + +#define I3C_MRDATAB_VALUE_MASK (0xFFU) +#define I3C_MRDATAB_VALUE_SHIFT (0U) +/*! VALUE - Value */ +#define I3C_MRDATAB_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAB_VALUE_SHIFT)) & I3C_MRDATAB_VALUE_MASK) +/*! @} */ + +/*! @name MRDATAH - Controller Read Data Halfword */ +/*! @{ */ + +#define I3C_MRDATAH_LSB_MASK (0xFFU) +#define I3C_MRDATAH_LSB_SHIFT (0U) +/*! LSB - Low Byte */ +#define I3C_MRDATAH_LSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAH_LSB_SHIFT)) & I3C_MRDATAH_LSB_MASK) + +#define I3C_MRDATAH_MSB_MASK (0xFF00U) +#define I3C_MRDATAH_MSB_SHIFT (8U) +/*! MSB - High Byte */ +#define I3C_MRDATAH_MSB(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRDATAH_MSB_SHIFT)) & I3C_MRDATAH_MSB_MASK) +/*! @} */ + +/*! @name MWDATAB1 - Controller Write Byte Data 1 (to Bus) */ +/*! @{ */ + +#define I3C_MWDATAB1_VALUE_MASK (0xFFU) +#define I3C_MWDATAB1_VALUE_SHIFT (0U) +/*! VALUE - Value */ +#define I3C_MWDATAB1_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAB1_VALUE_SHIFT)) & I3C_MWDATAB1_VALUE_MASK) +/*! @} */ + +/*! @name MWDATAH1 - Controller Write Halfword Data (to Bus) */ +/*! @{ */ + +#define I3C_MWDATAH1_VALUE_MASK (0xFFFFU) +#define I3C_MWDATAH1_VALUE_SHIFT (0U) +/*! VALUE - Value */ +#define I3C_MWDATAH1_VALUE(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWDATAH1_VALUE_SHIFT)) & I3C_MWDATAH1_VALUE_MASK) +/*! @} */ + +/*! @name MWMSG_SDR_CONTROL - Controller Write Message Control in SDR mode */ +/*! @{ */ + +#define I3C_MWMSG_SDR_CONTROL_DIR_MASK (0x1U) +#define I3C_MWMSG_SDR_CONTROL_DIR_SHIFT (0U) +/*! DIR - Direction + * 0b0..Write + * 0b1..Read + */ +#define I3C_MWMSG_SDR_CONTROL_DIR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_DIR_SHIFT)) & I3C_MWMSG_SDR_CONTROL_DIR_MASK) + +#define I3C_MWMSG_SDR_CONTROL_ADDR_MASK (0xFEU) +#define I3C_MWMSG_SDR_CONTROL_ADDR_SHIFT (1U) +/*! ADDR - Address */ +#define I3C_MWMSG_SDR_CONTROL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_ADDR_SHIFT)) & I3C_MWMSG_SDR_CONTROL_ADDR_MASK) + +#define I3C_MWMSG_SDR_CONTROL_END_MASK (0x100U) +#define I3C_MWMSG_SDR_CONTROL_END_SHIFT (8U) +/*! END - End of SDR Message + * 0b0..Not the end + * 0b1..End + */ +#define I3C_MWMSG_SDR_CONTROL_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_END_SHIFT)) & I3C_MWMSG_SDR_CONTROL_END_MASK) + +#define I3C_MWMSG_SDR_CONTROL_I2C_MASK (0x400U) +#define I3C_MWMSG_SDR_CONTROL_I2C_SHIFT (10U) +/*! I2C - I2C + * 0b0..I3C message + * 0b1..I2C message + */ +#define I3C_MWMSG_SDR_CONTROL_I2C(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_I2C_SHIFT)) & I3C_MWMSG_SDR_CONTROL_I2C_MASK) + +#define I3C_MWMSG_SDR_CONTROL_LEN_MASK (0xF800U) +#define I3C_MWMSG_SDR_CONTROL_LEN_SHIFT (11U) +/*! LEN - Length */ +#define I3C_MWMSG_SDR_CONTROL_LEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_CONTROL_LEN_SHIFT)) & I3C_MWMSG_SDR_CONTROL_LEN_MASK) +/*! @} */ + +/*! @name MWMSG_SDR_DATA - Controller Write Message Data in SDR mode */ +/*! @{ */ + +#define I3C_MWMSG_SDR_DATA_DATA16B_MASK (0xFFFFU) +#define I3C_MWMSG_SDR_DATA_DATA16B_SHIFT (0U) +/*! DATA16B - Data */ +#define I3C_MWMSG_SDR_DATA_DATA16B(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_SDR_DATA_DATA16B_SHIFT)) & I3C_MWMSG_SDR_DATA_DATA16B_MASK) +/*! @} */ + +/*! @name MRMSG_SDR - Controller Read Message in SDR mode */ +/*! @{ */ + +#define I3C_MRMSG_SDR_DATA_MASK (0xFFFFU) +#define I3C_MRMSG_SDR_DATA_SHIFT (0U) +/*! DATA - Data */ +#define I3C_MRMSG_SDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRMSG_SDR_DATA_SHIFT)) & I3C_MRMSG_SDR_DATA_MASK) +/*! @} */ + +/*! @name MWMSG_DDR_CONTROL - Controller Write Message in DDR mode: First Control Word */ +/*! @{ */ + +#define I3C_MWMSG_DDR_CONTROL_ADDRCMD_MASK (0xFFFFU) +#define I3C_MWMSG_DDR_CONTROL_ADDRCMD_SHIFT (0U) +/*! ADDRCMD - Address Command */ +#define I3C_MWMSG_DDR_CONTROL_ADDRCMD(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_DDR_CONTROL_ADDRCMD_SHIFT)) & I3C_MWMSG_DDR_CONTROL_ADDRCMD_MASK) +/*! @} */ + +/*! @name MWMSG_DDR_CONTROL2 - Controller Write Message in DDR Mode Control 2 */ +/*! @{ */ + +#define I3C_MWMSG_DDR_CONTROL2_LEN_MASK (0x3FFU) +#define I3C_MWMSG_DDR_CONTROL2_LEN_SHIFT (0U) +/*! LEN - Length of Message */ +#define I3C_MWMSG_DDR_CONTROL2_LEN(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_DDR_CONTROL2_LEN_SHIFT)) & I3C_MWMSG_DDR_CONTROL2_LEN_MASK) + +#define I3C_MWMSG_DDR_CONTROL2_END_MASK (0x4000U) +#define I3C_MWMSG_DDR_CONTROL2_END_SHIFT (14U) +/*! END - End of Message + * 0b0..Not the end + * 0b1..End + */ +#define I3C_MWMSG_DDR_CONTROL2_END(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_DDR_CONTROL2_END_SHIFT)) & I3C_MWMSG_DDR_CONTROL2_END_MASK) +/*! @} */ + +/*! @name MWMSG_DDR_DATA - Controller Write Message Data in DDR mode */ +/*! @{ */ + +#define I3C_MWMSG_DDR_DATA_DATA16B_MASK (0xFFFFU) +#define I3C_MWMSG_DDR_DATA_DATA16B_SHIFT (0U) +/*! DATA16B - Data */ +#define I3C_MWMSG_DDR_DATA_DATA16B(x) (((uint32_t)(((uint32_t)(x)) << I3C_MWMSG_DDR_DATA_DATA16B_SHIFT)) & I3C_MWMSG_DDR_DATA_DATA16B_MASK) +/*! @} */ + +/*! @name MRMSG_DDR - Controller Read Message in DDR mode */ +/*! @{ */ + +#define I3C_MRMSG_DDR_DATA_MASK (0xFFFFU) +#define I3C_MRMSG_DDR_DATA_SHIFT (0U) +/*! DATA - Data */ +#define I3C_MRMSG_DDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << I3C_MRMSG_DDR_DATA_SHIFT)) & I3C_MRMSG_DDR_DATA_MASK) +/*! @} */ + +/*! @name MDYNADDR - Controller Dynamic Address */ +/*! @{ */ + +#define I3C_MDYNADDR_DAVALID_MASK (0x1U) +#define I3C_MDYNADDR_DAVALID_SHIFT (0U) +/*! DAVALID - Dynamic Address Valid + * 0b0..No valid DA assigned + * 0b1..Valid DA assigned + */ +#define I3C_MDYNADDR_DAVALID(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDYNADDR_DAVALID_SHIFT)) & I3C_MDYNADDR_DAVALID_MASK) + +#define I3C_MDYNADDR_DADDR_MASK (0xFEU) +#define I3C_MDYNADDR_DADDR_SHIFT (1U) +/*! DADDR - Dynamic Address */ +#define I3C_MDYNADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_MDYNADDR_DADDR_SHIFT)) & I3C_MDYNADDR_DADDR_MASK) +/*! @} */ + +/*! @name SRSTACTTIME - Timing Rules for Target Reset Recovery */ +/*! @{ */ + +#define I3C_SRSTACTTIME_PERRSTTIM_MASK (0xFFU) +#define I3C_SRSTACTTIME_PERRSTTIM_SHIFT (0U) +/*! PERRSTTIM - Time to Recover from the I3C Peripheral */ +#define I3C_SRSTACTTIME_PERRSTTIM(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRSTACTTIME_PERRSTTIM_SHIFT)) & I3C_SRSTACTTIME_PERRSTTIM_MASK) + +#define I3C_SRSTACTTIME_SYSRSTTIM_MASK (0xFF00U) +#define I3C_SRSTACTTIME_SYSRSTTIM_SHIFT (8U) +/*! SYSRSTTIM - Time to Recover from Chip Reset */ +#define I3C_SRSTACTTIME_SYSRSTTIM(x) (((uint32_t)(((uint32_t)(x)) << I3C_SRSTACTTIME_SYSRSTTIM_SHIFT)) & I3C_SRSTACTTIME_SYSRSTTIM_MASK) +/*! @} */ + +/*! @name SCCCMASK - CCC Mask for Unhandled CCCs */ +/*! @{ */ + +#define I3C_SCCCMASK_BASE_MASK (0x1U) +#define I3C_SCCCMASK_BASE_SHIFT (0U) +/*! BASE - Base + * 0b0..Suppressed + * 0b1..Passed to application + */ +#define I3C_SCCCMASK_BASE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCCCMASK_BASE_SHIFT)) & I3C_SCCCMASK_BASE_MASK) + +#define I3C_SCCCMASK_BASEBX_MASK (0x2U) +#define I3C_SCCCMASK_BASEBX_SHIFT (1U) +/*! BASEBX - BASEBX + * 0b0..Suppressed + * 0b1..Passed to application + */ +#define I3C_SCCCMASK_BASEBX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCCCMASK_BASEBX_SHIFT)) & I3C_SCCCMASK_BASEBX_MASK) + +#define I3C_SCCCMASK_BASEDX_MASK (0x4U) +#define I3C_SCCCMASK_BASEDX_SHIFT (2U) +/*! BASEDX - BASEDX + * 0b0..Suppressed + * 0b1..Passed to application + */ +#define I3C_SCCCMASK_BASEDX(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCCCMASK_BASEDX_SHIFT)) & I3C_SCCCMASK_BASEDX_MASK) + +#define I3C_SCCCMASK_MEXTB_MASK (0x8U) +#define I3C_SCCCMASK_MEXTB_SHIFT (3U) +/*! MEXTB - MEXTB + * 0b0..Suppressed + * 0b1..Passed to application + */ +#define I3C_SCCCMASK_MEXTB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCCCMASK_MEXTB_SHIFT)) & I3C_SCCCMASK_MEXTB_MASK) + +#define I3C_SCCCMASK_MEXTD_MASK (0x10U) +#define I3C_SCCCMASK_MEXTD_SHIFT (4U) +/*! MEXTD - MEXTD + * 0b0..Suppressed + * 0b1..Passed to application + */ +#define I3C_SCCCMASK_MEXTD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCCCMASK_MEXTD_SHIFT)) & I3C_SCCCMASK_MEXTD_MASK) + +#define I3C_SCCCMASK_VENDB_MASK (0x20U) +#define I3C_SCCCMASK_VENDB_SHIFT (5U) +/*! VENDB - VENDB + * 0b0..Suppressed + * 0b1..Passed to application + */ +#define I3C_SCCCMASK_VENDB(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCCCMASK_VENDB_SHIFT)) & I3C_SCCCMASK_VENDB_MASK) + +#define I3C_SCCCMASK_VENDD_MASK (0x40U) +#define I3C_SCCCMASK_VENDD_SHIFT (6U) +/*! VENDD - VENDD + * 0b0..Suppressed + * 0b1..Passed to application + */ +#define I3C_SCCCMASK_VENDD(x) (((uint32_t)(((uint32_t)(x)) << I3C_SCCCMASK_VENDD_SHIFT)) & I3C_SCCCMASK_VENDD_MASK) +/*! @} */ + +/*! @name SERRWARNMASK - Target Errors and Warnings Mask */ +/*! @{ */ + +#define I3C_SERRWARNMASK_ORUN_MASK (0x1U) +#define I3C_SERRWARNMASK_ORUN_SHIFT (0U) +/*! ORUN - ORUN Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_ORUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_ORUN_SHIFT)) & I3C_SERRWARNMASK_ORUN_MASK) + +#define I3C_SERRWARNMASK_URUN_MASK (0x2U) +#define I3C_SERRWARNMASK_URUN_SHIFT (1U) +/*! URUN - URUN Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_URUN(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_URUN_SHIFT)) & I3C_SERRWARNMASK_URUN_MASK) + +#define I3C_SERRWARNMASK_URUNNACK_MASK (0x4U) +#define I3C_SERRWARNMASK_URUNNACK_SHIFT (2U) +/*! URUNNACK - URUNNACK Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_URUNNACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_URUNNACK_SHIFT)) & I3C_SERRWARNMASK_URUNNACK_MASK) + +#define I3C_SERRWARNMASK_TERM_MASK (0x8U) +#define I3C_SERRWARNMASK_TERM_SHIFT (3U) +/*! TERM - TERM Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_TERM(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_TERM_SHIFT)) & I3C_SERRWARNMASK_TERM_MASK) + +#define I3C_SERRWARNMASK_INVSTART_MASK (0x10U) +#define I3C_SERRWARNMASK_INVSTART_SHIFT (4U) +/*! INVSTART - INVSTART Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_INVSTART(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_INVSTART_SHIFT)) & I3C_SERRWARNMASK_INVSTART_MASK) + +#define I3C_SERRWARNMASK_SPAR_MASK (0x100U) +#define I3C_SERRWARNMASK_SPAR_SHIFT (8U) +/*! SPAR - SPAR Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_SPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_SPAR_SHIFT)) & I3C_SERRWARNMASK_SPAR_MASK) + +#define I3C_SERRWARNMASK_HPAR_MASK (0x200U) +#define I3C_SERRWARNMASK_HPAR_SHIFT (9U) +/*! HPAR - HPAR Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_HPAR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_HPAR_SHIFT)) & I3C_SERRWARNMASK_HPAR_MASK) + +#define I3C_SERRWARNMASK_HCRC_MASK (0x400U) +#define I3C_SERRWARNMASK_HCRC_SHIFT (10U) +/*! HCRC - HCRC Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_HCRC(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_HCRC_SHIFT)) & I3C_SERRWARNMASK_HCRC_MASK) + +#define I3C_SERRWARNMASK_S0S1_MASK (0x800U) +#define I3C_SERRWARNMASK_S0S1_SHIFT (11U) +/*! S0S1 - S0S1 Mask + * 0b0..Deny + * 0b1..Allow + */ +#define I3C_SERRWARNMASK_S0S1(x) (((uint32_t)(((uint32_t)(x)) << I3C_SERRWARNMASK_S0S1_SHIFT)) & I3C_SERRWARNMASK_S0S1_MASK) +/*! @} */ + +/*! @name SMAPCTRL0 - Map Feature Control 0 */ +/*! @{ */ + +#define I3C_SMAPCTRL0_ENA_MASK (0x1U) +#define I3C_SMAPCTRL0_ENA_SHIFT (0U) +/*! ENA - Enable Primary Dynamic Address + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_SMAPCTRL0_ENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL0_ENA_SHIFT)) & I3C_SMAPCTRL0_ENA_MASK) + +#define I3C_SMAPCTRL0_DA_MASK (0xFEU) +#define I3C_SMAPCTRL0_DA_SHIFT (1U) +/*! DA - Dynamic Address */ +#define I3C_SMAPCTRL0_DA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL0_DA_SHIFT)) & I3C_SMAPCTRL0_DA_MASK) + +#define I3C_SMAPCTRL0_CAUSE_MASK (0x700U) +#define I3C_SMAPCTRL0_CAUSE_SHIFT (8U) +/*! CAUSE - Cause + * 0b000..No information (this value occurs when not configured to write DA) + * 0b001..Set using ENTDAA + * 0b010..Set using SETDASA, SETAASA, or SETNEWDA + * 0b011..Cleared using RSTDAA + * 0b100..Auto MAP change happened last + */ +#define I3C_SMAPCTRL0_CAUSE(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL0_CAUSE_SHIFT)) & I3C_SMAPCTRL0_CAUSE_MASK) +/*! @} */ + +/*! @name SMAPCTRL1 - Map Feature Control 1 */ +/*! @{ */ + +#define I3C_SMAPCTRL1_ENA_MASK (0x1U) +#define I3C_SMAPCTRL1_ENA_SHIFT (0U) +/*! ENA - Enable + * 0b0..Disable + * 0b1..Enable + */ +#define I3C_SMAPCTRL1_ENA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_ENA_SHIFT)) & I3C_SMAPCTRL1_ENA_MASK) + +#define I3C_SMAPCTRL1_ADDR_MASK (0xFEU) +#define I3C_SMAPCTRL1_ADDR_SHIFT (1U) +/*! ADDR - Address */ +#define I3C_SMAPCTRL1_ADDR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_ADDR_SHIFT)) & I3C_SMAPCTRL1_ADDR_MASK) + +#define I3C_SMAPCTRL1_MAPSA_MASK (0x100U) +#define I3C_SMAPCTRL1_MAPSA_SHIFT (8U) +/*! MAPSA - MAP Static Address + * 0b0..I3C dynamic address + * 0b1..Static address (I2C style) + */ +#define I3C_SMAPCTRL1_MAPSA(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_MAPSA_SHIFT)) & I3C_SMAPCTRL1_MAPSA_MASK) + +#define I3C_SMAPCTRL1_SA10B_MASK (0xE00U) +#define I3C_SMAPCTRL1_SA10B_SHIFT (9U) +/*! SA10B - Static Address 10-Bit Extension */ +#define I3C_SMAPCTRL1_SA10B(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_SA10B_SHIFT)) & I3C_SMAPCTRL1_SA10B_MASK) + +#define I3C_SMAPCTRL1_NACK_MASK (0x1000U) +#define I3C_SMAPCTRL1_NACK_SHIFT (12U) +/*! NACK - Not Acknowledged + * 0b0..Do not always NACK messages + * 0b1..Always NACK messages + */ +#define I3C_SMAPCTRL1_NACK(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_NACK_SHIFT)) & I3C_SMAPCTRL1_NACK_MASK) + +#define I3C_SMAPCTRL1_AUTO_MASK (0x2000U) +#define I3C_SMAPCTRL1_AUTO_SHIFT (13U) +/*! AUTO - Auto DAA + * 0b0..Disabled + * 0b1..Enabled + */ +#define I3C_SMAPCTRL1_AUTO(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_AUTO_SHIFT)) & I3C_SMAPCTRL1_AUTO_MASK) + +#define I3C_SMAPCTRL1_DCR_MASK (0xFF000000U) +#define I3C_SMAPCTRL1_DCR_SHIFT (24U) +/*! DCR - DCR */ +#define I3C_SMAPCTRL1_DCR(x) (((uint32_t)(((uint32_t)(x)) << I3C_SMAPCTRL1_DCR_SHIFT)) & I3C_SMAPCTRL1_DCR_MASK) +/*! @} */ + +/*! @name IBIEXT1 - Extended IBI Data 1 */ +/*! @{ */ + +#define I3C_IBIEXT1_CNT_MASK (0x7U) +#define I3C_IBIEXT1_CNT_SHIFT (0U) +/*! CNT - Count */ +#define I3C_IBIEXT1_CNT(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT1_CNT_SHIFT)) & I3C_IBIEXT1_CNT_MASK) + +#define I3C_IBIEXT1_MAX_MASK (0x70U) +#define I3C_IBIEXT1_MAX_SHIFT (4U) +/*! MAX - Maximum */ +#define I3C_IBIEXT1_MAX(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT1_MAX_SHIFT)) & I3C_IBIEXT1_MAX_MASK) + +#define I3C_IBIEXT1_EXT1_MASK (0xFF00U) +#define I3C_IBIEXT1_EXT1_SHIFT (8U) +/*! EXT1 - Extra Byte 1 */ +#define I3C_IBIEXT1_EXT1(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT1_EXT1_SHIFT)) & I3C_IBIEXT1_EXT1_MASK) + +#define I3C_IBIEXT1_EXT2_MASK (0xFF0000U) +#define I3C_IBIEXT1_EXT2_SHIFT (16U) +/*! EXT2 - Extra Byte 2 */ +#define I3C_IBIEXT1_EXT2(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT1_EXT2_SHIFT)) & I3C_IBIEXT1_EXT2_MASK) + +#define I3C_IBIEXT1_EXT3_MASK (0xFF000000U) +#define I3C_IBIEXT1_EXT3_SHIFT (24U) +/*! EXT3 - Extra Byte 3 */ +#define I3C_IBIEXT1_EXT3(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT1_EXT3_SHIFT)) & I3C_IBIEXT1_EXT3_MASK) +/*! @} */ + +/*! @name IBIEXT2 - Extended IBI Data 2 */ +/*! @{ */ + +#define I3C_IBIEXT2_EXT4_MASK (0xFFU) +#define I3C_IBIEXT2_EXT4_SHIFT (0U) +/*! EXT4 - Extra Byte 4 */ +#define I3C_IBIEXT2_EXT4(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT2_EXT4_SHIFT)) & I3C_IBIEXT2_EXT4_MASK) + +#define I3C_IBIEXT2_EXT5_MASK (0xFF00U) +#define I3C_IBIEXT2_EXT5_SHIFT (8U) +/*! EXT5 - Extra Byte 5 */ +#define I3C_IBIEXT2_EXT5(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT2_EXT5_SHIFT)) & I3C_IBIEXT2_EXT5_MASK) + +#define I3C_IBIEXT2_EXT6_MASK (0xFF0000U) +#define I3C_IBIEXT2_EXT6_SHIFT (16U) +/*! EXT6 - Extra Byte 6 */ +#define I3C_IBIEXT2_EXT6(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT2_EXT6_SHIFT)) & I3C_IBIEXT2_EXT6_MASK) + +#define I3C_IBIEXT2_EXT7_MASK (0xFF000000U) +#define I3C_IBIEXT2_EXT7_SHIFT (24U) +/*! EXT7 - Extra Byte 7 */ +#define I3C_IBIEXT2_EXT7(x) (((uint32_t)(((uint32_t)(x)) << I3C_IBIEXT2_EXT7_SHIFT)) & I3C_IBIEXT2_EXT7_MASK) +/*! @} */ + +/*! @name SELFRESET - Self Reset */ +/*! @{ */ + +#define I3C_SELFRESET_RST_MASK (0x1U) +#define I3C_SELFRESET_RST_SHIFT (0U) +/*! RST - Reset + * 0b0..No reset + * 0b1..Reset + */ +#define I3C_SELFRESET_RST(x) (((uint32_t)(((uint32_t)(x)) << I3C_SELFRESET_RST_SHIFT)) & I3C_SELFRESET_RST_MASK) + +#define I3C_SELFRESET_KEY_MASK (0xFFFFFF00U) +#define I3C_SELFRESET_KEY_SHIFT (8U) +/*! KEY - Key */ +#define I3C_SELFRESET_KEY(x) (((uint32_t)(((uint32_t)(x)) << I3C_SELFRESET_KEY_SHIFT)) & I3C_SELFRESET_KEY_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group I3C_Register_Masks */ + + +/* I3C - Peripheral instance base addresses */ +/** Peripheral I3C1 base address */ +#define I3C1_BASE (0x44330000u) +/** Peripheral I3C1 base pointer */ +#define I3C1 ((I3C_Type *)I3C1_BASE) +/** Peripheral I3C2 base address */ +#define I3C2_BASE (0x42520000u) +/** Peripheral I3C2 base pointer */ +#define I3C2 ((I3C_Type *)I3C2_BASE) +/** Array initializer of I3C peripheral base addresses */ +#define I3C_BASE_ADDRS { 0u, I3C1_BASE, I3C2_BASE } +/** Array initializer of I3C peripheral base pointers */ +#define I3C_BASE_PTRS { (I3C_Type *)0u, I3C1, I3C2 } +/** Interrupt vectors for the I3C peripheral type */ +#define I3C_IRQS { NotAvail_IRQn, I3C1_IRQn, I3C2_IRQn } + +/*! + * @} + */ /* end of group I3C_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- IOMUXC1 Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup IOMUXC1_Peripheral_Access_Layer IOMUXC1 Peripheral Access Layer + * @{ + */ + +/** IOMUXC1 - Register Layout Typedef */ +typedef struct { + __IO uint32_t SW_MUX_CTL_PAD[108]; /**< SW_MUX_CTL_PAD_DAP_TDI SW MUX Control Register..SW_MUX_CTL_PAD_WDOG_ANY SW MUX Control Register, array offset: 0x0, array step: 0x4 */ + __IO uint32_t SW_PAD_CTL_PAD[108]; /**< SW_PAD_CTL_PAD_DAP_TDI SW PAD Control Register..SW_PAD_CTL_PAD_WDOG_ANY SW PAD Control Register, array offset: 0x1B0, array step: 0x4 */ + __IO uint32_t SELECT_INPUT[104]; /**< CAN1_IPP_IND_CANRX_SELECT_INPUT DAISY Register..USDHC3_IPP_DAT3_IN_SELECT_INPUT DAISY Register, array offset: 0x360, array step: 0x4 */ +} IOMUXC1_Type; + +/* ---------------------------------------------------------------------------- + -- IOMUXC1 Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup IOMUXC1_Register_Masks IOMUXC1 Register Masks + * @{ + */ + +/*! @name SW_MUX_CTL_PAD - SW_MUX_CTL_PAD_DAP_TDI SW MUX Control Register..SW_MUX_CTL_PAD_WDOG_ANY SW MUX Control Register */ +/*! @{ */ + +#define IOMUXC1_SW_MUX_CTL_PAD_MUX_MODE_MASK (0x7U) +#define IOMUXC1_SW_MUX_CTL_PAD_MUX_MODE_SHIFT (0U) +/*! MUX_MODE - MUX Mode Select Field. + * 0b000..Select mux mode: ALT0 mux port: GPIO2_IO14 of instance: gpio2 + * 0b001..Select mux mode: ALT1 mux port: LPUART3_TX of instance: lpuart3 + * 0b010..Select mux mode: ALT2 mux port: MEDIAMIX_CAM_DATA06 of instance: mediamix + * 0b011..Select mux mode: ALT3 mux port: MEDIAMIX_DISP_DATA10 of instance: mediamix + * 0b100..Select mux mode: ALT4 mux port: LPSPI8_SOUT of instance: lpspi8 + * 0b101..Select mux mode: ALT5 mux port: LPUART8_CTS_B of instance: lpuart8 + * 0b110..Select mux mode: ALT6 mux port: LPUART4_TX of instance: lpuart4 + * 0b111..Select mux mode: ALT7 mux port: FLEXIO1_FLEXIO14 of instance: flexio1 + */ +#define IOMUXC1_SW_MUX_CTL_PAD_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_MUX_CTL_PAD_MUX_MODE_SHIFT)) & IOMUXC1_SW_MUX_CTL_PAD_MUX_MODE_MASK) + +#define IOMUXC1_SW_MUX_CTL_PAD_SION_MASK (0x10U) +#define IOMUXC1_SW_MUX_CTL_PAD_SION_SHIFT (4U) +/*! SION - Software Input On Field. + * 0b0..Input Path is determined by functionality + * 0b1..Force input path of pad DAP_TDO_TRACESWO + */ +#define IOMUXC1_SW_MUX_CTL_PAD_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_MUX_CTL_PAD_SION_SHIFT)) & IOMUXC1_SW_MUX_CTL_PAD_SION_MASK) +/*! @} */ + +/* The count of IOMUXC1_SW_MUX_CTL_PAD */ +#define IOMUXC1_SW_MUX_CTL_PAD_COUNT (108U) + +/*! @name SW_PAD_CTL_PAD - SW_PAD_CTL_PAD_DAP_TDI SW PAD Control Register..SW_PAD_CTL_PAD_WDOG_ANY SW PAD Control Register */ +/*! @{ */ + +#define IOMUXC1_SW_PAD_CTL_PAD_DSE_MASK (0x7EU) +#define IOMUXC1_SW_PAD_CTL_PAD_DSE_SHIFT (1U) +/*! DSE - Drive Strength Field + * 0b000000.. + * 0b000001.. + * 0b000010.. + * 0b000011.. + * 0b000100.. + * 0b000101.. + * 0b000110.. + * 0b000111.. + * 0b001000.. + * 0b001001.. + * 0b001010.. + * 0b001011.. + * 0b001100.. + * 0b001101.. + * 0b001110.. + * 0b001111.. + * 0b010000.. + * 0b010001.. + * 0b010010.. + * 0b010011.. + * 0b010100.. + * 0b010101.. + * 0b010110.. + * 0b010111.. + * 0b011000.. + * 0b011001.. + * 0b011010.. + * 0b011011.. + * 0b011100.. + * 0b011101.. + * 0b011110.. + * 0b011111.. + * 0b100000.. + * 0b100001.. + * 0b100010.. + * 0b100011.. + * 0b100100.. + * 0b100101.. + * 0b100110.. + * 0b100111.. + * 0b101000.. + * 0b101001.. + * 0b101010.. + * 0b101011.. + * 0b101100.. + * 0b101101.. + * 0b101110.. + * 0b101111.. + * 0b110000.. + * 0b110001.. + * 0b110010.. + * 0b110011.. + * 0b110100.. + * 0b110101.. + * 0b110110.. + * 0b110111.. + * 0b111000.. + * 0b111001.. + * 0b111010.. + * 0b111011.. + * 0b111100.. + * 0b111101.. + * 0b111110.. + * 0b111111..X6 + */ +#define IOMUXC1_SW_PAD_CTL_PAD_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_PAD_CTL_PAD_DSE_SHIFT)) & IOMUXC1_SW_PAD_CTL_PAD_DSE_MASK) + +#define IOMUXC1_SW_PAD_CTL_PAD_FSEL1_MASK (0x180U) +#define IOMUXC1_SW_PAD_CTL_PAD_FSEL1_SHIFT (7U) +/*! FSEL1 - Slew Rate Field + * 0b00.. + * 0b01.. + * 0b10..Slight Fast Slew Rate + * 0b11..Fast Slew Rate + */ +#define IOMUXC1_SW_PAD_CTL_PAD_FSEL1(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_PAD_CTL_PAD_FSEL1_SHIFT)) & IOMUXC1_SW_PAD_CTL_PAD_FSEL1_MASK) + +#define IOMUXC1_SW_PAD_CTL_PAD_PU_MASK (0x200U) +#define IOMUXC1_SW_PAD_CTL_PAD_PU_SHIFT (9U) +/*! PU - Pull Up Field + * 0b0..No pull up + * 0b1..Pull up + */ +#define IOMUXC1_SW_PAD_CTL_PAD_PU(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_PAD_CTL_PAD_PU_SHIFT)) & IOMUXC1_SW_PAD_CTL_PAD_PU_MASK) + +#define IOMUXC1_SW_PAD_CTL_PAD_PD_MASK (0x400U) +#define IOMUXC1_SW_PAD_CTL_PAD_PD_SHIFT (10U) +/*! PD - Pull Down Field + * 0b0..Not pull down + * 0b1..Pull down + */ +#define IOMUXC1_SW_PAD_CTL_PAD_PD(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_PAD_CTL_PAD_PD_SHIFT)) & IOMUXC1_SW_PAD_CTL_PAD_PD_MASK) + +#define IOMUXC1_SW_PAD_CTL_PAD_OD_MASK (0x800U) +#define IOMUXC1_SW_PAD_CTL_PAD_OD_SHIFT (11U) +/*! OD - Open Drain Field + * 0b0..Open Drain Disable + * 0b1..Open Drain Enable + */ +#define IOMUXC1_SW_PAD_CTL_PAD_OD(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_PAD_CTL_PAD_OD_SHIFT)) & IOMUXC1_SW_PAD_CTL_PAD_OD_MASK) + +#define IOMUXC1_SW_PAD_CTL_PAD_HYS_MASK (0x1000U) +#define IOMUXC1_SW_PAD_CTL_PAD_HYS_SHIFT (12U) +/*! HYS - Schmitt trigger Field + * 0b0..No Schmitt input + * 0b1..Schmitt input + */ +#define IOMUXC1_SW_PAD_CTL_PAD_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_PAD_CTL_PAD_HYS_SHIFT)) & IOMUXC1_SW_PAD_CTL_PAD_HYS_MASK) + +#define IOMUXC1_SW_PAD_CTL_PAD_APC_MASK (0xFF000000U) +#define IOMUXC1_SW_PAD_CTL_PAD_APC_SHIFT (24U) +/*! APC - Domain Access Field + * 0b00000000.. + * 0b00000001.. + * 0b00000010.. + * 0b00000011.. + * 0b00000100.. + * 0b00000101.. + * 0b00000110.. + * 0b00000111.. + * 0b00001000.. + * 0b00001001.. + * 0b00001010.. + * 0b00001011.. + * 0b00001100.. + * 0b00001101.. + * 0b00001110.. + * 0b00001111.. + * 0b00010000.. + * 0b00010001.. + * 0b00010010.. + * 0b00010011.. + * 0b00010100.. + * 0b00010101.. + * 0b00010110.. + * 0b00010111.. + * 0b00011000.. + * 0b00011001.. + * 0b00011010.. + * 0b00011011.. + * 0b00011100.. + * 0b00011101.. + * 0b00011110.. + * 0b00011111.. + * 0b00100000.. + * 0b00100001.. + * 0b00100010.. + * 0b00100011.. + * 0b00100100.. + * 0b00100101.. + * 0b00100110.. + * 0b00100111.. + * 0b00101000.. + * 0b00101001.. + * 0b00101010.. + * 0b00101011.. + * 0b00101100.. + * 0b00101101.. + * 0b00101110.. + * 0b00101111.. + * 0b00110000.. + * 0b00110001.. + * 0b00110010.. + * 0b00110011.. + * 0b00110100.. + * 0b00110101.. + * 0b00110110.. + * 0b00110111.. + * 0b00111000.. + * 0b00111001.. + * 0b00111010.. + * 0b00111011.. + * 0b00111100.. + * 0b00111101.. + * 0b00111110.. + * 0b00111111.. + * 0b01000000.. + * 0b01000001.. + * 0b01000010.. + * 0b01000011.. + * 0b01000100.. + * 0b01000101.. + * 0b01000110.. + * 0b01000111.. + * 0b01001000.. + * 0b01001001.. + * 0b01001010.. + * 0b01001011.. + * 0b01001100.. + * 0b01001101.. + * 0b01001110.. + * 0b01001111.. + * 0b01010000.. + * 0b01010001.. + * 0b01010010.. + * 0b01010011.. + * 0b01010100.. + * 0b01010101.. + * 0b01010110.. + * 0b01010111.. + * 0b01011000.. + * 0b01011001.. + * 0b01011010.. + * 0b01011011.. + * 0b01011100.. + * 0b01011101.. + * 0b01011110.. + * 0b01011111.. + * 0b01100000.. + * 0b01100001.. + * 0b01100010.. + * 0b01100011.. + * 0b01100100.. + * 0b01100101.. + * 0b01100110.. + * 0b01100111.. + * 0b01101000.. + * 0b01101001.. + * 0b01101010.. + * 0b01101011.. + * 0b01101100.. + * 0b01101101.. + * 0b01101110.. + * 0b01101111.. + * 0b01110000.. + * 0b01110001.. + * 0b01110010.. + * 0b01110011.. + * 0b01110100.. + * 0b01110101.. + * 0b01110110.. + * 0b01110111.. + * 0b01111000.. + * 0b01111001.. + * 0b01111010.. + * 0b01111011.. + * 0b01111100.. + * 0b01111101.. + * 0b01111110.. + * 0b01111111.. + * 0b10000000.. + * 0b10000001.. + * 0b10000010.. + * 0b10000011.. + * 0b10000100.. + * 0b10000101.. + * 0b10000110.. + * 0b10000111.. + * 0b10001000.. + * 0b10001001.. + * 0b10001010.. + * 0b10001011.. + * 0b10001100.. + * 0b10001101.. + * 0b10001110.. + * 0b10001111.. + * 0b10010000.. + * 0b10010001.. + * 0b10010010.. + * 0b10010011.. + * 0b10010100.. + * 0b10010101.. + * 0b10010110.. + * 0b10010111.. + * 0b10011000.. + * 0b10011001.. + * 0b10011010.. + * 0b10011011.. + * 0b10011100.. + * 0b10011101.. + * 0b10011110.. + * 0b10011111.. + * 0b10100000.. + * 0b10100001.. + * 0b10100010.. + * 0b10100011.. + * 0b10100100.. + * 0b10100101.. + * 0b10100110.. + * 0b10100111.. + * 0b10101000.. + * 0b10101001.. + * 0b10101010.. + * 0b10101011.. + * 0b10101100.. + * 0b10101101.. + * 0b10101110.. + * 0b10101111.. + * 0b10110000.. + * 0b10110001.. + * 0b10110010.. + * 0b10110011.. + * 0b10110100.. + * 0b10110101.. + * 0b10110110.. + * 0b10110111.. + * 0b10111000.. + * 0b10111001.. + * 0b10111010.. + * 0b10111011.. + * 0b10111100.. + * 0b10111101.. + * 0b10111110.. + * 0b10111111.. + * 0b11000000.. + * 0b11000001.. + * 0b11000010.. + * 0b11000011.. + * 0b11000100.. + * 0b11000101.. + * 0b11000110.. + * 0b11000111.. + * 0b11001000.. + * 0b11001001.. + * 0b11001010.. + * 0b11001011.. + * 0b11001100.. + * 0b11001101.. + * 0b11001110.. + * 0b11001111.. + * 0b11010000.. + * 0b11010001.. + * 0b11010010.. + * 0b11010011.. + * 0b11010100.. + * 0b11010101.. + * 0b11010110.. + * 0b11010111.. + * 0b11011000.. + * 0b11011001.. + * 0b11011010.. + * 0b11011011.. + * 0b11011100.. + * 0b11011101.. + * 0b11011110.. + * 0b11011111.. + * 0b11100000.. + * 0b11100001.. + * 0b11100010.. + * 0b11100011.. + * 0b11100100.. + * 0b11100101.. + * 0b11100110.. + * 0b11100111.. + * 0b11101000.. + * 0b11101001.. + * 0b11101010.. + * 0b11101011.. + * 0b11101100.. + * 0b11101101.. + * 0b11101110.. + * 0b11101111.. + * 0b11110000.. + * 0b11110001.. + * 0b11110010.. + * 0b11110011.. + * 0b11110100.. + * 0b11110101.. + * 0b11110110.. + * 0b11110111.. + * 0b11111000.. + * 0b11111001.. + * 0b11111010.. + * 0b11111011.. + * 0b11111100.. + * 0b11111101.. + * 0b11111110.. + * 0b11111111.. + */ +#define IOMUXC1_SW_PAD_CTL_PAD_APC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SW_PAD_CTL_PAD_APC_SHIFT)) & IOMUXC1_SW_PAD_CTL_PAD_APC_MASK) +/*! @} */ + +/* The count of IOMUXC1_SW_PAD_CTL_PAD */ +#define IOMUXC1_SW_PAD_CTL_PAD_COUNT (108U) + +/*! @name SELECT_INPUT - CAN1_IPP_IND_CANRX_SELECT_INPUT DAISY Register..USDHC3_IPP_DAT3_IN_SELECT_INPUT DAISY Register */ +/*! @{ */ + +#define IOMUXC1_SELECT_INPUT_DAISY_MASK (0x3U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */ +#define IOMUXC1_SELECT_INPUT_DAISY_SHIFT (0U) +/*! DAISY - Selecting Pads Involved in Daisy Chain. + * 0b00..Selecting Pad: DAP_TDO_TRACESWO for Mode: ALT3 + * 0b01..Selecting Pad: GPIO_IO27 for Mode: ALT2 + * 0b10..Selecting Pad: ENET1_TD2 for Mode: ALT2 + * 0b11..Selecting Pad: SD2_DATA1 for Mode: ALT2 + */ +#define IOMUXC1_SELECT_INPUT_DAISY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC1_SELECT_INPUT_DAISY_SHIFT)) & IOMUXC1_SELECT_INPUT_DAISY_MASK) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */ +/*! @} */ + +/* The count of IOMUXC1_SELECT_INPUT */ +#define IOMUXC1_SELECT_INPUT_COUNT (104U) + + +/*! + * @} + */ /* end of group IOMUXC1_Register_Masks */ + + +/* IOMUXC1 - Peripheral instance base addresses */ +/** Peripheral IOMUXC1 base address */ +#define IOMUXC1_BASE (0x443C0000u) +/** Peripheral IOMUXC1 base pointer */ +#define IOMUXC1 ((IOMUXC1_Type *)IOMUXC1_BASE) +/** Array initializer of IOMUXC1 peripheral base addresses */ +#define IOMUXC1_BASE_ADDRS { IOMUXC1_BASE } +/** Array initializer of IOMUXC1 peripheral base pointers */ +#define IOMUXC1_BASE_PTRS { IOMUXC1 } + +/*! + * @} + */ /* end of group IOMUXC1_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- IOMUXC_GPR Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup IOMUXC_GPR_Peripheral_Access_Layer IOMUXC_GPR Peripheral Access Layer + * @{ + */ + +/** IOMUXC_GPR - Register Layout Typedef */ +typedef struct { + __IO uint32_t CONFIG; /**< IOMUXC GPR Configuration, offset: 0x0 */ +} IOMUXC_GPR_Type; + +/* ---------------------------------------------------------------------------- + -- IOMUXC_GPR Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup IOMUXC_GPR_Register_Masks IOMUXC_GPR Register Masks + * @{ + */ + +/*! @name CONFIG - IOMUXC GPR Configuration */ +/*! @{ */ + +#define IOMUXC_GPR_CONFIG_MASTERID0_DATA_MASK (0xFU) +#define IOMUXC_GPR_CONFIG_MASTERID0_DATA_SHIFT (0U) +/*! MASTERID0_DATA - Data bits */ +#define IOMUXC_GPR_CONFIG_MASTERID0_DATA(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_CONFIG_MASTERID0_DATA_SHIFT)) & IOMUXC_GPR_CONFIG_MASTERID0_DATA_MASK) + +#define IOMUXC_GPR_CONFIG_MASTERID1_DATA_MASK (0xF0U) +#define IOMUXC_GPR_CONFIG_MASTERID1_DATA_SHIFT (4U) +/*! MASTERID1_DATA - Data bits */ +#define IOMUXC_GPR_CONFIG_MASTERID1_DATA(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_CONFIG_MASTERID1_DATA_SHIFT)) & IOMUXC_GPR_CONFIG_MASTERID1_DATA_MASK) + +#define IOMUXC_GPR_CONFIG_MASTERID2_DATA_MASK (0xF00U) +#define IOMUXC_GPR_CONFIG_MASTERID2_DATA_SHIFT (8U) +/*! MASTERID2_DATA - Data bits */ +#define IOMUXC_GPR_CONFIG_MASTERID2_DATA(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_CONFIG_MASTERID2_DATA_SHIFT)) & IOMUXC_GPR_CONFIG_MASTERID2_DATA_MASK) + +#define IOMUXC_GPR_CONFIG_MASTERID0_LOCK_MASK (0xF0000U) +#define IOMUXC_GPR_CONFIG_MASTERID0_LOCK_SHIFT (16U) +/*! MASTERID0_LOCK - Lock bits */ +#define IOMUXC_GPR_CONFIG_MASTERID0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_CONFIG_MASTERID0_LOCK_SHIFT)) & IOMUXC_GPR_CONFIG_MASTERID0_LOCK_MASK) + +#define IOMUXC_GPR_CONFIG_MASTERID1_LOCK_MASK (0xF00000U) +#define IOMUXC_GPR_CONFIG_MASTERID1_LOCK_SHIFT (20U) +/*! MASTERID1_LOCK - Lock bits */ +#define IOMUXC_GPR_CONFIG_MASTERID1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_CONFIG_MASTERID1_LOCK_SHIFT)) & IOMUXC_GPR_CONFIG_MASTERID1_LOCK_MASK) + +#define IOMUXC_GPR_CONFIG_MASTERID2_LOCK_MASK (0xF000000U) +#define IOMUXC_GPR_CONFIG_MASTERID2_LOCK_SHIFT (24U) +/*! MASTERID2_LOCK - Lock bits */ +#define IOMUXC_GPR_CONFIG_MASTERID2_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_CONFIG_MASTERID2_LOCK_SHIFT)) & IOMUXC_GPR_CONFIG_MASTERID2_LOCK_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group IOMUXC_GPR_Register_Masks */ + + +/* IOMUXC_GPR - Peripheral instance base addresses */ +/** Peripheral IOMUXC_GPR base address */ +#define IOMUXC_GPR_BASE (0x443D0000u) +/** Peripheral IOMUXC_GPR base pointer */ +#define IOMUXC_GPR ((IOMUXC_GPR_Type *)IOMUXC_GPR_BASE) +/** Array initializer of IOMUXC_GPR peripheral base addresses */ +#define IOMUXC_GPR_BASE_ADDRS { IOMUXC_GPR_BASE } +/** Array initializer of IOMUXC_GPR peripheral base pointers */ +#define IOMUXC_GPR_BASE_PTRS { IOMUXC_GPR } + +/*! + * @} + */ /* end of group IOMUXC_GPR_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- ISI Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ISI_Peripheral_Access_Layer ISI Peripheral Access Layer + * @{ + */ + +/** ISI - Register Layout Typedef */ +typedef struct { + __IO uint32_t CHNL_CTRL; /**< Channel Control, offset: 0x0 */ + __IO uint32_t CHNL_IMG_CTRL; /**< Channel Image Control, offset: 0x4 */ + __IO uint32_t CHNL_OUT_BUF_CTRL; /**< Channel Output Buffer Control, offset: 0x8 */ + __IO uint32_t CHNL_IMG_CFG; /**< Channel Image Configuration, offset: 0xC */ + __IO uint32_t CHNL_IER; /**< Channel Interrupt Enable, offset: 0x10 */ + __IO uint32_t CHNL_STS; /**< Channel Status, offset: 0x14 */ + __IO uint32_t CHNL_SCALE_FACTOR; /**< Channel Scale Factor, offset: 0x18 */ + __IO uint32_t CHNL_SCALE_OFFSET; /**< Channel Scale Offset, offset: 0x1C */ + __IO uint32_t CHNL_CROP_ULC; /**< Channel Crop Upper Left Corner Coordinate, offset: 0x20 */ + __IO uint32_t CHNL_CROP_LRC; /**< Channel Crop Lower Right Corner Coordinate, offset: 0x24 */ + __IO uint32_t CHNL_CSC_COEFF0; /**< Channel Color Space Conversion Coefficient 0, offset: 0x28 */ + __IO uint32_t CHNL_CSC_COEFF1; /**< Channel Color Space Conversion Coefficient 1, offset: 0x2C */ + __IO uint32_t CHNL_CSC_COEFF2; /**< Channel Color Space Conversion Coefficient 2, offset: 0x30 */ + __IO uint32_t CHNL_CSC_COEFF3; /**< Channel Color Space Conversion Coefficient 3, offset: 0x34 */ + __IO uint32_t CHNL_CSC_COEFF4; /**< Channel Color Space Conversion Coefficient 4, offset: 0x38 */ + __IO uint32_t CHNL_CSC_COEFF5; /**< Channel Color Space Conversion Coefficient 5, offset: 0x3C */ + __IO uint32_t CHNL_ROI_0_ALPHA; /**< Channel Alpha Value for ROI 0, offset: 0x40 */ + __IO uint32_t CHNL_ROI_0_ULC; /**< Channel Upper Left Coordinate for ROI 0, offset: 0x44 */ + __IO uint32_t CHNL_ROI_0_LRC; /**< Channel Lower Right Coordinate for ROI 0, offset: 0x48 */ + __IO uint32_t CHNL_ROI_1_ALPHA; /**< Channel Alpha Value for ROI 1, offset: 0x4C */ + __IO uint32_t CHNL_ROI_1_ULC; /**< Channel Upper Left Coordinate for ROI 1, offset: 0x50 */ + __IO uint32_t CHNL_ROI_1_LRC; /**< Channel Lower Right Coordinate for ROI 1, offset: 0x54 */ + __IO uint32_t CHNL_ROI_2_ALPHA; /**< Channel Alpha Value for ROI 2, offset: 0x58 */ + __IO uint32_t CHNL_ROI_2_ULC; /**< Channel Upper Left Coordinate for ROI 2, offset: 0x5C */ + __IO uint32_t CHNL_ROI_2_LRC; /**< Channel Lower Right Coordinate for ROI 2, offset: 0x60 */ + __IO uint32_t CHNL_ROI_3_ALPHA; /**< Channel Alpha Value for ROI 3, offset: 0x64 */ + __IO uint32_t CHNL_ROI_3_ULC; /**< Channel Upper Left Coordinate for ROI 3, offset: 0x68 */ + __IO uint32_t CHNL_ROI_3_LRC; /**< Channel Lower Right Coordinate for ROI 3, offset: 0x6C */ + __IO uint32_t CHNL_OUT_BUF1_ADDR_Y; /**< Channel RGB or Luma (Y) Output Buffer 1 Address, offset: 0x70 */ + __IO uint32_t CHNL_OUT_BUF1_ADDR_U; /**< Channel Chroma (U/Cb/UV/CbCr) Output Buffer 1 Address, offset: 0x74 */ + __IO uint32_t CHNL_OUT_BUF1_ADDR_V; /**< Channel Chroma (V/Cr) Output Buffer 1 Address, offset: 0x78 */ + __IO uint32_t CHNL_OUT_BUF_PITCH; /**< Channel Output Buffer Pitch, offset: 0x7C */ + uint8_t RESERVED_0[4]; + __IO uint32_t CHNL_IN_BUF_PITCH; /**< Channel Input Buffer Pitch, offset: 0x84 */ + __IO uint32_t CHNL_MEM_RD_CTRL; /**< Channel Memory Read Control, offset: 0x88 */ + __IO uint32_t CHNL_OUT_BUF2_ADDR_Y; /**< Channel RGB or Luma (Y) Output Buffer 2 Address, offset: 0x8C */ + __IO uint32_t CHNL_OUT_BUF2_ADDR_U; /**< Channel Chroma (U/Cb/UV/CbCr) Output Buffer 2 Address, offset: 0x90 */ + __IO uint32_t CHNL_OUT_BUF2_ADDR_V; /**< Channel Chroma (V/Cr) Output Buffer 2 Address, offset: 0x94 */ + __IO uint32_t CHNL_SCL_IMG_CFG; /**< Channel Scaled Image Configuration, offset: 0x98 */ + __IO uint32_t CHNL_FLOW_CTRL; /**< Channel Flow Control, offset: 0x9C */ +} ISI_Type; + +/* ---------------------------------------------------------------------------- + -- ISI Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup ISI_Register_Masks ISI Register Masks + * @{ + */ + +/*! @name CHNL_CTRL - Channel Control */ +/*! @{ */ + +#define ISI_CHNL_CTRL_SRC_MASK (0x1U) +#define ISI_CHNL_CTRL_SRC_SHIFT (0U) +/*! SRC - Input Image Source Port Selection + * 0b0..Port 0 + * 0b1..Port 1 + */ +#define ISI_CHNL_CTRL_SRC(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CTRL_SRC_SHIFT)) & ISI_CHNL_CTRL_SRC_MASK) + +#define ISI_CHNL_CTRL_SRC_TYPE_MASK (0x10U) +#define ISI_CHNL_CTRL_SRC_TYPE_SHIFT (4U) +/*! SRC_TYPE - Type of Selected Input Image Source + * 0b0..Pixel link + * 0b1..Memory + */ +#define ISI_CHNL_CTRL_SRC_TYPE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CTRL_SRC_TYPE_SHIFT)) & ISI_CHNL_CTRL_SRC_TYPE_MASK) + +#define ISI_CHNL_CTRL_VER_ID_MASK (0x3C0000U) +#define ISI_CHNL_CTRL_VER_ID_SHIFT (18U) +/*! VER_ID - Version ID */ +#define ISI_CHNL_CTRL_VER_ID(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CTRL_VER_ID_SHIFT)) & ISI_CHNL_CTRL_VER_ID_MASK) + +#define ISI_CHNL_CTRL_RAW_MSB_ALIGN_MASK (0x400000U) +#define ISI_CHNL_CTRL_RAW_MSB_ALIGN_SHIFT (22U) +/*! RAW_MSB_ALIGN - RAW to MSB Align + * 0b0..LSB aligned selection + * 0b1..MSB aligned selection + */ +#define ISI_CHNL_CTRL_RAW_MSB_ALIGN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CTRL_RAW_MSB_ALIGN_SHIFT)) & ISI_CHNL_CTRL_RAW_MSB_ALIGN_MASK) + +#define ISI_CHNL_CTRL_SW_RST_MASK (0x1000000U) +#define ISI_CHNL_CTRL_SW_RST_SHIFT (24U) +/*! SW_RST - Software Reset + * 0b0..No reset + * 0b1..Software reset + */ +#define ISI_CHNL_CTRL_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CTRL_SW_RST_SHIFT)) & ISI_CHNL_CTRL_SW_RST_MASK) + +#define ISI_CHNL_CTRL_CHNL_BYPASS_MASK (0x20000000U) +#define ISI_CHNL_CTRL_CHNL_BYPASS_SHIFT (29U) +/*! CHNL_BYPASS - Channel Bypass Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_CTRL_CHNL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CTRL_CHNL_BYPASS_SHIFT)) & ISI_CHNL_CTRL_CHNL_BYPASS_MASK) + +#define ISI_CHNL_CTRL_CLK_EN_MASK (0x40000000U) +#define ISI_CHNL_CTRL_CLK_EN_SHIFT (30U) +/*! CLK_EN - Channel Clock Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_CTRL_CLK_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CTRL_CLK_EN_SHIFT)) & ISI_CHNL_CTRL_CLK_EN_MASK) + +#define ISI_CHNL_CTRL_CHNL_EN_MASK (0x80000000U) +#define ISI_CHNL_CTRL_CHNL_EN_SHIFT (31U) +/*! CHNL_EN - Enable Channel Processing + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_CTRL_CHNL_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CTRL_CHNL_EN_SHIFT)) & ISI_CHNL_CTRL_CHNL_EN_MASK) +/*! @} */ + +/*! @name CHNL_IMG_CTRL - Channel Image Control */ +/*! @{ */ + +#define ISI_CHNL_IMG_CTRL_CSC_BYP_MASK (0x1U) +#define ISI_CHNL_IMG_CTRL_CSC_BYP_SHIFT (0U) +/*! CSC_BYP - Color Space Conversion Bypass Control + * 0b0..CSC operational + * 0b1..CSC bypassed + */ +#define ISI_CHNL_IMG_CTRL_CSC_BYP(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_CSC_BYP_SHIFT)) & ISI_CHNL_IMG_CTRL_CSC_BYP_MASK) + +#define ISI_CHNL_IMG_CTRL_CSC_MODE_MASK (0x6U) +#define ISI_CHNL_IMG_CTRL_CSC_MODE_SHIFT (1U) +/*! CSC_MODE - Color Space Conversion Operating Mode + * 0b00..Convert from YUV to RGB + * 0b01..Convert from YCbCr to RGB + * 0b10..Convert from RGB to YUV + * 0b11..Convert from RGB to YCbCr + */ +#define ISI_CHNL_IMG_CTRL_CSC_MODE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_CSC_MODE_SHIFT)) & ISI_CHNL_IMG_CTRL_CSC_MODE_MASK) + +#define ISI_CHNL_IMG_CTRL_YCBCR_MODE_MASK (0x8U) +#define ISI_CHNL_IMG_CTRL_YCBCR_MODE_SHIFT (3U) +/*! YCBCR_MODE - YCbCr Mode + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IMG_CTRL_YCBCR_MODE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_YCBCR_MODE_SHIFT)) & ISI_CHNL_IMG_CTRL_YCBCR_MODE_MASK) + +#define ISI_CHNL_IMG_CTRL_HFLIP_EN_MASK (0x20U) +#define ISI_CHNL_IMG_CTRL_HFLIP_EN_SHIFT (5U) +/*! HFLIP_EN - Horizontal Flip Control + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IMG_CTRL_HFLIP_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_HFLIP_EN_SHIFT)) & ISI_CHNL_IMG_CTRL_HFLIP_EN_MASK) + +#define ISI_CHNL_IMG_CTRL_VFLIP_EN_MASK (0x40U) +#define ISI_CHNL_IMG_CTRL_VFLIP_EN_SHIFT (6U) +/*! VFLIP_EN - Vertical Flip Control + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IMG_CTRL_VFLIP_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_VFLIP_EN_SHIFT)) & ISI_CHNL_IMG_CTRL_VFLIP_EN_MASK) + +#define ISI_CHNL_IMG_CTRL_CROP_EN_MASK (0x80U) +#define ISI_CHNL_IMG_CTRL_CROP_EN_SHIFT (7U) +/*! CROP_EN - Output Image Cropping Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IMG_CTRL_CROP_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_CROP_EN_SHIFT)) & ISI_CHNL_IMG_CTRL_CROP_EN_MASK) + +#define ISI_CHNL_IMG_CTRL_DEC_Y_MASK (0x300U) +#define ISI_CHNL_IMG_CTRL_DEC_Y_SHIFT (8U) +/*! DEC_Y - Vertical Pre-Decimation Control + * 0b00..Disabled + * 0b01..Decimate by 2 + * 0b10..Decimate by 4 + * 0b11..Decimate by 8 + */ +#define ISI_CHNL_IMG_CTRL_DEC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_DEC_Y_SHIFT)) & ISI_CHNL_IMG_CTRL_DEC_Y_MASK) + +#define ISI_CHNL_IMG_CTRL_DEC_X_MASK (0xC00U) +#define ISI_CHNL_IMG_CTRL_DEC_X_SHIFT (10U) +/*! DEC_X - Horizontal Pre-Decimation Control + * 0b00..Disabled + * 0b01..Decimate by 2 + * 0b10..Decimate by 4 + * 0b11..Decimate by 8 + */ +#define ISI_CHNL_IMG_CTRL_DEC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_DEC_X_SHIFT)) & ISI_CHNL_IMG_CTRL_DEC_X_MASK) + +#define ISI_CHNL_IMG_CTRL_DEINT_MASK (0x7000U) +#define ISI_CHNL_IMG_CTRL_DEINT_SHIFT (12U) +/*! DEINT - Deinterlace Control + * 0b000, 0b001..No deinterlacing + * 0b010..Weave deinterlacing (odd, even) + * 0b011..Weave deinterlacing (even, odd) + */ +#define ISI_CHNL_IMG_CTRL_DEINT(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_DEINT_SHIFT)) & ISI_CHNL_IMG_CTRL_DEINT_MASK) + +#define ISI_CHNL_IMG_CTRL_GBL_ALPHA_EN_MASK (0x8000U) +#define ISI_CHNL_IMG_CTRL_GBL_ALPHA_EN_SHIFT (15U) +/*! GBL_ALPHA_EN - Global Alpha Value Insertion Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IMG_CTRL_GBL_ALPHA_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_GBL_ALPHA_EN_SHIFT)) & ISI_CHNL_IMG_CTRL_GBL_ALPHA_EN_MASK) + +#define ISI_CHNL_IMG_CTRL_GBL_ALPHA_VAL_MASK (0xFF0000U) +#define ISI_CHNL_IMG_CTRL_GBL_ALPHA_VAL_SHIFT (16U) +/*! GBL_ALPHA_VAL - Global Alpha Value + * 0b00000000-0b11111111..Alpha value to be inserted with all RGB pixels + */ +#define ISI_CHNL_IMG_CTRL_GBL_ALPHA_VAL(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_GBL_ALPHA_VAL_SHIFT)) & ISI_CHNL_IMG_CTRL_GBL_ALPHA_VAL_MASK) + +#define ISI_CHNL_IMG_CTRL_FORMAT_MASK (0x7F000000U) +#define ISI_CHNL_IMG_CTRL_FORMAT_SHIFT (24U) +/*! FORMAT - Output Image Format + * 0b0000000-0b1000001..See . + */ +#define ISI_CHNL_IMG_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CTRL_FORMAT_SHIFT)) & ISI_CHNL_IMG_CTRL_FORMAT_MASK) +/*! @} */ + +/*! @name CHNL_OUT_BUF_CTRL - Channel Output Buffer Control */ +/*! @{ */ + +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_Y_MASK (0xFU) +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_Y_SHIFT (0U) +/*! PANIC_SET_THD_Y - Overflow Panic Set Threshold Value for Y or RGB Output Buffer + * 0b0000..No panic alert + * 0b0001-0b1111..Panic asserts + */ +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_Y_SHIFT)) & ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_Y_MASK) + +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_U_MASK (0xF00U) +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_U_SHIFT (8U) +/*! PANIC_SET_THD_U - Overflow Panic Set Threshold Value for U Output Buffer + * 0b0000..No panic alert + * 0b0001-0b1111..Panic asserts + */ +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_U(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_U_SHIFT)) & ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_U_MASK) + +#define ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF1_ADDR_MASK (0x4000U) +#define ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF1_ADDR_SHIFT (14U) +/*! LOAD_BUF1_ADDR - Load Buffer 1 Address */ +#define ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF1_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF1_ADDR_SHIFT)) & ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF1_ADDR_MASK) + +#define ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF2_ADDR_MASK (0x8000U) +#define ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF2_ADDR_SHIFT (15U) +/*! LOAD_BUF2_ADDR - Load Buffer 2 Address */ +#define ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF2_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF2_ADDR_SHIFT)) & ISI_CHNL_OUT_BUF_CTRL_LOAD_BUF2_ADDR_MASK) + +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_V_MASK (0xF0000U) +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_V_SHIFT (16U) +/*! PANIC_SET_THD_V - Overflow Panic Set Threshold Value for V Output Buffer + * 0b0000..No panic alert + * 0b0001-0b1111..Panic asserts + */ +#define ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_V(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_V_SHIFT)) & ISI_CHNL_OUT_BUF_CTRL_PANIC_SET_THD_V_MASK) + +#define ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_UV_MASK (0x40000000U) +#define ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_UV_SHIFT (30U) +/*! MAX_WR_BEATS_UV - Maximum AXI Write Beats for U- and V-Buffers + * 0b0..8 beats per write (128 bytes) + * 0b1..16 beats per write (256 bytes) + */ +#define ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_UV(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_UV_SHIFT)) & ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_UV_MASK) + +#define ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_Y_MASK (0x80000000U) +#define ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_Y_SHIFT (31U) +/*! MAX_WR_BEATS_Y - Maximum AXI Write Beats for Y-Buffer + * 0b0..8 beats per write (128 bytes) + * 0b1..16 beats per write (256 bytes) + */ +#define ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_Y_SHIFT)) & ISI_CHNL_OUT_BUF_CTRL_MAX_WR_BEATS_Y_MASK) +/*! @} */ + +/*! @name CHNL_IMG_CFG - Channel Image Configuration */ +/*! @{ */ + +#define ISI_CHNL_IMG_CFG_WIDTH_MASK (0x1FFFU) +#define ISI_CHNL_IMG_CFG_WIDTH_SHIFT (0U) +/*! WIDTH - Input Image Width */ +#define ISI_CHNL_IMG_CFG_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CFG_WIDTH_SHIFT)) & ISI_CHNL_IMG_CFG_WIDTH_MASK) + +#define ISI_CHNL_IMG_CFG_HEIGHT_MASK (0x1FFF0000U) +#define ISI_CHNL_IMG_CFG_HEIGHT_SHIFT (16U) +/*! HEIGHT - Input Image Height */ +#define ISI_CHNL_IMG_CFG_HEIGHT(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IMG_CFG_HEIGHT_SHIFT)) & ISI_CHNL_IMG_CFG_HEIGHT_MASK) +/*! @} */ + +/*! @name CHNL_IER - Channel Interrupt Enable */ +/*! @{ */ + +#define ISI_CHNL_IER_LATE_VSYNC_ERR_EN_MASK (0x10000U) +#define ISI_CHNL_IER_LATE_VSYNC_ERR_EN_SHIFT (16U) +/*! LATE_VSYNC_ERR_EN - VSYNC Timing (Late) Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_LATE_VSYNC_ERR_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_LATE_VSYNC_ERR_EN_SHIFT)) & ISI_CHNL_IER_LATE_VSYNC_ERR_EN_MASK) + +#define ISI_CHNL_IER_EARLY_VSYNC_ERR_EN_MASK (0x20000U) +#define ISI_CHNL_IER_EARLY_VSYNC_ERR_EN_SHIFT (17U) +/*! EARLY_VSYNC_ERR_EN - VSYNC Timing (Early) Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_EARLY_VSYNC_ERR_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_EARLY_VSYNC_ERR_EN_SHIFT)) & ISI_CHNL_IER_EARLY_VSYNC_ERR_EN_MASK) + +#define ISI_CHNL_IER_OFLW_Y_BUF_EN_MASK (0x40000U) +#define ISI_CHNL_IER_OFLW_Y_BUF_EN_SHIFT (18U) +/*! OFLW_Y_BUF_EN - Y Output Buffer Overflow Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_OFLW_Y_BUF_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_OFLW_Y_BUF_EN_SHIFT)) & ISI_CHNL_IER_OFLW_Y_BUF_EN_MASK) + +#define ISI_CHNL_IER_PANIC_Y_BUF_EN_MASK (0x80000U) +#define ISI_CHNL_IER_PANIC_Y_BUF_EN_SHIFT (19U) +/*! PANIC_Y_BUF_EN - Y Output Buffer Potential Overflow Panic Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_PANIC_Y_BUF_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_PANIC_Y_BUF_EN_SHIFT)) & ISI_CHNL_IER_PANIC_Y_BUF_EN_MASK) + +#define ISI_CHNL_IER_OFLW_U_BUF_EN_MASK (0x100000U) +#define ISI_CHNL_IER_OFLW_U_BUF_EN_SHIFT (20U) +/*! OFLW_U_BUF_EN - U Output Buffer Overflow Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_OFLW_U_BUF_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_OFLW_U_BUF_EN_SHIFT)) & ISI_CHNL_IER_OFLW_U_BUF_EN_MASK) + +#define ISI_CHNL_IER_PANIC_U_BUF_EN_MASK (0x200000U) +#define ISI_CHNL_IER_PANIC_U_BUF_EN_SHIFT (21U) +/*! PANIC_U_BUF_EN - U Output Buffer Potential Overflow Panic Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_PANIC_U_BUF_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_PANIC_U_BUF_EN_SHIFT)) & ISI_CHNL_IER_PANIC_U_BUF_EN_MASK) + +#define ISI_CHNL_IER_OFLW_V_BUF_EN_MASK (0x400000U) +#define ISI_CHNL_IER_OFLW_V_BUF_EN_SHIFT (22U) +/*! OFLW_V_BUF_EN - V Output Buffer Overflow Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_OFLW_V_BUF_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_OFLW_V_BUF_EN_SHIFT)) & ISI_CHNL_IER_OFLW_V_BUF_EN_MASK) + +#define ISI_CHNL_IER_PANIC_V_BUF_EN_MASK (0x800000U) +#define ISI_CHNL_IER_PANIC_V_BUF_EN_SHIFT (23U) +/*! PANIC_V_BUF_EN - V Output Buffer Potential Overflow Panic Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_PANIC_V_BUF_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_PANIC_V_BUF_EN_SHIFT)) & ISI_CHNL_IER_PANIC_V_BUF_EN_MASK) + +#define ISI_CHNL_IER_AXI_RD_ERR_EN_MASK (0x2000000U) +#define ISI_CHNL_IER_AXI_RD_ERR_EN_SHIFT (25U) +/*! AXI_RD_ERR_EN - AXI Bus Read Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_AXI_RD_ERR_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_AXI_RD_ERR_EN_SHIFT)) & ISI_CHNL_IER_AXI_RD_ERR_EN_MASK) + +#define ISI_CHNL_IER_AXI_WR_ERR_Y_EN_MASK (0x4000000U) +#define ISI_CHNL_IER_AXI_WR_ERR_Y_EN_SHIFT (26U) +/*! AXI_WR_ERR_Y_EN - AXI Bus Read Error Interrupt Enable for Y and RGB Data Buffer + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_AXI_WR_ERR_Y_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_AXI_WR_ERR_Y_EN_SHIFT)) & ISI_CHNL_IER_AXI_WR_ERR_Y_EN_MASK) + +#define ISI_CHNL_IER_AXI_WR_ERR_U_EN_MASK (0x8000000U) +#define ISI_CHNL_IER_AXI_WR_ERR_U_EN_SHIFT (27U) +/*! AXI_WR_ERR_U_EN - AXI Bus Read Error Interrupt Enable for U Data Buffer + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_AXI_WR_ERR_U_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_AXI_WR_ERR_U_EN_SHIFT)) & ISI_CHNL_IER_AXI_WR_ERR_U_EN_MASK) + +#define ISI_CHNL_IER_AXI_WR_ERR_V_EN_MASK (0x10000000U) +#define ISI_CHNL_IER_AXI_WR_ERR_V_EN_SHIFT (28U) +/*! AXI_WR_ERR_V_EN - AXI Bus Read Error Interrupt Enable for V Data Buffer + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_AXI_WR_ERR_V_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_AXI_WR_ERR_V_EN_SHIFT)) & ISI_CHNL_IER_AXI_WR_ERR_V_EN_MASK) + +#define ISI_CHNL_IER_FRM_RCVD_EN_MASK (0x20000000U) +#define ISI_CHNL_IER_FRM_RCVD_EN_SHIFT (29U) +/*! FRM_RCVD_EN - Frame Received Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_FRM_RCVD_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_FRM_RCVD_EN_SHIFT)) & ISI_CHNL_IER_FRM_RCVD_EN_MASK) + +#define ISI_CHNL_IER_LINE_RCVD_EN_MASK (0x40000000U) +#define ISI_CHNL_IER_LINE_RCVD_EN_SHIFT (30U) +/*! LINE_RCVD_EN - Line Received Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_LINE_RCVD_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_LINE_RCVD_EN_SHIFT)) & ISI_CHNL_IER_LINE_RCVD_EN_MASK) + +#define ISI_CHNL_IER_MEM_RD_DONE_EN_MASK (0x80000000U) +#define ISI_CHNL_IER_MEM_RD_DONE_EN_SHIFT (31U) +/*! MEM_RD_DONE_EN - Memory Read Complete Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_IER_MEM_RD_DONE_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IER_MEM_RD_DONE_EN_SHIFT)) & ISI_CHNL_IER_MEM_RD_DONE_EN_MASK) +/*! @} */ + +/*! @name CHNL_STS - Channel Status */ +/*! @{ */ + +#define ISI_CHNL_STS_BUF1_ACTIVE_MASK (0x100U) +#define ISI_CHNL_STS_BUF1_ACTIVE_SHIFT (8U) +/*! BUF1_ACTIVE - Current Frame Stored in Buffer 1 Address + * 0b0..Buffer 1 address inactive + * 0b1..Buffer 1 address in use + */ +#define ISI_CHNL_STS_BUF1_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_BUF1_ACTIVE_SHIFT)) & ISI_CHNL_STS_BUF1_ACTIVE_MASK) + +#define ISI_CHNL_STS_BUF2_ACTIVE_MASK (0x200U) +#define ISI_CHNL_STS_BUF2_ACTIVE_SHIFT (9U) +/*! BUF2_ACTIVE - Current Frame Stored in Buffer 2 Address + * 0b0..Buffer 2 address inactive + * 0b1..Buffer 2 address in use + */ +#define ISI_CHNL_STS_BUF2_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_BUF2_ACTIVE_SHIFT)) & ISI_CHNL_STS_BUF2_ACTIVE_MASK) + +#define ISI_CHNL_STS_MEM_RD_OFLOW_MASK (0x400U) +#define ISI_CHNL_STS_MEM_RD_OFLOW_SHIFT (10U) +/*! MEM_RD_OFLOW - Memory Read FIFO Overflow Error Status + * 0b0..No overflow + * 0b1..FIFO overflow + */ +#define ISI_CHNL_STS_MEM_RD_OFLOW(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_MEM_RD_OFLOW_SHIFT)) & ISI_CHNL_STS_MEM_RD_OFLOW_MASK) + +#define ISI_CHNL_STS_LATE_VSYNC_ERR_MASK (0x10000U) +#define ISI_CHNL_STS_LATE_VSYNC_ERR_SHIFT (16U) +/*! LATE_VSYNC_ERR - VSYNC Timing (Late) Error Interrupt flag + * 0b0..No error + * 0b1..VSYNC detected later + */ +#define ISI_CHNL_STS_LATE_VSYNC_ERR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_LATE_VSYNC_ERR_SHIFT)) & ISI_CHNL_STS_LATE_VSYNC_ERR_MASK) + +#define ISI_CHNL_STS_EARLY_VSYNC_ERR_MASK (0x20000U) +#define ISI_CHNL_STS_EARLY_VSYNC_ERR_SHIFT (17U) +/*! EARLY_VSYNC_ERR - VSYNC Timing (Early) Error Interrupt flag + * 0b0..No error + * 0b1..VSYNC detected earlier + */ +#define ISI_CHNL_STS_EARLY_VSYNC_ERR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_EARLY_VSYNC_ERR_SHIFT)) & ISI_CHNL_STS_EARLY_VSYNC_ERR_MASK) + +#define ISI_CHNL_STS_OFLW_Y_BUF_MASK (0x40000U) +#define ISI_CHNL_STS_OFLW_Y_BUF_SHIFT (18U) +/*! OFLW_Y_BUF - Overflow in Y or RGB Output Buffer Interrupt Flag + * 0b0..No overflow + * 0b1..Overflow + */ +#define ISI_CHNL_STS_OFLW_Y_BUF(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_OFLW_Y_BUF_SHIFT)) & ISI_CHNL_STS_OFLW_Y_BUF_MASK) + +#define ISI_CHNL_STS_PANIC_Y_BUF_MASK (0x80000U) +#define ISI_CHNL_STS_PANIC_Y_BUF_SHIFT (19U) +/*! PANIC_Y_BUF - Y or RGB Output Buffer Potential Overflow Panic Alert Interrupt Flag + * 0b0..Threshold limit not crossed + * 0b1..Threshold limit crossed + */ +#define ISI_CHNL_STS_PANIC_Y_BUF(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_PANIC_Y_BUF_SHIFT)) & ISI_CHNL_STS_PANIC_Y_BUF_MASK) + +#define ISI_CHNL_STS_OFLW_U_BUF_MASK (0x100000U) +#define ISI_CHNL_STS_OFLW_U_BUF_SHIFT (20U) +/*! OFLW_U_BUF - Overflow in U Output Buffer Interrupt Flag + * 0b0..No overflow + * 0b1..Overflow + */ +#define ISI_CHNL_STS_OFLW_U_BUF(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_OFLW_U_BUF_SHIFT)) & ISI_CHNL_STS_OFLW_U_BUF_MASK) + +#define ISI_CHNL_STS_PANIC_U_BUF_MASK (0x200000U) +#define ISI_CHNL_STS_PANIC_U_BUF_SHIFT (21U) +/*! PANIC_U_BUF - U Output Buffer Potential Overflow Panic Alert Interrupt Flag + * 0b0..Threshold limit not crossed + * 0b1..Threshold limit crossed + */ +#define ISI_CHNL_STS_PANIC_U_BUF(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_PANIC_U_BUF_SHIFT)) & ISI_CHNL_STS_PANIC_U_BUF_MASK) + +#define ISI_CHNL_STS_OFLW_V_BUF_MASK (0x400000U) +#define ISI_CHNL_STS_OFLW_V_BUF_SHIFT (22U) +/*! OFLW_V_BUF - Overflow in V Output Buffer Interrupt Flag + * 0b0..No overflow + * 0b1..Overflow + */ +#define ISI_CHNL_STS_OFLW_V_BUF(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_OFLW_V_BUF_SHIFT)) & ISI_CHNL_STS_OFLW_V_BUF_MASK) + +#define ISI_CHNL_STS_PANIC_V_BUF_MASK (0x800000U) +#define ISI_CHNL_STS_PANIC_V_BUF_SHIFT (23U) +/*! PANIC_V_BUF - V Output Buffer Potential Overflow Panic Alert Interrupt Flag + * 0b0..Threshold limit not crossed + * 0b1..Threshold limit crossed + */ +#define ISI_CHNL_STS_PANIC_V_BUF(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_PANIC_V_BUF_SHIFT)) & ISI_CHNL_STS_PANIC_V_BUF_MASK) + +#define ISI_CHNL_STS_AXI_RD_ERR_MASK (0x2000000U) +#define ISI_CHNL_STS_AXI_RD_ERR_SHIFT (25U) +/*! AXI_RD_ERR - AXI Bus Read Error Interrupt Flag + * 0b0..No error + * 0b1..Error occurred + */ +#define ISI_CHNL_STS_AXI_RD_ERR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_AXI_RD_ERR_SHIFT)) & ISI_CHNL_STS_AXI_RD_ERR_MASK) + +#define ISI_CHNL_STS_AXI_WR_ERR_Y_MASK (0x4000000U) +#define ISI_CHNL_STS_AXI_WR_ERR_Y_SHIFT (26U) +/*! AXI_WR_ERR_Y - AXI Bus Write Error Interrupt Flag for Y/RGB Data Buffer + * 0b0..No error + * 0b1..Error occurred + */ +#define ISI_CHNL_STS_AXI_WR_ERR_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_AXI_WR_ERR_Y_SHIFT)) & ISI_CHNL_STS_AXI_WR_ERR_Y_MASK) + +#define ISI_CHNL_STS_AXI_WR_ERR_U_MASK (0x8000000U) +#define ISI_CHNL_STS_AXI_WR_ERR_U_SHIFT (27U) +/*! AXI_WR_ERR_U - AXI Bus Write Error Interrupt Flag for U Data Buffer + * 0b0..No error + * 0b1..Error occurred + */ +#define ISI_CHNL_STS_AXI_WR_ERR_U(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_AXI_WR_ERR_U_SHIFT)) & ISI_CHNL_STS_AXI_WR_ERR_U_MASK) + +#define ISI_CHNL_STS_AXI_WR_ERR_V_MASK (0x10000000U) +#define ISI_CHNL_STS_AXI_WR_ERR_V_SHIFT (28U) +/*! AXI_WR_ERR_V - AXI Bus Write Error Interrupt Flag for V Data Buffer + * 0b0..No error + * 0b1..Error occurred + */ +#define ISI_CHNL_STS_AXI_WR_ERR_V(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_AXI_WR_ERR_V_SHIFT)) & ISI_CHNL_STS_AXI_WR_ERR_V_MASK) + +#define ISI_CHNL_STS_FRM_STRD_MASK (0x20000000U) +#define ISI_CHNL_STS_FRM_STRD_SHIFT (29U) +/*! FRM_STRD - Frame Stored Successfully Interrupt Flag + * 0b0..Not received or in progress + * 0b1..Received and stored + */ +#define ISI_CHNL_STS_FRM_STRD(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_FRM_STRD_SHIFT)) & ISI_CHNL_STS_FRM_STRD_MASK) + +#define ISI_CHNL_STS_LINE_STRD_MASK (0x40000000U) +#define ISI_CHNL_STS_LINE_STRD_SHIFT (30U) +/*! LINE_STRD - Line Received and Stored Interrupt Flag + * 0b0..Not received + * 0b1..Received and stored + */ +#define ISI_CHNL_STS_LINE_STRD(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_LINE_STRD_SHIFT)) & ISI_CHNL_STS_LINE_STRD_MASK) + +#define ISI_CHNL_STS_MEM_RD_DONE_MASK (0x80000000U) +#define ISI_CHNL_STS_MEM_RD_DONE_SHIFT (31U) +/*! MEM_RD_DONE - Memory Read Complete Interrupt Flag + * 0b0..Not complete or not started + * 0b1..Completed + */ +#define ISI_CHNL_STS_MEM_RD_DONE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_STS_MEM_RD_DONE_SHIFT)) & ISI_CHNL_STS_MEM_RD_DONE_MASK) +/*! @} */ + +/*! @name CHNL_SCALE_FACTOR - Channel Scale Factor */ +/*! @{ */ + +#define ISI_CHNL_SCALE_FACTOR_X_SCALE_MASK (0x3FFFU) +#define ISI_CHNL_SCALE_FACTOR_X_SCALE_SHIFT (0U) +/*! X_SCALE - Horizontal Scaling Factor */ +#define ISI_CHNL_SCALE_FACTOR_X_SCALE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_SCALE_FACTOR_X_SCALE_SHIFT)) & ISI_CHNL_SCALE_FACTOR_X_SCALE_MASK) + +#define ISI_CHNL_SCALE_FACTOR_Y_SCALE_MASK (0x3FFF0000U) +#define ISI_CHNL_SCALE_FACTOR_Y_SCALE_SHIFT (16U) +/*! Y_SCALE - Vertical Scaling Factor */ +#define ISI_CHNL_SCALE_FACTOR_Y_SCALE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_SCALE_FACTOR_Y_SCALE_SHIFT)) & ISI_CHNL_SCALE_FACTOR_Y_SCALE_MASK) +/*! @} */ + +/*! @name CHNL_SCALE_OFFSET - Channel Scale Offset */ +/*! @{ */ + +#define ISI_CHNL_SCALE_OFFSET_X_OFFSET_MASK (0xFFFU) +#define ISI_CHNL_SCALE_OFFSET_X_OFFSET_SHIFT (0U) +/*! X_OFFSET - Horizontal Scaling Offset */ +#define ISI_CHNL_SCALE_OFFSET_X_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_SCALE_OFFSET_X_OFFSET_SHIFT)) & ISI_CHNL_SCALE_OFFSET_X_OFFSET_MASK) + +#define ISI_CHNL_SCALE_OFFSET_Y_OFFSET_MASK (0xFFF0000U) +#define ISI_CHNL_SCALE_OFFSET_Y_OFFSET_SHIFT (16U) +/*! Y_OFFSET - Vertical Scaling Offset */ +#define ISI_CHNL_SCALE_OFFSET_Y_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_SCALE_OFFSET_Y_OFFSET_SHIFT)) & ISI_CHNL_SCALE_OFFSET_Y_OFFSET_MASK) +/*! @} */ + +/*! @name CHNL_CROP_ULC - Channel Crop Upper Left Corner Coordinate */ +/*! @{ */ + +#define ISI_CHNL_CROP_ULC_Y_MASK (0xFFFU) +#define ISI_CHNL_CROP_ULC_Y_SHIFT (0U) +/*! Y - Upper Left Y-Coordinate */ +#define ISI_CHNL_CROP_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CROP_ULC_Y_SHIFT)) & ISI_CHNL_CROP_ULC_Y_MASK) + +#define ISI_CHNL_CROP_ULC_X_MASK (0xFFF0000U) +#define ISI_CHNL_CROP_ULC_X_SHIFT (16U) +/*! X - Upper Left X-Coordinate */ +#define ISI_CHNL_CROP_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CROP_ULC_X_SHIFT)) & ISI_CHNL_CROP_ULC_X_MASK) +/*! @} */ + +/*! @name CHNL_CROP_LRC - Channel Crop Lower Right Corner Coordinate */ +/*! @{ */ + +#define ISI_CHNL_CROP_LRC_Y_MASK (0xFFFU) +#define ISI_CHNL_CROP_LRC_Y_SHIFT (0U) +/*! Y - Lower Right Y-Coordinate */ +#define ISI_CHNL_CROP_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CROP_LRC_Y_SHIFT)) & ISI_CHNL_CROP_LRC_Y_MASK) + +#define ISI_CHNL_CROP_LRC_X_MASK (0xFFF0000U) +#define ISI_CHNL_CROP_LRC_X_SHIFT (16U) +/*! X - Lower Right X-Coordinate */ +#define ISI_CHNL_CROP_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CROP_LRC_X_SHIFT)) & ISI_CHNL_CROP_LRC_X_MASK) +/*! @} */ + +/*! @name CHNL_CSC_COEFF0 - Channel Color Space Conversion Coefficient 0 */ +/*! @{ */ + +#define ISI_CHNL_CSC_COEFF0_A1_MASK (0x7FFU) +#define ISI_CHNL_CSC_COEFF0_A1_SHIFT (0U) +/*! A1 - CSC Coefficient A1 Value */ +#define ISI_CHNL_CSC_COEFF0_A1(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF0_A1_SHIFT)) & ISI_CHNL_CSC_COEFF0_A1_MASK) + +#define ISI_CHNL_CSC_COEFF0_A2_MASK (0x7FF0000U) +#define ISI_CHNL_CSC_COEFF0_A2_SHIFT (16U) +/*! A2 - CSC Coefficient A2 Value */ +#define ISI_CHNL_CSC_COEFF0_A2(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF0_A2_SHIFT)) & ISI_CHNL_CSC_COEFF0_A2_MASK) +/*! @} */ + +/*! @name CHNL_CSC_COEFF1 - Channel Color Space Conversion Coefficient 1 */ +/*! @{ */ + +#define ISI_CHNL_CSC_COEFF1_A3_MASK (0x7FFU) +#define ISI_CHNL_CSC_COEFF1_A3_SHIFT (0U) +/*! A3 - CSC Coefficient A3 Value */ +#define ISI_CHNL_CSC_COEFF1_A3(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF1_A3_SHIFT)) & ISI_CHNL_CSC_COEFF1_A3_MASK) + +#define ISI_CHNL_CSC_COEFF1_B1_MASK (0x7FF0000U) +#define ISI_CHNL_CSC_COEFF1_B1_SHIFT (16U) +/*! B1 - CSC Coefficient B1 Value */ +#define ISI_CHNL_CSC_COEFF1_B1(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF1_B1_SHIFT)) & ISI_CHNL_CSC_COEFF1_B1_MASK) +/*! @} */ + +/*! @name CHNL_CSC_COEFF2 - Channel Color Space Conversion Coefficient 2 */ +/*! @{ */ + +#define ISI_CHNL_CSC_COEFF2_B2_MASK (0x7FFU) +#define ISI_CHNL_CSC_COEFF2_B2_SHIFT (0U) +/*! B2 - CSC Coefficient B2 Value */ +#define ISI_CHNL_CSC_COEFF2_B2(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF2_B2_SHIFT)) & ISI_CHNL_CSC_COEFF2_B2_MASK) + +#define ISI_CHNL_CSC_COEFF2_B3_MASK (0x7FF0000U) +#define ISI_CHNL_CSC_COEFF2_B3_SHIFT (16U) +/*! B3 - CSC Coefficient B3 Value */ +#define ISI_CHNL_CSC_COEFF2_B3(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF2_B3_SHIFT)) & ISI_CHNL_CSC_COEFF2_B3_MASK) +/*! @} */ + +/*! @name CHNL_CSC_COEFF3 - Channel Color Space Conversion Coefficient 3 */ +/*! @{ */ + +#define ISI_CHNL_CSC_COEFF3_C1_MASK (0x7FFU) +#define ISI_CHNL_CSC_COEFF3_C1_SHIFT (0U) +/*! C1 - CSC Coefficient C1 Value */ +#define ISI_CHNL_CSC_COEFF3_C1(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF3_C1_SHIFT)) & ISI_CHNL_CSC_COEFF3_C1_MASK) + +#define ISI_CHNL_CSC_COEFF3_C2_MASK (0x7FF0000U) +#define ISI_CHNL_CSC_COEFF3_C2_SHIFT (16U) +/*! C2 - CSC Coefficient C2 Value */ +#define ISI_CHNL_CSC_COEFF3_C2(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF3_C2_SHIFT)) & ISI_CHNL_CSC_COEFF3_C2_MASK) +/*! @} */ + +/*! @name CHNL_CSC_COEFF4 - Channel Color Space Conversion Coefficient 4 */ +/*! @{ */ + +#define ISI_CHNL_CSC_COEFF4_C3_MASK (0x7FFU) +#define ISI_CHNL_CSC_COEFF4_C3_SHIFT (0U) +/*! C3 - CSC Coefficient C3 Value */ +#define ISI_CHNL_CSC_COEFF4_C3(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF4_C3_SHIFT)) & ISI_CHNL_CSC_COEFF4_C3_MASK) + +#define ISI_CHNL_CSC_COEFF4_D1_MASK (0x1FF0000U) +#define ISI_CHNL_CSC_COEFF4_D1_SHIFT (16U) +/*! D1 - CSC Coefficient D1 Value */ +#define ISI_CHNL_CSC_COEFF4_D1(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF4_D1_SHIFT)) & ISI_CHNL_CSC_COEFF4_D1_MASK) +/*! @} */ + +/*! @name CHNL_CSC_COEFF5 - Channel Color Space Conversion Coefficient 5 */ +/*! @{ */ + +#define ISI_CHNL_CSC_COEFF5_D2_MASK (0x1FFU) +#define ISI_CHNL_CSC_COEFF5_D2_SHIFT (0U) +/*! D2 - CSC Coefficient D2 Value */ +#define ISI_CHNL_CSC_COEFF5_D2(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF5_D2_SHIFT)) & ISI_CHNL_CSC_COEFF5_D2_MASK) + +#define ISI_CHNL_CSC_COEFF5_D3_MASK (0x1FF0000U) +#define ISI_CHNL_CSC_COEFF5_D3_SHIFT (16U) +/*! D3 - CSC Coefficient D3 Value */ +#define ISI_CHNL_CSC_COEFF5_D3(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_CSC_COEFF5_D3_SHIFT)) & ISI_CHNL_CSC_COEFF5_D3_MASK) +/*! @} */ + +/*! @name CHNL_ROI_0_ALPHA - Channel Alpha Value for ROI 0 */ +/*! @{ */ + +#define ISI_CHNL_ROI_0_ALPHA_ALPHA_EN_MASK (0x10000U) +#define ISI_CHNL_ROI_0_ALPHA_ALPHA_EN_SHIFT (16U) +/*! ALPHA_EN - Alpha Value Insertion Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_ROI_0_ALPHA_ALPHA_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_0_ALPHA_ALPHA_EN_SHIFT)) & ISI_CHNL_ROI_0_ALPHA_ALPHA_EN_MASK) + +#define ISI_CHNL_ROI_0_ALPHA_ALPHA_MASK (0xFF000000U) +#define ISI_CHNL_ROI_0_ALPHA_ALPHA_SHIFT (24U) +/*! ALPHA - Alpha Value */ +#define ISI_CHNL_ROI_0_ALPHA_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_0_ALPHA_ALPHA_SHIFT)) & ISI_CHNL_ROI_0_ALPHA_ALPHA_MASK) +/*! @} */ + +/*! @name CHNL_ROI_0_ULC - Channel Upper Left Coordinate for ROI 0 */ +/*! @{ */ + +#define ISI_CHNL_ROI_0_ULC_Y_MASK (0xFFFU) +#define ISI_CHNL_ROI_0_ULC_Y_SHIFT (0U) +/*! Y - Upper Left Y-Coordinate */ +#define ISI_CHNL_ROI_0_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_0_ULC_Y_SHIFT)) & ISI_CHNL_ROI_0_ULC_Y_MASK) + +#define ISI_CHNL_ROI_0_ULC_X_MASK (0xFFF0000U) +#define ISI_CHNL_ROI_0_ULC_X_SHIFT (16U) +/*! X - Upper Left X-Coordinate */ +#define ISI_CHNL_ROI_0_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_0_ULC_X_SHIFT)) & ISI_CHNL_ROI_0_ULC_X_MASK) +/*! @} */ + +/*! @name CHNL_ROI_0_LRC - Channel Lower Right Coordinate for ROI 0 */ +/*! @{ */ + +#define ISI_CHNL_ROI_0_LRC_Y_MASK (0xFFFU) +#define ISI_CHNL_ROI_0_LRC_Y_SHIFT (0U) +/*! Y - Lower Right Y-Coordinate */ +#define ISI_CHNL_ROI_0_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_0_LRC_Y_SHIFT)) & ISI_CHNL_ROI_0_LRC_Y_MASK) + +#define ISI_CHNL_ROI_0_LRC_X_MASK (0xFFF0000U) +#define ISI_CHNL_ROI_0_LRC_X_SHIFT (16U) +/*! X - Lower Right X-Coordinate */ +#define ISI_CHNL_ROI_0_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_0_LRC_X_SHIFT)) & ISI_CHNL_ROI_0_LRC_X_MASK) +/*! @} */ + +/*! @name CHNL_ROI_1_ALPHA - Channel Alpha Value for ROI 1 */ +/*! @{ */ + +#define ISI_CHNL_ROI_1_ALPHA_ALPHA_EN_MASK (0x10000U) +#define ISI_CHNL_ROI_1_ALPHA_ALPHA_EN_SHIFT (16U) +/*! ALPHA_EN - Alpha Value Insertion Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_ROI_1_ALPHA_ALPHA_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_1_ALPHA_ALPHA_EN_SHIFT)) & ISI_CHNL_ROI_1_ALPHA_ALPHA_EN_MASK) + +#define ISI_CHNL_ROI_1_ALPHA_ALPHA_MASK (0xFF000000U) +#define ISI_CHNL_ROI_1_ALPHA_ALPHA_SHIFT (24U) +/*! ALPHA - Alpha Value */ +#define ISI_CHNL_ROI_1_ALPHA_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_1_ALPHA_ALPHA_SHIFT)) & ISI_CHNL_ROI_1_ALPHA_ALPHA_MASK) +/*! @} */ + +/*! @name CHNL_ROI_1_ULC - Channel Upper Left Coordinate for ROI 1 */ +/*! @{ */ + +#define ISI_CHNL_ROI_1_ULC_Y_MASK (0xFFFU) +#define ISI_CHNL_ROI_1_ULC_Y_SHIFT (0U) +/*! Y - Upper Left Y-Coordinate */ +#define ISI_CHNL_ROI_1_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_1_ULC_Y_SHIFT)) & ISI_CHNL_ROI_1_ULC_Y_MASK) + +#define ISI_CHNL_ROI_1_ULC_X_MASK (0xFFF0000U) +#define ISI_CHNL_ROI_1_ULC_X_SHIFT (16U) +/*! X - Upper Left X-Coordinate */ +#define ISI_CHNL_ROI_1_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_1_ULC_X_SHIFT)) & ISI_CHNL_ROI_1_ULC_X_MASK) +/*! @} */ + +/*! @name CHNL_ROI_1_LRC - Channel Lower Right Coordinate for ROI 1 */ +/*! @{ */ + +#define ISI_CHNL_ROI_1_LRC_Y_MASK (0xFFFU) +#define ISI_CHNL_ROI_1_LRC_Y_SHIFT (0U) +/*! Y - Lower Right Y-Coordinate */ +#define ISI_CHNL_ROI_1_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_1_LRC_Y_SHIFT)) & ISI_CHNL_ROI_1_LRC_Y_MASK) + +#define ISI_CHNL_ROI_1_LRC_X_MASK (0xFFF0000U) +#define ISI_CHNL_ROI_1_LRC_X_SHIFT (16U) +/*! X - Lower Right X-Coordinate */ +#define ISI_CHNL_ROI_1_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_1_LRC_X_SHIFT)) & ISI_CHNL_ROI_1_LRC_X_MASK) +/*! @} */ + +/*! @name CHNL_ROI_2_ALPHA - Channel Alpha Value for ROI 2 */ +/*! @{ */ + +#define ISI_CHNL_ROI_2_ALPHA_ALPHA_EN_MASK (0x10000U) +#define ISI_CHNL_ROI_2_ALPHA_ALPHA_EN_SHIFT (16U) +/*! ALPHA_EN - Alpha Value Insertion Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_ROI_2_ALPHA_ALPHA_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_2_ALPHA_ALPHA_EN_SHIFT)) & ISI_CHNL_ROI_2_ALPHA_ALPHA_EN_MASK) + +#define ISI_CHNL_ROI_2_ALPHA_ALPHA_MASK (0xFF000000U) +#define ISI_CHNL_ROI_2_ALPHA_ALPHA_SHIFT (24U) +/*! ALPHA - Alpha Value */ +#define ISI_CHNL_ROI_2_ALPHA_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_2_ALPHA_ALPHA_SHIFT)) & ISI_CHNL_ROI_2_ALPHA_ALPHA_MASK) +/*! @} */ + +/*! @name CHNL_ROI_2_ULC - Channel Upper Left Coordinate for ROI 2 */ +/*! @{ */ + +#define ISI_CHNL_ROI_2_ULC_Y_MASK (0xFFFU) +#define ISI_CHNL_ROI_2_ULC_Y_SHIFT (0U) +/*! Y - Upper Left Y-Coordinate */ +#define ISI_CHNL_ROI_2_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_2_ULC_Y_SHIFT)) & ISI_CHNL_ROI_2_ULC_Y_MASK) + +#define ISI_CHNL_ROI_2_ULC_X_MASK (0xFFF0000U) +#define ISI_CHNL_ROI_2_ULC_X_SHIFT (16U) +/*! X - Upper Left X-Coordinate */ +#define ISI_CHNL_ROI_2_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_2_ULC_X_SHIFT)) & ISI_CHNL_ROI_2_ULC_X_MASK) +/*! @} */ + +/*! @name CHNL_ROI_2_LRC - Channel Lower Right Coordinate for ROI 2 */ +/*! @{ */ + +#define ISI_CHNL_ROI_2_LRC_Y_MASK (0xFFFU) +#define ISI_CHNL_ROI_2_LRC_Y_SHIFT (0U) +/*! Y - Lower Right Y-Coordinate */ +#define ISI_CHNL_ROI_2_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_2_LRC_Y_SHIFT)) & ISI_CHNL_ROI_2_LRC_Y_MASK) + +#define ISI_CHNL_ROI_2_LRC_X_MASK (0xFFF0000U) +#define ISI_CHNL_ROI_2_LRC_X_SHIFT (16U) +/*! X - Lower Right X-Coordinate */ +#define ISI_CHNL_ROI_2_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_2_LRC_X_SHIFT)) & ISI_CHNL_ROI_2_LRC_X_MASK) +/*! @} */ + +/*! @name CHNL_ROI_3_ALPHA - Channel Alpha Value for ROI 3 */ +/*! @{ */ + +#define ISI_CHNL_ROI_3_ALPHA_ALPHA_EN_MASK (0x10000U) +#define ISI_CHNL_ROI_3_ALPHA_ALPHA_EN_SHIFT (16U) +/*! ALPHA_EN - Alpha Value Insertion Enable + * 0b0..Disable + * 0b1..Enable + */ +#define ISI_CHNL_ROI_3_ALPHA_ALPHA_EN(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_3_ALPHA_ALPHA_EN_SHIFT)) & ISI_CHNL_ROI_3_ALPHA_ALPHA_EN_MASK) + +#define ISI_CHNL_ROI_3_ALPHA_ALPHA_MASK (0xFF000000U) +#define ISI_CHNL_ROI_3_ALPHA_ALPHA_SHIFT (24U) +/*! ALPHA - Alpha Value */ +#define ISI_CHNL_ROI_3_ALPHA_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_3_ALPHA_ALPHA_SHIFT)) & ISI_CHNL_ROI_3_ALPHA_ALPHA_MASK) +/*! @} */ + +/*! @name CHNL_ROI_3_ULC - Channel Upper Left Coordinate for ROI 3 */ +/*! @{ */ + +#define ISI_CHNL_ROI_3_ULC_Y_MASK (0xFFFU) +#define ISI_CHNL_ROI_3_ULC_Y_SHIFT (0U) +/*! Y - Upper Left Y-Coordinate */ +#define ISI_CHNL_ROI_3_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_3_ULC_Y_SHIFT)) & ISI_CHNL_ROI_3_ULC_Y_MASK) + +#define ISI_CHNL_ROI_3_ULC_X_MASK (0xFFF0000U) +#define ISI_CHNL_ROI_3_ULC_X_SHIFT (16U) +/*! X - Upper Left X-Coordinate */ +#define ISI_CHNL_ROI_3_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_3_ULC_X_SHIFT)) & ISI_CHNL_ROI_3_ULC_X_MASK) +/*! @} */ + +/*! @name CHNL_ROI_3_LRC - Channel Lower Right Coordinate for ROI 3 */ +/*! @{ */ + +#define ISI_CHNL_ROI_3_LRC_Y_MASK (0xFFFU) +#define ISI_CHNL_ROI_3_LRC_Y_SHIFT (0U) +/*! Y - Lower Right Y-Coordinate */ +#define ISI_CHNL_ROI_3_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_3_LRC_Y_SHIFT)) & ISI_CHNL_ROI_3_LRC_Y_MASK) + +#define ISI_CHNL_ROI_3_LRC_X_MASK (0xFFF0000U) +#define ISI_CHNL_ROI_3_LRC_X_SHIFT (16U) +/*! X - Lower Right X-Coordinate */ +#define ISI_CHNL_ROI_3_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_ROI_3_LRC_X_SHIFT)) & ISI_CHNL_ROI_3_LRC_X_MASK) +/*! @} */ + +/*! @name CHNL_OUT_BUF1_ADDR_Y - Channel RGB or Luma (Y) Output Buffer 1 Address */ +/*! @{ */ + +#define ISI_CHNL_OUT_BUF1_ADDR_Y_ADDR_MASK (0xFFFFFFFFU) +#define ISI_CHNL_OUT_BUF1_ADDR_Y_ADDR_SHIFT (0U) +/*! ADDR - Address for RGB or Y (Luma) */ +#define ISI_CHNL_OUT_BUF1_ADDR_Y_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF1_ADDR_Y_ADDR_SHIFT)) & ISI_CHNL_OUT_BUF1_ADDR_Y_ADDR_MASK) +/*! @} */ + +/*! @name CHNL_OUT_BUF1_ADDR_U - Channel Chroma (U/Cb/UV/CbCr) Output Buffer 1 Address */ +/*! @{ */ + +#define ISI_CHNL_OUT_BUF1_ADDR_U_ADDR_MASK (0xFFFFFFFFU) +#define ISI_CHNL_OUT_BUF1_ADDR_U_ADDR_SHIFT (0U) +/*! ADDR - Address for U/Cb/UV/CbCr */ +#define ISI_CHNL_OUT_BUF1_ADDR_U_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF1_ADDR_U_ADDR_SHIFT)) & ISI_CHNL_OUT_BUF1_ADDR_U_ADDR_MASK) +/*! @} */ + +/*! @name CHNL_OUT_BUF1_ADDR_V - Channel Chroma (V/Cr) Output Buffer 1 Address */ +/*! @{ */ + +#define ISI_CHNL_OUT_BUF1_ADDR_V_ADDR_MASK (0xFFFFFFFFU) +#define ISI_CHNL_OUT_BUF1_ADDR_V_ADDR_SHIFT (0U) +/*! ADDR - Address for V or Cr */ +#define ISI_CHNL_OUT_BUF1_ADDR_V_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF1_ADDR_V_ADDR_SHIFT)) & ISI_CHNL_OUT_BUF1_ADDR_V_ADDR_MASK) +/*! @} */ + +/*! @name CHNL_OUT_BUF_PITCH - Channel Output Buffer Pitch */ +/*! @{ */ + +#define ISI_CHNL_OUT_BUF_PITCH_LINE_PITCH_MASK (0xFFFFU) +#define ISI_CHNL_OUT_BUF_PITCH_LINE_PITCH_SHIFT (0U) +/*! LINE_PITCH - Output Buffer Line Pitch */ +#define ISI_CHNL_OUT_BUF_PITCH_LINE_PITCH(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF_PITCH_LINE_PITCH_SHIFT)) & ISI_CHNL_OUT_BUF_PITCH_LINE_PITCH_MASK) +/*! @} */ + +/*! @name CHNL_IN_BUF_PITCH - Channel Input Buffer Pitch */ +/*! @{ */ + +#define ISI_CHNL_IN_BUF_PITCH_LINE_PITCH_MASK (0xFFFFU) +#define ISI_CHNL_IN_BUF_PITCH_LINE_PITCH_SHIFT (0U) +/*! LINE_PITCH - Line Pitch */ +#define ISI_CHNL_IN_BUF_PITCH_LINE_PITCH(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IN_BUF_PITCH_LINE_PITCH_SHIFT)) & ISI_CHNL_IN_BUF_PITCH_LINE_PITCH_MASK) + +#define ISI_CHNL_IN_BUF_PITCH_FRM_PITCH_MASK (0xFFFF0000U) +#define ISI_CHNL_IN_BUF_PITCH_FRM_PITCH_SHIFT (16U) +/*! FRM_PITCH - Frame Pitch */ +#define ISI_CHNL_IN_BUF_PITCH_FRM_PITCH(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_IN_BUF_PITCH_FRM_PITCH_SHIFT)) & ISI_CHNL_IN_BUF_PITCH_FRM_PITCH_MASK) +/*! @} */ + +/*! @name CHNL_MEM_RD_CTRL - Channel Memory Read Control */ +/*! @{ */ + +#define ISI_CHNL_MEM_RD_CTRL_READ_MEM_MASK (0x1U) +#define ISI_CHNL_MEM_RD_CTRL_READ_MEM_SHIFT (0U) +/*! READ_MEM - Initiate Read from Memory + * 0b0..No reads + * 0b1..Reads initiated + */ +#define ISI_CHNL_MEM_RD_CTRL_READ_MEM(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_MEM_RD_CTRL_READ_MEM_SHIFT)) & ISI_CHNL_MEM_RD_CTRL_READ_MEM_MASK) + +#define ISI_CHNL_MEM_RD_CTRL_IMG_TYPE_MASK (0xF0000000U) +#define ISI_CHNL_MEM_RD_CTRL_IMG_TYPE_SHIFT (28U) +/*! IMG_TYPE - Input Image Format */ +#define ISI_CHNL_MEM_RD_CTRL_IMG_TYPE(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_MEM_RD_CTRL_IMG_TYPE_SHIFT)) & ISI_CHNL_MEM_RD_CTRL_IMG_TYPE_MASK) +/*! @} */ + +/*! @name CHNL_OUT_BUF2_ADDR_Y - Channel RGB or Luma (Y) Output Buffer 2 Address */ +/*! @{ */ + +#define ISI_CHNL_OUT_BUF2_ADDR_Y_ADDR_MASK (0xFFFFFFFFU) +#define ISI_CHNL_OUT_BUF2_ADDR_Y_ADDR_SHIFT (0U) +/*! ADDR - Starting Address for RGB or Y */ +#define ISI_CHNL_OUT_BUF2_ADDR_Y_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF2_ADDR_Y_ADDR_SHIFT)) & ISI_CHNL_OUT_BUF2_ADDR_Y_ADDR_MASK) +/*! @} */ + +/*! @name CHNL_OUT_BUF2_ADDR_U - Channel Chroma (U/Cb/UV/CbCr) Output Buffer 2 Address */ +/*! @{ */ + +#define ISI_CHNL_OUT_BUF2_ADDR_U_ADDR_MASK (0xFFFFFFFFU) +#define ISI_CHNL_OUT_BUF2_ADDR_U_ADDR_SHIFT (0U) +/*! ADDR - Starting Address for U/Cb or 2-plane UV/CbCr */ +#define ISI_CHNL_OUT_BUF2_ADDR_U_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF2_ADDR_U_ADDR_SHIFT)) & ISI_CHNL_OUT_BUF2_ADDR_U_ADDR_MASK) +/*! @} */ + +/*! @name CHNL_OUT_BUF2_ADDR_V - Channel Chroma (V/Cr) Output Buffer 2 Address */ +/*! @{ */ + +#define ISI_CHNL_OUT_BUF2_ADDR_V_ADDR_MASK (0xFFFFFFFFU) +#define ISI_CHNL_OUT_BUF2_ADDR_V_ADDR_SHIFT (0U) +/*! ADDR - Starting Address for V or Cr */ +#define ISI_CHNL_OUT_BUF2_ADDR_V_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_OUT_BUF2_ADDR_V_ADDR_SHIFT)) & ISI_CHNL_OUT_BUF2_ADDR_V_ADDR_MASK) +/*! @} */ + +/*! @name CHNL_SCL_IMG_CFG - Channel Scaled Image Configuration */ +/*! @{ */ + +#define ISI_CHNL_SCL_IMG_CFG_WIDTH_MASK (0x1FFFU) +#define ISI_CHNL_SCL_IMG_CFG_WIDTH_SHIFT (0U) +/*! WIDTH - Scaled Image Width (Pixels) */ +#define ISI_CHNL_SCL_IMG_CFG_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_SCL_IMG_CFG_WIDTH_SHIFT)) & ISI_CHNL_SCL_IMG_CFG_WIDTH_MASK) + +#define ISI_CHNL_SCL_IMG_CFG_HEIGHT_MASK (0x1FFF0000U) +#define ISI_CHNL_SCL_IMG_CFG_HEIGHT_SHIFT (16U) +/*! HEIGHT - Scaled Image Height (Lines) */ +#define ISI_CHNL_SCL_IMG_CFG_HEIGHT(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_SCL_IMG_CFG_HEIGHT_SHIFT)) & ISI_CHNL_SCL_IMG_CFG_HEIGHT_MASK) +/*! @} */ + +/*! @name CHNL_FLOW_CTRL - Channel Flow Control */ +/*! @{ */ + +#define ISI_CHNL_FLOW_CTRL_FC_DENOM_MASK (0xFFU) +#define ISI_CHNL_FLOW_CTRL_FC_DENOM_SHIFT (0U) +/*! FC_DENOM - Denominator Value of Fraction of Usable Bandwidth + * 0b00000000..Invalid value (flow control disabled) + */ +#define ISI_CHNL_FLOW_CTRL_FC_DENOM(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_FLOW_CTRL_FC_DENOM_SHIFT)) & ISI_CHNL_FLOW_CTRL_FC_DENOM_MASK) + +#define ISI_CHNL_FLOW_CTRL_FC_NUMER_MASK (0xFF0000U) +#define ISI_CHNL_FLOW_CTRL_FC_NUMER_SHIFT (16U) +/*! FC_NUMER - Numerator Value of Fraction of Usable Bandwidth + * 0b00000000..Invalid value (flow control disabled) + */ +#define ISI_CHNL_FLOW_CTRL_FC_NUMER(x) (((uint32_t)(((uint32_t)(x)) << ISI_CHNL_FLOW_CTRL_FC_NUMER_SHIFT)) & ISI_CHNL_FLOW_CTRL_FC_NUMER_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group ISI_Register_Masks */ + + +/* ISI - Peripheral instance base addresses */ +/** Peripheral ISI base address */ +#define ISI_BASE (0x4AE40000u) +/** Peripheral ISI base pointer */ +#define ISI ((ISI_Type *)ISI_BASE) +/** Array initializer of ISI peripheral base addresses */ +#define ISI_BASE_ADDRS { ISI_BASE } +/** Array initializer of ISI peripheral base pointers */ +#define ISI_BASE_PTRS { ISI } + +/*! + * @} + */ /* end of group ISI_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- LCDIF Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LCDIF_Peripheral_Access_Layer LCDIF Peripheral Access Layer + * @{ + */ + +/** LCDIF - Register Layout Typedef */ +typedef struct { + struct { /* offset: 0x0 */ + __IO uint32_t RW; /**< LCDIF display control Register, offset: 0x0 */ + __IO uint32_t SET; /**< LCDIF display control Register, offset: 0x4 */ + __IO uint32_t CLR; /**< LCDIF display control Register, offset: 0x8 */ + __IO uint32_t TOG; /**< LCDIF display control Register, offset: 0xC */ + } CTRL; + __IO uint32_t DISP_PARA; /**< Display Parameter Register, offset: 0x10 */ + __IO uint32_t DISP_SIZE; /**< Display Size Register, offset: 0x14 */ + __IO uint32_t HSYN_PARA; /**< Horizontal Sync Parameter Register, offset: 0x18 */ + __IO uint32_t VSYN_PARA; /**< Vertical Sync Parameter Register, offset: 0x1C */ + __IO uint32_t VSYN_HSYN_WIDTH; /**< Vertical and Horizontal Pulse Width Parameter Register, offset: 0x20 */ + __IO uint32_t INT_STATUS_D0; /**< Interrupt Status Register for domain 0, offset: 0x24 */ + __IO uint32_t INT_ENABLE_D0; /**< Interrupt Enable Register for domain 0, offset: 0x28 */ + uint8_t RESERVED_0[4]; + __IO uint32_t INT_STATUS_D1; /**< Interrupt Status Register for domain 0, offset: 0x30 */ + __IO uint32_t INT_ENABLE_D1; /**< Interrupt Enable Register for domain 0, offset: 0x34 */ + uint8_t RESERVED_1[456]; + __IO uint32_t CTRLDESCL_1[1]; /**< Control Descriptor Layer Register 1, array offset: 0x200, array step: 0x4 */ + uint8_t RESERVED_2[4]; + __IO uint32_t CTRLDESCL_3[1]; /**< Control Descriptor Layer Register 3, array offset: 0x208, array step: 0x4 */ + __IO uint32_t CTRLDESCL_LOW_4[1]; /**< Control Descriptor Layer Register 4, array offset: 0x20C, array step: 0x4 */ + __IO uint32_t CTRLDESCL_HIGH_4[1]; /**< Control Descriptor Layer Register 4, array offset: 0x210, array step: 0x4 */ + __IO uint32_t CTRLDESCL_5[1]; /**< Control Descriptor Layer Register 5, array offset: 0x214, array step: 0x4 */ + uint8_t RESERVED_3[4]; + __IO uint32_t CSC_CTRL[1]; /**< Color Space Conversion Ctrl Register, array offset: 0x21C, array step: 0x4 */ + __IO uint32_t CSC_COEF0[1]; /**< Color Space Conversion Coefficient Register 0, array offset: 0x220, array step: 0x4 */ + __IO uint32_t CSC_COEF1[1]; /**< Color Space Conversion Coefficient Register 1, array offset: 0x224, array step: 0x4 */ + __IO uint32_t CSC_COEF2[1]; /**< Color Space Conversion Coefficient Register 2, array offset: 0x228, array step: 0x4 */ + __IO uint32_t CSC_COEF3[1]; /**< Color Space Conversion Coefficient Register 3, array offset: 0x22C, array step: 0x4 */ + __IO uint32_t CSC_COEF4[1]; /**< Color Space Conversion Coefficient Register 4, array offset: 0x230, array step: 0x4 */ + __IO uint32_t CSC_COEF5[1]; /**< Color Space Conversion Coefficient Register 0, array offset: 0x234, array step: 0x4 */ + __IO uint32_t PANIC_THRES[1]; /**< Memory request priority threshold register, array offset: 0x238, array step: 0x4 */ +} LCDIF_Type; + +/* ---------------------------------------------------------------------------- + -- LCDIF Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LCDIF_Register_Masks LCDIF Register Masks + * @{ + */ + +/*! @name CTRL - LCDIF display control Register */ +/*! @{ */ + +#define LCDIF_CTRL_INV_HS_MASK (0x1U) +#define LCDIF_CTRL_INV_HS_SHIFT (0U) +/*! INV_HS - Invert Horizontal synchronization signal. + * 0b0..HSYNC signal not inverted (active HIGH). + * 0b1..Invert HSYNC signal (active LOW). + */ +#define LCDIF_CTRL_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_INV_HS_SHIFT)) & LCDIF_CTRL_INV_HS_MASK) + +#define LCDIF_CTRL_INV_VS_MASK (0x2U) +#define LCDIF_CTRL_INV_VS_SHIFT (1U) +/*! INV_VS - Invert Vertical synchronization signal. + * 0b0..VSYNC signal not inverted (active HIGH). + * 0b1..Invert VSYNC signal (active LOW). + */ +#define LCDIF_CTRL_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_INV_VS_SHIFT)) & LCDIF_CTRL_INV_VS_MASK) + +#define LCDIF_CTRL_INV_DE_MASK (0x4U) +#define LCDIF_CTRL_INV_DE_SHIFT (2U) +/*! INV_DE - Invert Data Enable polarity + * 0b0..Data enable is active high + * 0b1..Data enable is active low + */ +#define LCDIF_CTRL_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_INV_DE_SHIFT)) & LCDIF_CTRL_INV_DE_MASK) + +#define LCDIF_CTRL_INV_PXCK_MASK (0x8U) +#define LCDIF_CTRL_INV_PXCK_SHIFT (3U) +/*! INV_PXCK - Polarity change of Pixel Clock. + * 0b0..Display samples data on the falling edge + * 0b1..Display samples data on the rising edge + */ +#define LCDIF_CTRL_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_INV_PXCK_SHIFT)) & LCDIF_CTRL_INV_PXCK_MASK) + +#define LCDIF_CTRL_NEG_MASK (0x10U) +#define LCDIF_CTRL_NEG_SHIFT (4U) +/*! NEG - Indicates if value at the output (pixel data output) needs to be negated. + * 0b0..Output is to remain same + * 0b1..Output to be negated + */ +#define LCDIF_CTRL_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_NEG_SHIFT)) & LCDIF_CTRL_NEG_MASK) + +#define LCDIF_CTRL_fetch_start_option_MASK (0x300U) +#define LCDIF_CTRL_fetch_start_option_SHIFT (8U) +/*! fetch_start_option - Indicates when to start fetching for new frame. This signals also decide the shadow load, fifo clear time + * 0b00..fetch start as soon as FPV begins(as the end of the data_enable) + * 0b01..fetch start as soon as PWV begins + * 0b10..fetch start as soon as BPV begins + * 0b11..fetch start as soon as RESV begins(still have hsync blanking for margin) + */ +#define LCDIF_CTRL_fetch_start_option(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_fetch_start_option_SHIFT)) & LCDIF_CTRL_fetch_start_option_MASK) + +#define LCDIF_CTRL_SW_RESET_MASK (0x80000000U) +#define LCDIF_CTRL_SW_RESET_SHIFT (31U) +/*! SW_RESET - SW_RESET + * 0b0..No action + * 0b1..All LCDIF internal registers are forced into their reset state. User registers are not affected. + */ +#define LCDIF_CTRL_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SW_RESET_SHIFT)) & LCDIF_CTRL_SW_RESET_MASK) +/*! @} */ + +/*! @name DISP_PARA - Display Parameter Register */ +/*! @{ */ + +#define LCDIF_DISP_PARA_BGND_B_MASK (0xFFU) +#define LCDIF_DISP_PARA_BGND_B_SHIFT (0U) +/*! BGND_B - Background Blue component value in display Mode 1. */ +#define LCDIF_DISP_PARA_BGND_B(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_PARA_BGND_B_SHIFT)) & LCDIF_DISP_PARA_BGND_B_MASK) + +#define LCDIF_DISP_PARA_BGND_G_MASK (0xFF00U) +#define LCDIF_DISP_PARA_BGND_G_SHIFT (8U) +/*! BGND_G - Background Green component value in display Mode 1. */ +#define LCDIF_DISP_PARA_BGND_G(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_PARA_BGND_G_SHIFT)) & LCDIF_DISP_PARA_BGND_G_MASK) + +#define LCDIF_DISP_PARA_BGND_R_MASK (0xFF0000U) +#define LCDIF_DISP_PARA_BGND_R_SHIFT (16U) +/*! BGND_R - Background Red component value in display Mode 1. */ +#define LCDIF_DISP_PARA_BGND_R(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_PARA_BGND_R_SHIFT)) & LCDIF_DISP_PARA_BGND_R_MASK) + +#define LCDIF_DISP_PARA_DISP_MODE_MASK (0x3000000U) +#define LCDIF_DISP_PARA_DISP_MODE_SHIFT (24U) +/*! DISP_MODE - LCDIF operating mode. + * 0b00..Normal mode. Panel content controlled by layer configuration. + * 0b01..display Mode1.(BGND Color Display) + * 0b10..display Mode2.(Column Color Bar) + * 0b11..display Mode3.(Row Color Bar) + */ +#define LCDIF_DISP_PARA_DISP_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_PARA_DISP_MODE_SHIFT)) & LCDIF_DISP_PARA_DISP_MODE_MASK) + +#define LCDIF_DISP_PARA_LINE_PATTERN_MASK (0x3C000000U) +#define LCDIF_DISP_PARA_LINE_PATTERN_SHIFT (26U) +/*! LINE_PATTERN - LCDIF line output order. + * 0b0000..RGB/YUV. + * 0b0001..RBG. + * 0b0010..GBR. + * 0b0011..GRB/UYV. + * 0b0100..BRG. + * 0b0101..BGR. + * 0b0110..RGB555. + * 0b0111..RGB565. + * 0b1000..YUYV at [15:0]. For line pattern with "1000 - YUYV at [15:0],Y is [15:8], U is [7:0], and next 16th bit is Y and V. + * 0b1001..UYVY at [15:0]. + * 0b1010..YVYU at [15:0]. + * 0b1011..YUYV at [15:0]. + * 0b1100..YUYV at [23:8]. + * 0b1101..UYVY at [23:8]. + * 0b1110..YVYU at [23:8]. + * 0b1111..YUYV at [23:8]. + */ +#define LCDIF_DISP_PARA_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_PARA_LINE_PATTERN_SHIFT)) & LCDIF_DISP_PARA_LINE_PATTERN_MASK) + +#define LCDIF_DISP_PARA_SWAP_EN_MASK (0x40000000U) +#define LCDIF_DISP_PARA_SWAP_EN_SHIFT (30U) +/*! SWAP_EN - output data swap enable. + * 0b0..swap disable + * 0b1..swap enbale, output data will swap the high 16bits with the low 16bits. + */ +#define LCDIF_DISP_PARA_SWAP_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_PARA_SWAP_EN_SHIFT)) & LCDIF_DISP_PARA_SWAP_EN_MASK) + +#define LCDIF_DISP_PARA_DISP_ON_MASK (0x80000000U) +#define LCDIF_DISP_PARA_DISP_ON_SHIFT (31U) +/*! DISP_ON - Display panel On/Off mode. + * 0b0..Display Off. + * 0b1..Display On. + */ +#define LCDIF_DISP_PARA_DISP_ON(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_PARA_DISP_ON_SHIFT)) & LCDIF_DISP_PARA_DISP_ON_MASK) +/*! @} */ + +/*! @name DISP_SIZE - Display Size Register */ +/*! @{ */ + +#define LCDIF_DISP_SIZE_DELTA_X_MASK (0xFFFFU) +#define LCDIF_DISP_SIZE_DELTA_X_SHIFT (0U) +/*! DELTA_X - Sets the display size horizontal resolution in pixels. */ +#define LCDIF_DISP_SIZE_DELTA_X(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_SIZE_DELTA_X_SHIFT)) & LCDIF_DISP_SIZE_DELTA_X_MASK) + +#define LCDIF_DISP_SIZE_DELTA_Y_MASK (0xFFFF0000U) +#define LCDIF_DISP_SIZE_DELTA_Y_SHIFT (16U) +/*! DELTA_Y - Sets the display size vertical resolution in pixels. */ +#define LCDIF_DISP_SIZE_DELTA_Y(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_DISP_SIZE_DELTA_Y_SHIFT)) & LCDIF_DISP_SIZE_DELTA_Y_MASK) +/*! @} */ + +/*! @name HSYN_PARA - Horizontal Sync Parameter Register */ +/*! @{ */ + +#define LCDIF_HSYN_PARA_FP_H_MASK (0xFFFFU) +#define LCDIF_HSYN_PARA_FP_H_SHIFT (0U) +/*! FP_H - HSYNC front-porch pulse width (in pixel clock cycles). Pulse width has a minimum value of 1. */ +#define LCDIF_HSYN_PARA_FP_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_HSYN_PARA_FP_H_SHIFT)) & LCDIF_HSYN_PARA_FP_H_MASK) + +#define LCDIF_HSYN_PARA_BP_H_MASK (0xFFFF0000U) +#define LCDIF_HSYN_PARA_BP_H_SHIFT (16U) +/*! BP_H - HSYNC back-porch pulse width (in pixel clock cycles). Pulse width has a minimum value of 1. */ +#define LCDIF_HSYN_PARA_BP_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_HSYN_PARA_BP_H_SHIFT)) & LCDIF_HSYN_PARA_BP_H_MASK) +/*! @} */ + +/*! @name VSYN_PARA - Vertical Sync Parameter Register */ +/*! @{ */ + +#define LCDIF_VSYN_PARA_FP_V_MASK (0xFFFFU) +#define LCDIF_VSYN_PARA_FP_V_SHIFT (0U) +/*! FP_V - VSYNC front-porch pulse width (in horizontal line cycles). Pulse width has a minimum value of 1. */ +#define LCDIF_VSYN_PARA_FP_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VSYN_PARA_FP_V_SHIFT)) & LCDIF_VSYN_PARA_FP_V_MASK) + +#define LCDIF_VSYN_PARA_BP_V_MASK (0xFFFF0000U) +#define LCDIF_VSYN_PARA_BP_V_SHIFT (16U) +/*! BP_V - VSYNC back-porch pulse width (in horizontal line cycles). Pulse width has a minimum value of 1. */ +#define LCDIF_VSYN_PARA_BP_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VSYN_PARA_BP_V_SHIFT)) & LCDIF_VSYN_PARA_BP_V_MASK) +/*! @} */ + +/*! @name VSYN_HSYN_WIDTH - Vertical and Horizontal Pulse Width Parameter Register */ +/*! @{ */ + +#define LCDIF_VSYN_HSYN_WIDTH_PW_H_MASK (0xFFFFU) +#define LCDIF_VSYN_HSYN_WIDTH_PW_H_SHIFT (0U) +/*! PW_H - HSYNC active pulse width (in pixel clock cycles). Pulse width has a minimum value of 1. */ +#define LCDIF_VSYN_HSYN_WIDTH_PW_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VSYN_HSYN_WIDTH_PW_H_SHIFT)) & LCDIF_VSYN_HSYN_WIDTH_PW_H_MASK) + +#define LCDIF_VSYN_HSYN_WIDTH_PW_V_MASK (0xFFFF0000U) +#define LCDIF_VSYN_HSYN_WIDTH_PW_V_SHIFT (16U) +/*! PW_V - VSYNC active pulse width (in horizontal line cycles). Pulse width has a minimum value of 1. */ +#define LCDIF_VSYN_HSYN_WIDTH_PW_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VSYN_HSYN_WIDTH_PW_V_SHIFT)) & LCDIF_VSYN_HSYN_WIDTH_PW_V_MASK) +/*! @} */ + +/*! @name INT_STATUS_D0 - Interrupt Status Register for domain 0 */ +/*! @{ */ + +#define LCDIF_INT_STATUS_D0_VSYNC_MASK (0x1U) +#define LCDIF_INT_STATUS_D0_VSYNC_SHIFT (0U) +/*! VSYNC - Interrupt flag to indicate that the vertical synchronization phase(The beginning of a + * frame). Write a logic 1 to this field to clear this flag. + */ +#define LCDIF_INT_STATUS_D0_VSYNC(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_STATUS_D0_VSYNC_SHIFT)) & LCDIF_INT_STATUS_D0_VSYNC_MASK) + +#define LCDIF_INT_STATUS_D0_UNDERRUN_MASK (0x2U) +#define LCDIF_INT_STATUS_D0_UNDERRUN_SHIFT (1U) +/*! UNDERRUN - Interrupt flag to indicate the output buffer underrun condition. Write a logic 1 to this field to clear this flag. */ +#define LCDIF_INT_STATUS_D0_UNDERRUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_STATUS_D0_UNDERRUN_SHIFT)) & LCDIF_INT_STATUS_D0_UNDERRUN_MASK) + +#define LCDIF_INT_STATUS_D0_VS_BLANK_MASK (0x4U) +#define LCDIF_INT_STATUS_D0_VS_BLANK_SHIFT (2U) +/*! VS_BLANK - Interrupt flag to indicate vertical blanking period. Write a logic 1 to this field to clear this flag. */ +#define LCDIF_INT_STATUS_D0_VS_BLANK(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_STATUS_D0_VS_BLANK_SHIFT)) & LCDIF_INT_STATUS_D0_VS_BLANK_MASK) + +#define LCDIF_INT_STATUS_D0_DMA_ERR_MASK (0x100U) +#define LCDIF_INT_STATUS_D0_DMA_ERR_SHIFT (8U) +/*! DMA_ERR - Interrupt flag to indicate that which PLANE has Read Error on the AXI interface. Write + * a logic 1 to this field to clear this flag. + */ +#define LCDIF_INT_STATUS_D0_DMA_ERR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_STATUS_D0_DMA_ERR_SHIFT)) & LCDIF_INT_STATUS_D0_DMA_ERR_MASK) + +#define LCDIF_INT_STATUS_D0_DMA_DONE_MASK (0x10000U) +#define LCDIF_INT_STATUS_D0_DMA_DONE_SHIFT (16U) +/*! DMA_DONE - Interrupt flag to indicate that which PLANE has fetched the last pixel from memory. + * Write a logic 1 to this field to clear this flag. + */ +#define LCDIF_INT_STATUS_D0_DMA_DONE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_STATUS_D0_DMA_DONE_SHIFT)) & LCDIF_INT_STATUS_D0_DMA_DONE_MASK) + +#define LCDIF_INT_STATUS_D0_FIFO_EMPTY_MASK (0x1000000U) +#define LCDIF_INT_STATUS_D0_FIFO_EMPTY_SHIFT (24U) +/*! FIFO_EMPTY - Interrupt flag to indicate that which FIFO in the pixel blending underflowed. Write + * a logic 1 to this field to clear this flag. + */ +#define LCDIF_INT_STATUS_D0_FIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_STATUS_D0_FIFO_EMPTY_SHIFT)) & LCDIF_INT_STATUS_D0_FIFO_EMPTY_MASK) +/*! @} */ + +/*! @name INT_ENABLE_D0 - Interrupt Enable Register for domain 0 */ +/*! @{ */ + +#define LCDIF_INT_ENABLE_D0_VSYNC_EN_MASK (0x1U) +#define LCDIF_INT_ENABLE_D0_VSYNC_EN_SHIFT (0U) +/*! VSYNC_EN - Enable Interrupt flag to indicate that the vertical synchronization phase(The beginning of a frame). */ +#define LCDIF_INT_ENABLE_D0_VSYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_ENABLE_D0_VSYNC_EN_SHIFT)) & LCDIF_INT_ENABLE_D0_VSYNC_EN_MASK) + +#define LCDIF_INT_ENABLE_D0_UNDERRUN_EN_MASK (0x2U) +#define LCDIF_INT_ENABLE_D0_UNDERRUN_EN_SHIFT (1U) +/*! UNDERRUN_EN - Enable Interrupt flag to indicate the output buffer underrun condition. */ +#define LCDIF_INT_ENABLE_D0_UNDERRUN_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_ENABLE_D0_UNDERRUN_EN_SHIFT)) & LCDIF_INT_ENABLE_D0_UNDERRUN_EN_MASK) + +#define LCDIF_INT_ENABLE_D0_VS_BLANK_EN_MASK (0x4U) +#define LCDIF_INT_ENABLE_D0_VS_BLANK_EN_SHIFT (2U) +/*! VS_BLANK_EN - Enable Interrupt flag to indicate vertical blanking period. */ +#define LCDIF_INT_ENABLE_D0_VS_BLANK_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_ENABLE_D0_VS_BLANK_EN_SHIFT)) & LCDIF_INT_ENABLE_D0_VS_BLANK_EN_MASK) + +#define LCDIF_INT_ENABLE_D0_DMA_ERR_EN_MASK (0x100U) +#define LCDIF_INT_ENABLE_D0_DMA_ERR_EN_SHIFT (8U) +/*! DMA_ERR_EN - Enable Interrupt flag to indicate that which PLANE has Read Error on the AXI interface. */ +#define LCDIF_INT_ENABLE_D0_DMA_ERR_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_ENABLE_D0_DMA_ERR_EN_SHIFT)) & LCDIF_INT_ENABLE_D0_DMA_ERR_EN_MASK) + +#define LCDIF_INT_ENABLE_D0_DMA_DONE_EN_MASK (0x10000U) +#define LCDIF_INT_ENABLE_D0_DMA_DONE_EN_SHIFT (16U) +/*! DMA_DONE_EN - Enable Interrupt flag to indicate that which PLANE has fetched the last pixel from memory. */ +#define LCDIF_INT_ENABLE_D0_DMA_DONE_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_ENABLE_D0_DMA_DONE_EN_SHIFT)) & LCDIF_INT_ENABLE_D0_DMA_DONE_EN_MASK) + +#define LCDIF_INT_ENABLE_D0_FIFO_EMPTY_EN_MASK (0x1000000U) +#define LCDIF_INT_ENABLE_D0_FIFO_EMPTY_EN_SHIFT (24U) +/*! FIFO_EMPTY_EN - Enable Interrupt flag to indicate that which FIFO in the pixel blending underflowed. */ +#define LCDIF_INT_ENABLE_D0_FIFO_EMPTY_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_ENABLE_D0_FIFO_EMPTY_EN_SHIFT)) & LCDIF_INT_ENABLE_D0_FIFO_EMPTY_EN_MASK) +/*! @} */ + +/*! @name INT_STATUS_D1 - Interrupt Status Register for domain 0 */ +/*! @{ */ + +#define LCDIF_INT_STATUS_D1_PLANE_PANIC_MASK (0x1U) +#define LCDIF_INT_STATUS_D1_PLANE_PANIC_SHIFT (0U) +/*! PLANE_PANIC - Plane panic to indicate that which FIFO reaches the panic threshold. Write a logic 1 to this field to clear this flag. */ +#define LCDIF_INT_STATUS_D1_PLANE_PANIC(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_STATUS_D1_PLANE_PANIC_SHIFT)) & LCDIF_INT_STATUS_D1_PLANE_PANIC_MASK) +/*! @} */ + +/*! @name INT_ENABLE_D1 - Interrupt Enable Register for domain 0 */ +/*! @{ */ + +#define LCDIF_INT_ENABLE_D1_PLANE_PANIC_EN_MASK (0x1U) +#define LCDIF_INT_ENABLE_D1_PLANE_PANIC_EN_SHIFT (0U) +/*! PLANE_PANIC_EN - Enable Interrupt flag to indicate that which FIFO in the pixel blending underflowed. */ +#define LCDIF_INT_ENABLE_D1_PLANE_PANIC_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_INT_ENABLE_D1_PLANE_PANIC_EN_SHIFT)) & LCDIF_INT_ENABLE_D1_PLANE_PANIC_EN_MASK) +/*! @} */ + +/*! @name CTRLDESCL_1 - Control Descriptor Layer Register 1 */ +/*! @{ */ + +#define LCDIF_CTRLDESCL_1_WIDTH_MASK (0xFFFFU) +#define LCDIF_CTRLDESCL_1_WIDTH_SHIFT (0U) +/*! WIDTH - Width of the layer in pixels. */ +#define LCDIF_CTRLDESCL_1_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_1_WIDTH_SHIFT)) & LCDIF_CTRLDESCL_1_WIDTH_MASK) + +#define LCDIF_CTRLDESCL_1_HEIGHT_MASK (0xFFFF0000U) +#define LCDIF_CTRLDESCL_1_HEIGHT_SHIFT (16U) +/*! HEIGHT - Height of the layer in pixels. */ +#define LCDIF_CTRLDESCL_1_HEIGHT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_1_HEIGHT_SHIFT)) & LCDIF_CTRLDESCL_1_HEIGHT_MASK) +/*! @} */ + +/* The count of LCDIF_CTRLDESCL_1 */ +#define LCDIF_CTRLDESCL_1_COUNT (1U) + +/*! @name CTRLDESCL_3 - Control Descriptor Layer Register 3 */ +/*! @{ */ + +#define LCDIF_CTRLDESCL_3_PITCH_MASK (0xFFFFU) +#define LCDIF_CTRLDESCL_3_PITCH_SHIFT (0U) +/*! PITCH - Number of bytes between 2 vertically adjacent pixels in system memory. Byte granularity + * is supported, but SW should align to 64B boundary. + */ +#define LCDIF_CTRLDESCL_3_PITCH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_3_PITCH_SHIFT)) & LCDIF_CTRLDESCL_3_PITCH_MASK) + +#define LCDIF_CTRLDESCL_3_T_SIZE_MASK (0x30000U) +#define LCDIF_CTRLDESCL_3_T_SIZE_SHIFT (16U) +/*! T_SIZE - Transaction Size */ +#define LCDIF_CTRLDESCL_3_T_SIZE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_3_T_SIZE_SHIFT)) & LCDIF_CTRLDESCL_3_T_SIZE_MASK) + +#define LCDIF_CTRLDESCL_3_P_SIZE_MASK (0x700000U) +#define LCDIF_CTRLDESCL_3_P_SIZE_SHIFT (20U) +/*! P_SIZE - Payload size. */ +#define LCDIF_CTRLDESCL_3_P_SIZE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_3_P_SIZE_SHIFT)) & LCDIF_CTRLDESCL_3_P_SIZE_MASK) +/*! @} */ + +/* The count of LCDIF_CTRLDESCL_3 */ +#define LCDIF_CTRLDESCL_3_COUNT (1U) + +/*! @name CTRLDESCL_LOW_4 - Control Descriptor Layer Register 4 */ +/*! @{ */ + +#define LCDIF_CTRLDESCL_LOW_4_ADDR_LOW_MASK (0xFFFFFFFFU) +#define LCDIF_CTRLDESCL_LOW_4_ADDR_LOW_SHIFT (0U) +/*! ADDR_LOW - Address of layer data in the memory. The address programmed should be 128-bit aligned. */ +#define LCDIF_CTRLDESCL_LOW_4_ADDR_LOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_LOW_4_ADDR_LOW_SHIFT)) & LCDIF_CTRLDESCL_LOW_4_ADDR_LOW_MASK) +/*! @} */ + +/* The count of LCDIF_CTRLDESCL_LOW_4 */ +#define LCDIF_CTRLDESCL_LOW_4_COUNT (1U) + +/*! @name CTRLDESCL_HIGH_4 - Control Descriptor Layer Register 4 */ +/*! @{ */ + +#define LCDIF_CTRLDESCL_HIGH_4_ADDR_HIGH_MASK (0xFU) +#define LCDIF_CTRLDESCL_HIGH_4_ADDR_HIGH_SHIFT (0U) +/*! ADDR_HIGH - Address of layer data in the memory. */ +#define LCDIF_CTRLDESCL_HIGH_4_ADDR_HIGH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_HIGH_4_ADDR_HIGH_SHIFT)) & LCDIF_CTRLDESCL_HIGH_4_ADDR_HIGH_MASK) +/*! @} */ + +/* The count of LCDIF_CTRLDESCL_HIGH_4 */ +#define LCDIF_CTRLDESCL_HIGH_4_COUNT (1U) + +/*! @name CTRLDESCL_5 - Control Descriptor Layer Register 5 */ +/*! @{ */ + +#define LCDIF_CTRLDESCL_5_YUV_FORMAT_MASK (0xC000U) +#define LCDIF_CTRLDESCL_5_YUV_FORMAT_SHIFT (14U) +/*! YUV_FORMAT - The YUV422 input format selection. + * 0b00..The YUV422 32bit memory is {Y2,V1,Y1,U1} + * 0b01..The YUV422 32bit memory is {Y2,U1,Y1,V1} + * 0b10..The YUV422 32bit memory is {V1,Y2,U1,Y1} + * 0b11..The YUV422 32bit memory is {U1,Y2,V1,Y1} + */ +#define LCDIF_CTRLDESCL_5_YUV_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_5_YUV_FORMAT_SHIFT)) & LCDIF_CTRLDESCL_5_YUV_FORMAT_MASK) + +#define LCDIF_CTRLDESCL_5_BPP_MASK (0xF000000U) +#define LCDIF_CTRLDESCL_5_BPP_SHIFT (24U) +/*! BPP - Layer encoding format (bit per pixel) + * 0b0100..16 bpp (RGB565) + * 0b0101..16 bpp (ARGB1555) + * 0b0110..16 bpp (ARGB4444) + * 0b0111..YCbCr422 + * 0b1000..24 bpp (RGB888) + * 0b1001..32 bpp (ARGB8888) + * 0b1010..32 bpp (ABGR8888) + */ +#define LCDIF_CTRLDESCL_5_BPP(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_5_BPP_SHIFT)) & LCDIF_CTRLDESCL_5_BPP_MASK) + +#define LCDIF_CTRLDESCL_5_SHADOW_LOAD_EN_MASK (0x40000000U) +#define LCDIF_CTRLDESCL_5_SHADOW_LOAD_EN_SHIFT (30U) +/*! SHADOW_LOAD_EN - Shadow Load Enable */ +#define LCDIF_CTRLDESCL_5_SHADOW_LOAD_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_5_SHADOW_LOAD_EN_SHIFT)) & LCDIF_CTRLDESCL_5_SHADOW_LOAD_EN_MASK) + +#define LCDIF_CTRLDESCL_5_EN_MASK (0x80000000U) +#define LCDIF_CTRLDESCL_5_EN_SHIFT (31U) +/*! EN - Enable the layer for DMA. + * 0b0..OFF + * 0b1..ON + */ +#define LCDIF_CTRLDESCL_5_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRLDESCL_5_EN_SHIFT)) & LCDIF_CTRLDESCL_5_EN_MASK) +/*! @} */ + +/* The count of LCDIF_CTRLDESCL_5 */ +#define LCDIF_CTRLDESCL_5_COUNT (1U) + +/*! @name CSC_CTRL - Color Space Conversion Ctrl Register */ +/*! @{ */ + +#define LCDIF_CSC_CTRL_BYPASS_MASK (0x1U) +#define LCDIF_CSC_CTRL_BYPASS_SHIFT (0U) +/*! BYPASS - This bit controls whether the pixels entering the CSC2 unit get converted or not. */ +#define LCDIF_CSC_CTRL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_CTRL_BYPASS_SHIFT)) & LCDIF_CSC_CTRL_BYPASS_MASK) + +#define LCDIF_CSC_CTRL_CSC_MODE_MASK (0x6U) +#define LCDIF_CSC_CTRL_CSC_MODE_SHIFT (1U) +/*! CSC_MODE - This field controls how the CSC unit operates on pixels when the CSC is not bypassed. + * 0b00..Convert from YUV to RGB. + * 0b01..Convert from YCbCr to RGB. + * 0b10..Reserved + * 0b11..Convert from RGB to YCbCr. + */ +#define LCDIF_CSC_CTRL_CSC_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_CTRL_CSC_MODE_SHIFT)) & LCDIF_CSC_CTRL_CSC_MODE_MASK) +/*! @} */ + +/* The count of LCDIF_CSC_CTRL */ +#define LCDIF_CSC_CTRL_COUNT (1U) + +/*! @name CSC_COEF0 - Color Space Conversion Coefficient Register 0 */ +/*! @{ */ + +#define LCDIF_CSC_COEF0_A1_MASK (0x7FFU) +#define LCDIF_CSC_COEF0_A1_SHIFT (0U) +/*! A1 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF0_A1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF0_A1_SHIFT)) & LCDIF_CSC_COEF0_A1_MASK) + +#define LCDIF_CSC_COEF0_A2_MASK (0x7FF0000U) +#define LCDIF_CSC_COEF0_A2_SHIFT (16U) +/*! A2 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF0_A2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF0_A2_SHIFT)) & LCDIF_CSC_COEF0_A2_MASK) +/*! @} */ + +/* The count of LCDIF_CSC_COEF0 */ +#define LCDIF_CSC_COEF0_COUNT (1U) + +/*! @name CSC_COEF1 - Color Space Conversion Coefficient Register 1 */ +/*! @{ */ + +#define LCDIF_CSC_COEF1_A3_MASK (0x7FFU) +#define LCDIF_CSC_COEF1_A3_SHIFT (0U) +/*! A3 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF1_A3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF1_A3_SHIFT)) & LCDIF_CSC_COEF1_A3_MASK) + +#define LCDIF_CSC_COEF1_B1_MASK (0x7FF0000U) +#define LCDIF_CSC_COEF1_B1_SHIFT (16U) +/*! B1 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF1_B1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF1_B1_SHIFT)) & LCDIF_CSC_COEF1_B1_MASK) +/*! @} */ + +/* The count of LCDIF_CSC_COEF1 */ +#define LCDIF_CSC_COEF1_COUNT (1U) + +/*! @name CSC_COEF2 - Color Space Conversion Coefficient Register 2 */ +/*! @{ */ + +#define LCDIF_CSC_COEF2_B2_MASK (0x7FFU) +#define LCDIF_CSC_COEF2_B2_SHIFT (0U) +/*! B2 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF2_B2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF2_B2_SHIFT)) & LCDIF_CSC_COEF2_B2_MASK) + +#define LCDIF_CSC_COEF2_B3_MASK (0x7FF0000U) +#define LCDIF_CSC_COEF2_B3_SHIFT (16U) +/*! B3 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF2_B3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF2_B3_SHIFT)) & LCDIF_CSC_COEF2_B3_MASK) +/*! @} */ + +/* The count of LCDIF_CSC_COEF2 */ +#define LCDIF_CSC_COEF2_COUNT (1U) + +/*! @name CSC_COEF3 - Color Space Conversion Coefficient Register 3 */ +/*! @{ */ + +#define LCDIF_CSC_COEF3_C1_MASK (0x7FFU) +#define LCDIF_CSC_COEF3_C1_SHIFT (0U) +/*! C1 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF3_C1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF3_C1_SHIFT)) & LCDIF_CSC_COEF3_C1_MASK) + +#define LCDIF_CSC_COEF3_C2_MASK (0x7FF0000U) +#define LCDIF_CSC_COEF3_C2_SHIFT (16U) +/*! C2 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF3_C2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF3_C2_SHIFT)) & LCDIF_CSC_COEF3_C2_MASK) +/*! @} */ + +/* The count of LCDIF_CSC_COEF3 */ +#define LCDIF_CSC_COEF3_COUNT (1U) + +/*! @name CSC_COEF4 - Color Space Conversion Coefficient Register 4 */ +/*! @{ */ + +#define LCDIF_CSC_COEF4_C3_MASK (0x7FFU) +#define LCDIF_CSC_COEF4_C3_SHIFT (0U) +/*! C3 - Two's complement coefficient offset. This coefficient has a sign bit, 2 bits integer, and 8 + * bits of fraction as ###.####_####. + */ +#define LCDIF_CSC_COEF4_C3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF4_C3_SHIFT)) & LCDIF_CSC_COEF4_C3_MASK) + +#define LCDIF_CSC_COEF4_D1_MASK (0x1FF0000U) +#define LCDIF_CSC_COEF4_D1_SHIFT (16U) +/*! D1 - Two's complement D1 coefficient integer offset to be added. */ +#define LCDIF_CSC_COEF4_D1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF4_D1_SHIFT)) & LCDIF_CSC_COEF4_D1_MASK) +/*! @} */ + +/* The count of LCDIF_CSC_COEF4 */ +#define LCDIF_CSC_COEF4_COUNT (1U) + +/*! @name CSC_COEF5 - Color Space Conversion Coefficient Register 0 */ +/*! @{ */ + +#define LCDIF_CSC_COEF5_D2_MASK (0x1FFU) +#define LCDIF_CSC_COEF5_D2_SHIFT (0U) +/*! D2 - Two's complement D2 coefficient integer offset to be added. */ +#define LCDIF_CSC_COEF5_D2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF5_D2_SHIFT)) & LCDIF_CSC_COEF5_D2_MASK) + +#define LCDIF_CSC_COEF5_D3_MASK (0x1FF0000U) +#define LCDIF_CSC_COEF5_D3_SHIFT (16U) +/*! D3 - Two's complement D3 coefficient integer offset to be added. */ +#define LCDIF_CSC_COEF5_D3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CSC_COEF5_D3_SHIFT)) & LCDIF_CSC_COEF5_D3_MASK) +/*! @} */ + +/* The count of LCDIF_CSC_COEF5 */ +#define LCDIF_CSC_COEF5_COUNT (1U) + +/*! @name PANIC_THRES - Memory request priority threshold register */ +/*! @{ */ + +#define LCDIF_PANIC_THRES_PANIC_THRES_HIGH_MASK (0x1FFU) +#define LCDIF_PANIC_THRES_PANIC_THRES_HIGH_SHIFT (0U) +/*! PANIC_THRES_HIGH - Panic Threshold High Value */ +#define LCDIF_PANIC_THRES_PANIC_THRES_HIGH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PANIC_THRES_PANIC_THRES_HIGH_SHIFT)) & LCDIF_PANIC_THRES_PANIC_THRES_HIGH_MASK) + +#define LCDIF_PANIC_THRES_PANIC_THRES_LOW_MASK (0x1FF0000U) +#define LCDIF_PANIC_THRES_PANIC_THRES_LOW_SHIFT (16U) +/*! PANIC_THRES_LOW - Panic Threshold Low Value */ +#define LCDIF_PANIC_THRES_PANIC_THRES_LOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PANIC_THRES_PANIC_THRES_LOW_SHIFT)) & LCDIF_PANIC_THRES_PANIC_THRES_LOW_MASK) +/*! @} */ + +/* The count of LCDIF_PANIC_THRES */ +#define LCDIF_PANIC_THRES_COUNT (1U) + + +/*! + * @} + */ /* end of group LCDIF_Register_Masks */ + + +/* LCDIF - Peripheral instance base addresses */ +/** Peripheral LCDIF base address */ +#define LCDIF_BASE (0x4AE30000u) +/** Peripheral LCDIF base pointer */ +#define LCDIF ((LCDIF_Type *)LCDIF_BASE) +/** Array initializer of LCDIF peripheral base addresses */ +#define LCDIF_BASE_ADDRS { LCDIF_BASE } +/** Array initializer of LCDIF peripheral base pointers */ +#define LCDIF_BASE_PTRS { LCDIF } + +/*! + * @} + */ /* end of group LCDIF_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- LPI2C Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPI2C_Peripheral_Access_Layer LPI2C Peripheral Access Layer + * @{ + */ + +/** LPI2C - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< Version ID, offset: 0x0 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x4 */ + uint8_t RESERVED_0[8]; + __IO uint32_t MCR; /**< Controller Control, offset: 0x10 */ + __IO uint32_t MSR; /**< Controller Status, offset: 0x14 */ + __IO uint32_t MIER; /**< Controller Interrupt Enable, offset: 0x18 */ + __IO uint32_t MDER; /**< Controller DMA Enable, offset: 0x1C */ + __IO uint32_t MCFGR0; /**< Controller Configuration 0, offset: 0x20 */ + __IO uint32_t MCFGR1; /**< Controller Configuration 1, offset: 0x24 */ + __IO uint32_t MCFGR2; /**< Controller Configuration 2, offset: 0x28 */ + __IO uint32_t MCFGR3; /**< Controller Configuration 3, offset: 0x2C */ + uint8_t RESERVED_1[16]; + __IO uint32_t MDMR; /**< Controller Data Match, offset: 0x40 */ + uint8_t RESERVED_2[4]; + __IO uint32_t MCCR0; /**< Controller Clock Configuration 0, offset: 0x48 */ + uint8_t RESERVED_3[4]; + __IO uint32_t MCCR1; /**< Controller Clock Configuration 1, offset: 0x50 */ + uint8_t RESERVED_4[4]; + __IO uint32_t MFCR; /**< Controller FIFO Control, offset: 0x58 */ + __I uint32_t MFSR; /**< Controller FIFO Status, offset: 0x5C */ + __O uint32_t MTDR; /**< Controller Transmit Data, offset: 0x60 */ + uint8_t RESERVED_5[12]; + __I uint32_t MRDR; /**< Controller Receive Data, offset: 0x70 */ + uint8_t RESERVED_6[4]; + __I uint32_t MRDROR; /**< Controller Receive Data Read Only, offset: 0x78 */ + uint8_t RESERVED_7[148]; + __IO uint32_t SCR; /**< Target Control, offset: 0x110 */ + __IO uint32_t SSR; /**< Target Status, offset: 0x114 */ + __IO uint32_t SIER; /**< Target Interrupt Enable, offset: 0x118 */ + __IO uint32_t SDER; /**< Target DMA Enable, offset: 0x11C */ + __IO uint32_t SCFGR0; /**< Target Configuration 0, offset: 0x120 */ + __IO uint32_t SCFGR1; /**< Target Configuration 1, offset: 0x124 */ + __IO uint32_t SCFGR2; /**< Target Configuration 2, offset: 0x128 */ + uint8_t RESERVED_8[20]; + __IO uint32_t SAMR; /**< Target Address Match, offset: 0x140 */ + uint8_t RESERVED_9[12]; + __I uint32_t SASR; /**< Target Address Status, offset: 0x150 */ + __IO uint32_t STAR; /**< Target Transmit ACK, offset: 0x154 */ + uint8_t RESERVED_10[8]; + __O uint32_t STDR; /**< Target Transmit Data, offset: 0x160 */ + uint8_t RESERVED_11[12]; + __I uint32_t SRDR; /**< Target Receive Data, offset: 0x170 */ + uint8_t RESERVED_12[4]; + __I uint32_t SRDROR; /**< Target Receive Data Read Only, offset: 0x178 */ + uint8_t RESERVED_13[132]; + __O uint32_t MTCBR[128]; /**< Controller Transmit Command Burst, array offset: 0x200, array step: 0x4 */ + __O uint32_t MTDBR[256]; /**< Transmit Data Burst, array offset: 0x400, array step: 0x4 */ +} LPI2C_Type; + +/* ---------------------------------------------------------------------------- + -- LPI2C Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPI2C_Register_Masks LPI2C Register Masks + * @{ + */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define LPI2C_VERID_FEATURE_MASK (0xFFFFU) +#define LPI2C_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Specification Number + * 0b0000000000000010..Controller only, with standard feature set + * 0b0000000000000011..Controller and target, with standard feature set + */ +#define LPI2C_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_FEATURE_SHIFT)) & LPI2C_VERID_FEATURE_MASK) + +#define LPI2C_VERID_MINOR_MASK (0xFF0000U) +#define LPI2C_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define LPI2C_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MINOR_SHIFT)) & LPI2C_VERID_MINOR_MASK) + +#define LPI2C_VERID_MAJOR_MASK (0xFF000000U) +#define LPI2C_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define LPI2C_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MAJOR_SHIFT)) & LPI2C_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define LPI2C_PARAM_MTXFIFO_MASK (0xFU) +#define LPI2C_PARAM_MTXFIFO_SHIFT (0U) +/*! MTXFIFO - Controller Transmit FIFO Size */ +#define LPI2C_PARAM_MTXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MTXFIFO_SHIFT)) & LPI2C_PARAM_MTXFIFO_MASK) + +#define LPI2C_PARAM_MRXFIFO_MASK (0xF00U) +#define LPI2C_PARAM_MRXFIFO_SHIFT (8U) +/*! MRXFIFO - Controller Receive FIFO Size */ +#define LPI2C_PARAM_MRXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MRXFIFO_SHIFT)) & LPI2C_PARAM_MRXFIFO_MASK) +/*! @} */ + +/*! @name MCR - Controller Control */ +/*! @{ */ + +#define LPI2C_MCR_MEN_MASK (0x1U) +#define LPI2C_MCR_MEN_SHIFT (0U) +/*! MEN - Controller Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MCR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_MEN_SHIFT)) & LPI2C_MCR_MEN_MASK) + +#define LPI2C_MCR_RST_MASK (0x2U) +#define LPI2C_MCR_RST_SHIFT (1U) +/*! RST - Software Reset + * 0b0..No effect + * 0b1..Reset + */ +#define LPI2C_MCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RST_SHIFT)) & LPI2C_MCR_RST_MASK) + +#define LPI2C_MCR_DOZEN_MASK (0x4U) +#define LPI2C_MCR_DOZEN_SHIFT (2U) +/*! DOZEN - Doze Mode Enable + * 0b0..Enable + * 0b1..Disable + */ +#define LPI2C_MCR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DOZEN_SHIFT)) & LPI2C_MCR_DOZEN_MASK) + +#define LPI2C_MCR_DBGEN_MASK (0x8U) +#define LPI2C_MCR_DBGEN_SHIFT (3U) +/*! DBGEN - Debug Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MCR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DBGEN_SHIFT)) & LPI2C_MCR_DBGEN_MASK) + +#define LPI2C_MCR_RTF_MASK (0x100U) +#define LPI2C_MCR_RTF_SHIFT (8U) +/*! RTF - Reset Transmit FIFO + * 0b0..No effect + * 0b1..Reset transmit FIFO + */ +#define LPI2C_MCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RTF_SHIFT)) & LPI2C_MCR_RTF_MASK) + +#define LPI2C_MCR_RRF_MASK (0x200U) +#define LPI2C_MCR_RRF_SHIFT (9U) +/*! RRF - Reset Receive FIFO + * 0b0..No effect + * 0b1..Reset receive FIFO + */ +#define LPI2C_MCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RRF_SHIFT)) & LPI2C_MCR_RRF_MASK) +/*! @} */ + +/*! @name MSR - Controller Status */ +/*! @{ */ + +#define LPI2C_MSR_TDF_MASK (0x1U) +#define LPI2C_MSR_TDF_SHIFT (0U) +/*! TDF - Transmit Data Flag + * 0b0..Transmit data not requested + * 0b1..Transmit data requested + */ +#define LPI2C_MSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_TDF_SHIFT)) & LPI2C_MSR_TDF_MASK) + +#define LPI2C_MSR_RDF_MASK (0x2U) +#define LPI2C_MSR_RDF_SHIFT (1U) +/*! RDF - Receive Data Flag + * 0b0..Receive data not ready + * 0b1..Receive data ready + */ +#define LPI2C_MSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_RDF_SHIFT)) & LPI2C_MSR_RDF_MASK) + +#define LPI2C_MSR_EPF_MASK (0x100U) +#define LPI2C_MSR_EPF_SHIFT (8U) +/*! EPF - End Packet Flag + * 0b0..No Stop or repeated Start generated + * 0b0..No effect + * 0b1..Stop or repeated Start generated + * 0b1..Clear the flag + */ +#define LPI2C_MSR_EPF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_EPF_SHIFT)) & LPI2C_MSR_EPF_MASK) + +#define LPI2C_MSR_SDF_MASK (0x200U) +#define LPI2C_MSR_SDF_SHIFT (9U) +/*! SDF - Stop Detect Flag + * 0b0..No Stop condition generated + * 0b0..No effect + * 0b1..Stop condition generated + * 0b1..Clear the flag + */ +#define LPI2C_MSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_SDF_SHIFT)) & LPI2C_MSR_SDF_MASK) + +#define LPI2C_MSR_NDF_MASK (0x400U) +#define LPI2C_MSR_NDF_SHIFT (10U) +/*! NDF - NACK Detect Flag + * 0b0..No unexpected NACK detected + * 0b0..No effect + * 0b1..Unexpected NACK detected + * 0b1..Clear the flag + */ +#define LPI2C_MSR_NDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_NDF_SHIFT)) & LPI2C_MSR_NDF_MASK) + +#define LPI2C_MSR_ALF_MASK (0x800U) +#define LPI2C_MSR_ALF_SHIFT (11U) +/*! ALF - Arbitration Lost Flag + * 0b0..Controller did not lose arbitration + * 0b0..No effect + * 0b1..Controller lost arbitration + * 0b1..Clear the flag + */ +#define LPI2C_MSR_ALF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_ALF_SHIFT)) & LPI2C_MSR_ALF_MASK) + +#define LPI2C_MSR_FEF_MASK (0x1000U) +#define LPI2C_MSR_FEF_SHIFT (12U) +/*! FEF - FIFO Error Flag + * 0b0..No FIFO error + * 0b0..No effect + * 0b1..FIFO error + * 0b1..Clear the flag + */ +#define LPI2C_MSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_FEF_SHIFT)) & LPI2C_MSR_FEF_MASK) + +#define LPI2C_MSR_PLTF_MASK (0x2000U) +#define LPI2C_MSR_PLTF_SHIFT (13U) +/*! PLTF - Pin Low Timeout Flag + * 0b0..Pin low timeout did not occur + * 0b0..No effect + * 0b1..Pin low timeout occurred + * 0b1..Clear the flag + */ +#define LPI2C_MSR_PLTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_PLTF_SHIFT)) & LPI2C_MSR_PLTF_MASK) + +#define LPI2C_MSR_DMF_MASK (0x4000U) +#define LPI2C_MSR_DMF_SHIFT (14U) +/*! DMF - Data Match Flag + * 0b0..Matching data not received + * 0b0..No effect + * 0b1..Matching data received + * 0b1..Clear the flag + */ +#define LPI2C_MSR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_DMF_SHIFT)) & LPI2C_MSR_DMF_MASK) + +#define LPI2C_MSR_STF_MASK (0x8000U) +#define LPI2C_MSR_STF_SHIFT (15U) +/*! STF - Start Flag + * 0b0..Start condition not detected + * 0b0..No effect + * 0b1..Start condition detected + * 0b1..Clear the flag + */ +#define LPI2C_MSR_STF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_STF_SHIFT)) & LPI2C_MSR_STF_MASK) + +#define LPI2C_MSR_MBF_MASK (0x1000000U) +#define LPI2C_MSR_MBF_SHIFT (24U) +/*! MBF - Controller Busy Flag + * 0b0..Idle + * 0b1..Busy + */ +#define LPI2C_MSR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_MBF_SHIFT)) & LPI2C_MSR_MBF_MASK) + +#define LPI2C_MSR_BBF_MASK (0x2000000U) +#define LPI2C_MSR_BBF_SHIFT (25U) +/*! BBF - Bus Busy Flag + * 0b0..Idle + * 0b1..Busy + */ +#define LPI2C_MSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_BBF_SHIFT)) & LPI2C_MSR_BBF_MASK) +/*! @} */ + +/*! @name MIER - Controller Interrupt Enable */ +/*! @{ */ + +#define LPI2C_MIER_TDIE_MASK (0x1U) +#define LPI2C_MIER_TDIE_SHIFT (0U) +/*! TDIE - Transmit Data Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_TDIE_SHIFT)) & LPI2C_MIER_TDIE_MASK) + +#define LPI2C_MIER_RDIE_MASK (0x2U) +#define LPI2C_MIER_RDIE_SHIFT (1U) +/*! RDIE - Receive Data Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_RDIE_SHIFT)) & LPI2C_MIER_RDIE_MASK) + +#define LPI2C_MIER_EPIE_MASK (0x100U) +#define LPI2C_MIER_EPIE_SHIFT (8U) +/*! EPIE - End Packet Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_EPIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_EPIE_SHIFT)) & LPI2C_MIER_EPIE_MASK) + +#define LPI2C_MIER_SDIE_MASK (0x200U) +#define LPI2C_MIER_SDIE_SHIFT (9U) +/*! SDIE - Stop Detect Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_SDIE_SHIFT)) & LPI2C_MIER_SDIE_MASK) + +#define LPI2C_MIER_NDIE_MASK (0x400U) +#define LPI2C_MIER_NDIE_SHIFT (10U) +/*! NDIE - NACK Detect Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_NDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_NDIE_SHIFT)) & LPI2C_MIER_NDIE_MASK) + +#define LPI2C_MIER_ALIE_MASK (0x800U) +#define LPI2C_MIER_ALIE_SHIFT (11U) +/*! ALIE - Arbitration Lost Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_ALIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_ALIE_SHIFT)) & LPI2C_MIER_ALIE_MASK) + +#define LPI2C_MIER_FEIE_MASK (0x1000U) +#define LPI2C_MIER_FEIE_SHIFT (12U) +/*! FEIE - FIFO Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_FEIE_SHIFT)) & LPI2C_MIER_FEIE_MASK) + +#define LPI2C_MIER_PLTIE_MASK (0x2000U) +#define LPI2C_MIER_PLTIE_SHIFT (13U) +/*! PLTIE - Pin Low Timeout Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_PLTIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_PLTIE_SHIFT)) & LPI2C_MIER_PLTIE_MASK) + +#define LPI2C_MIER_DMIE_MASK (0x4000U) +#define LPI2C_MIER_DMIE_SHIFT (14U) +/*! DMIE - Data Match Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_DMIE_SHIFT)) & LPI2C_MIER_DMIE_MASK) + +#define LPI2C_MIER_STIE_MASK (0x8000U) +#define LPI2C_MIER_STIE_SHIFT (15U) +/*! STIE - Start Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MIER_STIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_STIE_SHIFT)) & LPI2C_MIER_STIE_MASK) +/*! @} */ + +/*! @name MDER - Controller DMA Enable */ +/*! @{ */ + +#define LPI2C_MDER_TDDE_MASK (0x1U) +#define LPI2C_MDER_TDDE_SHIFT (0U) +/*! TDDE - Transmit Data DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_TDDE_SHIFT)) & LPI2C_MDER_TDDE_MASK) + +#define LPI2C_MDER_RDDE_MASK (0x2U) +#define LPI2C_MDER_RDDE_SHIFT (1U) +/*! RDDE - Receive Data DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_RDDE_SHIFT)) & LPI2C_MDER_RDDE_MASK) +/*! @} */ + +/*! @name MCFGR0 - Controller Configuration 0 */ +/*! @{ */ + +#define LPI2C_MCFGR0_HREN_MASK (0x1U) +#define LPI2C_MCFGR0_HREN_SHIFT (0U) +/*! HREN - Host Request Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MCFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HREN_SHIFT)) & LPI2C_MCFGR0_HREN_MASK) + +#define LPI2C_MCFGR0_HRPOL_MASK (0x2U) +#define LPI2C_MCFGR0_HRPOL_SHIFT (1U) +/*! HRPOL - Host Request Polarity + * 0b0..Active low + * 0b1..Active high + */ +#define LPI2C_MCFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRPOL_SHIFT)) & LPI2C_MCFGR0_HRPOL_MASK) + +#define LPI2C_MCFGR0_HRSEL_MASK (0x4U) +#define LPI2C_MCFGR0_HRSEL_SHIFT (2U) +/*! HRSEL - Host Request Select + * 0b0.. + * 0b1..Host request input is input trigger + */ +#define LPI2C_MCFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRSEL_SHIFT)) & LPI2C_MCFGR0_HRSEL_MASK) + +#define LPI2C_MCFGR0_CIRFIFO_MASK (0x100U) +#define LPI2C_MCFGR0_CIRFIFO_SHIFT (8U) +/*! CIRFIFO - Circular FIFO Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_MCFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_CIRFIFO_SHIFT)) & LPI2C_MCFGR0_CIRFIFO_MASK) + +#define LPI2C_MCFGR0_RDMO_MASK (0x200U) +#define LPI2C_MCFGR0_RDMO_SHIFT (9U) +/*! RDMO - Receive Data Match Only + * 0b0..Received data is stored in the receive FIFO + * 0b1..Received data is discarded unless MSR[DMF] is set + */ +#define LPI2C_MCFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_RDMO_SHIFT)) & LPI2C_MCFGR0_RDMO_MASK) + +#define LPI2C_MCFGR0_RELAX_MASK (0x10000U) +#define LPI2C_MCFGR0_RELAX_SHIFT (16U) +/*! RELAX - Relaxed Mode + * 0b0..Normal transfer + * 0b1..Relaxed transfer + */ +#define LPI2C_MCFGR0_RELAX(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_RELAX_SHIFT)) & LPI2C_MCFGR0_RELAX_MASK) + +#define LPI2C_MCFGR0_ABORT_MASK (0x20000U) +#define LPI2C_MCFGR0_ABORT_SHIFT (17U) +/*! ABORT - Abort Transfer + * 0b0..Normal transfer + * 0b1..Abort existing transfer and do not start a new one + */ +#define LPI2C_MCFGR0_ABORT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_ABORT_SHIFT)) & LPI2C_MCFGR0_ABORT_MASK) +/*! @} */ + +/*! @name MCFGR1 - Controller Configuration 1 */ +/*! @{ */ + +#define LPI2C_MCFGR1_PRESCALE_MASK (0x7U) +#define LPI2C_MCFGR1_PRESCALE_SHIFT (0U) +/*! PRESCALE - Prescaler + * 0b000..Divide by 1 + * 0b001..Divide by 2 + * 0b010..Divide by 4 + * 0b011..Divide by 8 + * 0b100..Divide by 16 + * 0b101..Divide by 32 + * 0b110..Divide by 64 + * 0b111..Divide by 128 + */ +#define LPI2C_MCFGR1_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PRESCALE_SHIFT)) & LPI2C_MCFGR1_PRESCALE_MASK) + +#define LPI2C_MCFGR1_AUTOSTOP_MASK (0x100U) +#define LPI2C_MCFGR1_AUTOSTOP_SHIFT (8U) +/*! AUTOSTOP - Automatic Stop Generation + * 0b0..No effect + * 0b1..Stop automatically generated + */ +#define LPI2C_MCFGR1_AUTOSTOP(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_AUTOSTOP_SHIFT)) & LPI2C_MCFGR1_AUTOSTOP_MASK) + +#define LPI2C_MCFGR1_IGNACK_MASK (0x200U) +#define LPI2C_MCFGR1_IGNACK_SHIFT (9U) +/*! IGNACK - Ignore NACK + * 0b0..No effect + * 0b1..Treat a received NACK as an ACK + */ +#define LPI2C_MCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_IGNACK_SHIFT)) & LPI2C_MCFGR1_IGNACK_MASK) + +#define LPI2C_MCFGR1_TIMECFG_MASK (0x400U) +#define LPI2C_MCFGR1_TIMECFG_SHIFT (10U) +/*! TIMECFG - Timeout Configuration + * 0b0..SCL + * 0b1..SCL or SDA + */ +#define LPI2C_MCFGR1_TIMECFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_TIMECFG_SHIFT)) & LPI2C_MCFGR1_TIMECFG_MASK) + +#define LPI2C_MCFGR1_STOPCFG_MASK (0x800U) +#define LPI2C_MCFGR1_STOPCFG_SHIFT (11U) +/*! STOPCFG - Stop Configuration + * 0b0..Any Stop condition + * 0b1..Last Stop condition + */ +#define LPI2C_MCFGR1_STOPCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_STOPCFG_SHIFT)) & LPI2C_MCFGR1_STOPCFG_MASK) + +#define LPI2C_MCFGR1_STARTCFG_MASK (0x1000U) +#define LPI2C_MCFGR1_STARTCFG_SHIFT (12U) +/*! STARTCFG - Start Configuration + * 0b0..Sets when both I2C bus and LPI2C controller are idle + * 0b1..Sets when I2C bus is idle + */ +#define LPI2C_MCFGR1_STARTCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_STARTCFG_SHIFT)) & LPI2C_MCFGR1_STARTCFG_MASK) + +#define LPI2C_MCFGR1_MATCFG_MASK (0x70000U) +#define LPI2C_MCFGR1_MATCFG_SHIFT (16U) +/*! MATCFG - Match Configuration + * 0b000..Match is disabled + * 0b001..Reserved + * 0b010..Match is enabled: first data word equals MDMR[MATCH0] OR MDMR[MATCH1] + * 0b011..Match is enabled: any data word equals MDMR[MATCH0] OR MDMR[MATCH1] + * 0b100..Match is enabled: (first data word equals MDMR[MATCH0]) AND (second data word equals MDMR[MATCH1) + * 0b101..Match is enabled: (any data word equals MDMR[MATCH0]) AND (next data word equals MDMR[MATCH1) + * 0b110..Match is enabled: (first data word AND MDMR[MATCH1]) equals (MDMR[MATCH0] AND MDMR[MATCH1]) + * 0b111..Match is enabled: (any data word AND MDMR[MATCH1]) equals (MDMR[MATCH0] AND MDMR[MATCH1]) + */ +#define LPI2C_MCFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_MATCFG_SHIFT)) & LPI2C_MCFGR1_MATCFG_MASK) + +#define LPI2C_MCFGR1_PINCFG_MASK (0x7000000U) +#define LPI2C_MCFGR1_PINCFG_SHIFT (24U) +/*! PINCFG - Pin Configuration + * 0b000..Two-pin open drain mode + * 0b001..Two-pin output only mode (Ultra-Fast mode) + * 0b010..Two-pin push-pull mode + * 0b011..Four-pin push-pull mode + * 0b100..Two-pin open-drain mode with separate LPI2C target + * 0b101..Two-pin output only mode (Ultra-Fast mode) with separate LPI2C target + * 0b110..Two-pin push-pull mode with separate LPI2C target + * 0b111..Four-pin push-pull mode (inverted outputs) + */ +#define LPI2C_MCFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PINCFG_SHIFT)) & LPI2C_MCFGR1_PINCFG_MASK) +/*! @} */ + +/*! @name MCFGR2 - Controller Configuration 2 */ +/*! @{ */ + +#define LPI2C_MCFGR2_BUSIDLE_MASK (0xFFFU) +#define LPI2C_MCFGR2_BUSIDLE_SHIFT (0U) +/*! BUSIDLE - Bus Idle Timeout */ +#define LPI2C_MCFGR2_BUSIDLE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_BUSIDLE_SHIFT)) & LPI2C_MCFGR2_BUSIDLE_MASK) + +#define LPI2C_MCFGR2_FILTSCL_MASK (0xF0000U) +#define LPI2C_MCFGR2_FILTSCL_SHIFT (16U) +/*! FILTSCL - Glitch Filter SCL */ +#define LPI2C_MCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSCL_SHIFT)) & LPI2C_MCFGR2_FILTSCL_MASK) + +#define LPI2C_MCFGR2_FILTSDA_MASK (0xF000000U) +#define LPI2C_MCFGR2_FILTSDA_SHIFT (24U) +/*! FILTSDA - Glitch Filter SDA */ +#define LPI2C_MCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSDA_SHIFT)) & LPI2C_MCFGR2_FILTSDA_MASK) +/*! @} */ + +/*! @name MCFGR3 - Controller Configuration 3 */ +/*! @{ */ + +#define LPI2C_MCFGR3_PINLOW_MASK (0xFFF00U) +#define LPI2C_MCFGR3_PINLOW_SHIFT (8U) +/*! PINLOW - Pin Low Timeout */ +#define LPI2C_MCFGR3_PINLOW(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR3_PINLOW_SHIFT)) & LPI2C_MCFGR3_PINLOW_MASK) +/*! @} */ + +/*! @name MDMR - Controller Data Match */ +/*! @{ */ + +#define LPI2C_MDMR_MATCH0_MASK (0xFFU) +#define LPI2C_MDMR_MATCH0_SHIFT (0U) +/*! MATCH0 - Match 0 Value */ +#define LPI2C_MDMR_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH0_SHIFT)) & LPI2C_MDMR_MATCH0_MASK) + +#define LPI2C_MDMR_MATCH1_MASK (0xFF0000U) +#define LPI2C_MDMR_MATCH1_SHIFT (16U) +/*! MATCH1 - Match 1 Value */ +#define LPI2C_MDMR_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH1_SHIFT)) & LPI2C_MDMR_MATCH1_MASK) +/*! @} */ + +/*! @name MCCR0 - Controller Clock Configuration 0 */ +/*! @{ */ + +#define LPI2C_MCCR0_CLKLO_MASK (0x3FU) +#define LPI2C_MCCR0_CLKLO_SHIFT (0U) +/*! CLKLO - Clock Low Period */ +#define LPI2C_MCCR0_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKLO_SHIFT)) & LPI2C_MCCR0_CLKLO_MASK) + +#define LPI2C_MCCR0_CLKHI_MASK (0x3F00U) +#define LPI2C_MCCR0_CLKHI_SHIFT (8U) +/*! CLKHI - Clock High Period */ +#define LPI2C_MCCR0_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKHI_SHIFT)) & LPI2C_MCCR0_CLKHI_MASK) + +#define LPI2C_MCCR0_SETHOLD_MASK (0x3F0000U) +#define LPI2C_MCCR0_SETHOLD_SHIFT (16U) +/*! SETHOLD - Setup Hold Delay */ +#define LPI2C_MCCR0_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_SETHOLD_SHIFT)) & LPI2C_MCCR0_SETHOLD_MASK) + +#define LPI2C_MCCR0_DATAVD_MASK (0x3F000000U) +#define LPI2C_MCCR0_DATAVD_SHIFT (24U) +/*! DATAVD - Data Valid Delay */ +#define LPI2C_MCCR0_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_DATAVD_SHIFT)) & LPI2C_MCCR0_DATAVD_MASK) +/*! @} */ + +/*! @name MCCR1 - Controller Clock Configuration 1 */ +/*! @{ */ + +#define LPI2C_MCCR1_CLKLO_MASK (0x3FU) +#define LPI2C_MCCR1_CLKLO_SHIFT (0U) +/*! CLKLO - Clock Low Period */ +#define LPI2C_MCCR1_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKLO_SHIFT)) & LPI2C_MCCR1_CLKLO_MASK) + +#define LPI2C_MCCR1_CLKHI_MASK (0x3F00U) +#define LPI2C_MCCR1_CLKHI_SHIFT (8U) +/*! CLKHI - Clock High Period */ +#define LPI2C_MCCR1_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKHI_SHIFT)) & LPI2C_MCCR1_CLKHI_MASK) + +#define LPI2C_MCCR1_SETHOLD_MASK (0x3F0000U) +#define LPI2C_MCCR1_SETHOLD_SHIFT (16U) +/*! SETHOLD - Setup Hold Delay */ +#define LPI2C_MCCR1_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_SETHOLD_SHIFT)) & LPI2C_MCCR1_SETHOLD_MASK) + +#define LPI2C_MCCR1_DATAVD_MASK (0x3F000000U) +#define LPI2C_MCCR1_DATAVD_SHIFT (24U) +/*! DATAVD - Data Valid Delay */ +#define LPI2C_MCCR1_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_DATAVD_SHIFT)) & LPI2C_MCCR1_DATAVD_MASK) +/*! @} */ + +/*! @name MFCR - Controller FIFO Control */ +/*! @{ */ + +#define LPI2C_MFCR_TXWATER_MASK (0x7U) +#define LPI2C_MFCR_TXWATER_SHIFT (0U) +/*! TXWATER - Transmit FIFO Watermark */ +#define LPI2C_MFCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_TXWATER_SHIFT)) & LPI2C_MFCR_TXWATER_MASK) + +#define LPI2C_MFCR_RXWATER_MASK (0x70000U) +#define LPI2C_MFCR_RXWATER_SHIFT (16U) +/*! RXWATER - Receive FIFO Watermark */ +#define LPI2C_MFCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_RXWATER_SHIFT)) & LPI2C_MFCR_RXWATER_MASK) +/*! @} */ + +/*! @name MFSR - Controller FIFO Status */ +/*! @{ */ + +#define LPI2C_MFSR_TXCOUNT_MASK (0xFU) +#define LPI2C_MFSR_TXCOUNT_SHIFT (0U) +/*! TXCOUNT - Transmit FIFO Count */ +#define LPI2C_MFSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_TXCOUNT_SHIFT)) & LPI2C_MFSR_TXCOUNT_MASK) + +#define LPI2C_MFSR_RXCOUNT_MASK (0xF0000U) +#define LPI2C_MFSR_RXCOUNT_SHIFT (16U) +/*! RXCOUNT - Receive FIFO Count */ +#define LPI2C_MFSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_RXCOUNT_SHIFT)) & LPI2C_MFSR_RXCOUNT_MASK) +/*! @} */ + +/*! @name MTDR - Controller Transmit Data */ +/*! @{ */ + +#define LPI2C_MTDR_DATA_MASK (0xFFU) +#define LPI2C_MTDR_DATA_SHIFT (0U) +/*! DATA - Transmit Data */ +#define LPI2C_MTDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_DATA_SHIFT)) & LPI2C_MTDR_DATA_MASK) + +#define LPI2C_MTDR_CMD_MASK (0x700U) +#define LPI2C_MTDR_CMD_SHIFT (8U) +/*! CMD - Command Data + * 0b000..Transmit the value in DATA[7:0] + * 0b001..Receive (DATA[7:0] + 1) bytes + * 0b010..Generate Stop condition on I2C bus + * 0b011..Receive and discard (DATA[7:0] + 1) bytes + * 0b100..Generate (repeated) Start on the I2C bus and transmit the address in DATA[7:0] + * 0b101..Generate (repeated) Start on the I2C bus and transmit the address in DATA[7:0] (this transfer expects a NACK to be returned) + * 0b110..Generate (repeated) Start on the I2C bus and transmit the address in DATA[7:0] using HS mode + * 0b111..Generate (repeated) Start on the I2C bus and transmit the address in DATA[7:0] using HS mode (this transfer expects a NACK to be returned) + */ +#define LPI2C_MTDR_CMD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_CMD_SHIFT)) & LPI2C_MTDR_CMD_MASK) +/*! @} */ + +/*! @name MRDR - Controller Receive Data */ +/*! @{ */ + +#define LPI2C_MRDR_DATA_MASK (0xFFU) +#define LPI2C_MRDR_DATA_SHIFT (0U) +/*! DATA - Receive Data */ +#define LPI2C_MRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_DATA_SHIFT)) & LPI2C_MRDR_DATA_MASK) + +#define LPI2C_MRDR_RXEMPTY_MASK (0x4000U) +#define LPI2C_MRDR_RXEMPTY_SHIFT (14U) +/*! RXEMPTY - Receive Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define LPI2C_MRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_RXEMPTY_SHIFT)) & LPI2C_MRDR_RXEMPTY_MASK) +/*! @} */ + +/*! @name MRDROR - Controller Receive Data Read Only */ +/*! @{ */ + +#define LPI2C_MRDROR_DATA_MASK (0xFFU) +#define LPI2C_MRDROR_DATA_SHIFT (0U) +/*! DATA - Receive Data */ +#define LPI2C_MRDROR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDROR_DATA_SHIFT)) & LPI2C_MRDROR_DATA_MASK) + +#define LPI2C_MRDROR_RXEMPTY_MASK (0x4000U) +#define LPI2C_MRDROR_RXEMPTY_SHIFT (14U) +/*! RXEMPTY - RX Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define LPI2C_MRDROR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDROR_RXEMPTY_SHIFT)) & LPI2C_MRDROR_RXEMPTY_MASK) +/*! @} */ + +/*! @name SCR - Target Control */ +/*! @{ */ + +#define LPI2C_SCR_SEN_MASK (0x1U) +#define LPI2C_SCR_SEN_SHIFT (0U) +/*! SEN - Target Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCR_SEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_SEN_SHIFT)) & LPI2C_SCR_SEN_MASK) + +#define LPI2C_SCR_RST_MASK (0x2U) +#define LPI2C_SCR_RST_SHIFT (1U) +/*! RST - Software Reset + * 0b0..Not reset + * 0b1..Reset + */ +#define LPI2C_SCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RST_SHIFT)) & LPI2C_SCR_RST_MASK) + +#define LPI2C_SCR_FILTEN_MASK (0x10U) +#define LPI2C_SCR_FILTEN_SHIFT (4U) +/*! FILTEN - Filter Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCR_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTEN_SHIFT)) & LPI2C_SCR_FILTEN_MASK) + +#define LPI2C_SCR_FILTDZ_MASK (0x20U) +#define LPI2C_SCR_FILTDZ_SHIFT (5U) +/*! FILTDZ - Filter Doze Enable + * 0b0..Enable + * 0b1..Disable + */ +#define LPI2C_SCR_FILTDZ(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTDZ_SHIFT)) & LPI2C_SCR_FILTDZ_MASK) + +#define LPI2C_SCR_RTF_MASK (0x100U) +#define LPI2C_SCR_RTF_SHIFT (8U) +/*! RTF - Reset Transmit FIFO + * 0b0..No effect + * 0b1..STDR is now empty + */ +#define LPI2C_SCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RTF_SHIFT)) & LPI2C_SCR_RTF_MASK) + +#define LPI2C_SCR_RRF_MASK (0x200U) +#define LPI2C_SCR_RRF_SHIFT (9U) +/*! RRF - Reset Receive FIFO + * 0b0..No effect + * 0b1..SRDR is now empty + */ +#define LPI2C_SCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RRF_SHIFT)) & LPI2C_SCR_RRF_MASK) +/*! @} */ + +/*! @name SSR - Target Status */ +/*! @{ */ + +#define LPI2C_SSR_TDF_MASK (0x1U) +#define LPI2C_SSR_TDF_SHIFT (0U) +/*! TDF - Transmit Data Flag + * 0b0..Transmit data not requested + * 0b1..Transmit data is requested + */ +#define LPI2C_SSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TDF_SHIFT)) & LPI2C_SSR_TDF_MASK) + +#define LPI2C_SSR_RDF_MASK (0x2U) +#define LPI2C_SSR_RDF_SHIFT (1U) +/*! RDF - Receive Data Flag + * 0b0..Not ready + * 0b1..Ready + */ +#define LPI2C_SSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RDF_SHIFT)) & LPI2C_SSR_RDF_MASK) + +#define LPI2C_SSR_AVF_MASK (0x4U) +#define LPI2C_SSR_AVF_SHIFT (2U) +/*! AVF - Address Valid Flag + * 0b0..Not valid + * 0b1..Valid + */ +#define LPI2C_SSR_AVF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AVF_SHIFT)) & LPI2C_SSR_AVF_MASK) + +#define LPI2C_SSR_TAF_MASK (0x8U) +#define LPI2C_SSR_TAF_SHIFT (3U) +/*! TAF - Transmit ACK Flag + * 0b0..Not required + * 0b1..Required + */ +#define LPI2C_SSR_TAF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TAF_SHIFT)) & LPI2C_SSR_TAF_MASK) + +#define LPI2C_SSR_RSF_MASK (0x100U) +#define LPI2C_SSR_RSF_SHIFT (8U) +/*! RSF - Repeated Start Flag + * 0b0..No repeated Start detected + * 0b0..No effect + * 0b1..Repeated Start detected + * 0b1..Clear the flag + */ +#define LPI2C_SSR_RSF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RSF_SHIFT)) & LPI2C_SSR_RSF_MASK) + +#define LPI2C_SSR_SDF_MASK (0x200U) +#define LPI2C_SSR_SDF_SHIFT (9U) +/*! SDF - Stop Detect Flag + * 0b0..No Stop detected + * 0b0..No effect + * 0b1..Stop detected + * 0b1..Clear the flag + */ +#define LPI2C_SSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SDF_SHIFT)) & LPI2C_SSR_SDF_MASK) + +#define LPI2C_SSR_BEF_MASK (0x400U) +#define LPI2C_SSR_BEF_SHIFT (10U) +/*! BEF - Bit Error Flag + * 0b0..No bit error occurred + * 0b0..No effect + * 0b1..Bit error occurred + * 0b1..Clear the flag + */ +#define LPI2C_SSR_BEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BEF_SHIFT)) & LPI2C_SSR_BEF_MASK) + +#define LPI2C_SSR_FEF_MASK (0x800U) +#define LPI2C_SSR_FEF_SHIFT (11U) +/*! FEF - FIFO Error Flag + * 0b0..No FIFO error + * 0b0..No effect + * 0b1..FIFO error + * 0b1..Clear the flag + */ +#define LPI2C_SSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_FEF_SHIFT)) & LPI2C_SSR_FEF_MASK) + +#define LPI2C_SSR_AM0F_MASK (0x1000U) +#define LPI2C_SSR_AM0F_SHIFT (12U) +/*! AM0F - Address Match 0 Flag + * 0b0..ADDR0 matching address not received + * 0b1..ADDR0 matching address received + */ +#define LPI2C_SSR_AM0F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM0F_SHIFT)) & LPI2C_SSR_AM0F_MASK) + +#define LPI2C_SSR_AM1F_MASK (0x2000U) +#define LPI2C_SSR_AM1F_SHIFT (13U) +/*! AM1F - Address Match 1 Flag + * 0b0..Matching address not received + * 0b1..Matching address received + */ +#define LPI2C_SSR_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM1F_SHIFT)) & LPI2C_SSR_AM1F_MASK) + +#define LPI2C_SSR_GCF_MASK (0x4000U) +#define LPI2C_SSR_GCF_SHIFT (14U) +/*! GCF - General Call Flag + * 0b0..General call address disabled or not detected + * 0b1..General call address detected + */ +#define LPI2C_SSR_GCF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_GCF_SHIFT)) & LPI2C_SSR_GCF_MASK) + +#define LPI2C_SSR_SARF_MASK (0x8000U) +#define LPI2C_SSR_SARF_SHIFT (15U) +/*! SARF - SMBus Alert Response Flag + * 0b0..Disabled or not detected + * 0b1..Enabled and detected + */ +#define LPI2C_SSR_SARF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SARF_SHIFT)) & LPI2C_SSR_SARF_MASK) + +#define LPI2C_SSR_SBF_MASK (0x1000000U) +#define LPI2C_SSR_SBF_SHIFT (24U) +/*! SBF - Target Busy Flag + * 0b0..Idle + * 0b1..Busy + */ +#define LPI2C_SSR_SBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SBF_SHIFT)) & LPI2C_SSR_SBF_MASK) + +#define LPI2C_SSR_BBF_MASK (0x2000000U) +#define LPI2C_SSR_BBF_SHIFT (25U) +/*! BBF - Bus Busy Flag + * 0b0..Idle + * 0b1..Busy + */ +#define LPI2C_SSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BBF_SHIFT)) & LPI2C_SSR_BBF_MASK) +/*! @} */ + +/*! @name SIER - Target Interrupt Enable */ +/*! @{ */ + +#define LPI2C_SIER_TDIE_MASK (0x1U) +#define LPI2C_SIER_TDIE_SHIFT (0U) +/*! TDIE - Transmit Data Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TDIE_SHIFT)) & LPI2C_SIER_TDIE_MASK) + +#define LPI2C_SIER_RDIE_MASK (0x2U) +#define LPI2C_SIER_RDIE_SHIFT (1U) +/*! RDIE - Receive Data Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RDIE_SHIFT)) & LPI2C_SIER_RDIE_MASK) + +#define LPI2C_SIER_AVIE_MASK (0x4U) +#define LPI2C_SIER_AVIE_SHIFT (2U) +/*! AVIE - Address Valid Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_AVIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AVIE_SHIFT)) & LPI2C_SIER_AVIE_MASK) + +#define LPI2C_SIER_TAIE_MASK (0x8U) +#define LPI2C_SIER_TAIE_SHIFT (3U) +/*! TAIE - Transmit ACK Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TAIE_SHIFT)) & LPI2C_SIER_TAIE_MASK) + +#define LPI2C_SIER_RSIE_MASK (0x100U) +#define LPI2C_SIER_RSIE_SHIFT (8U) +/*! RSIE - Repeated Start Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_RSIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RSIE_SHIFT)) & LPI2C_SIER_RSIE_MASK) + +#define LPI2C_SIER_SDIE_MASK (0x200U) +#define LPI2C_SIER_SDIE_SHIFT (9U) +/*! SDIE - Stop Detect Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SDIE_SHIFT)) & LPI2C_SIER_SDIE_MASK) + +#define LPI2C_SIER_BEIE_MASK (0x400U) +#define LPI2C_SIER_BEIE_SHIFT (10U) +/*! BEIE - Bit Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_BEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_BEIE_SHIFT)) & LPI2C_SIER_BEIE_MASK) + +#define LPI2C_SIER_FEIE_MASK (0x800U) +#define LPI2C_SIER_FEIE_SHIFT (11U) +/*! FEIE - FIFO Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_FEIE_SHIFT)) & LPI2C_SIER_FEIE_MASK) + +#define LPI2C_SIER_AM0IE_MASK (0x1000U) +#define LPI2C_SIER_AM0IE_SHIFT (12U) +/*! AM0IE - Address Match 0 Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_AM0IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM0IE_SHIFT)) & LPI2C_SIER_AM0IE_MASK) + +#define LPI2C_SIER_AM1IE_MASK (0x2000U) +#define LPI2C_SIER_AM1IE_SHIFT (13U) +/*! AM1IE - Address Match 1 Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_AM1IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM1IE_SHIFT)) & LPI2C_SIER_AM1IE_MASK) + +#define LPI2C_SIER_GCIE_MASK (0x4000U) +#define LPI2C_SIER_GCIE_SHIFT (14U) +/*! GCIE - General Call Interrupt Enable + * 0b0..Disabled + * 0b1..Enabled + */ +#define LPI2C_SIER_GCIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_GCIE_SHIFT)) & LPI2C_SIER_GCIE_MASK) + +#define LPI2C_SIER_SARIE_MASK (0x8000U) +#define LPI2C_SIER_SARIE_SHIFT (15U) +/*! SARIE - SMBus Alert Response Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SIER_SARIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SARIE_SHIFT)) & LPI2C_SIER_SARIE_MASK) +/*! @} */ + +/*! @name SDER - Target DMA Enable */ +/*! @{ */ + +#define LPI2C_SDER_TDDE_MASK (0x1U) +#define LPI2C_SDER_TDDE_SHIFT (0U) +/*! TDDE - Transmit Data DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_TDDE_SHIFT)) & LPI2C_SDER_TDDE_MASK) + +#define LPI2C_SDER_RDDE_MASK (0x2U) +#define LPI2C_SDER_RDDE_SHIFT (1U) +/*! RDDE - Receive Data DMA Enable + * 0b0..Disable DMA request + * 0b1..Enable DMA request + */ +#define LPI2C_SDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_RDDE_SHIFT)) & LPI2C_SDER_RDDE_MASK) + +#define LPI2C_SDER_AVDE_MASK (0x4U) +#define LPI2C_SDER_AVDE_SHIFT (2U) +/*! AVDE - Address Valid DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SDER_AVDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_AVDE_SHIFT)) & LPI2C_SDER_AVDE_MASK) + +#define LPI2C_SDER_RSDE_MASK (0x100U) +#define LPI2C_SDER_RSDE_SHIFT (8U) +/*! RSDE - Repeated Start DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SDER_RSDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_RSDE_SHIFT)) & LPI2C_SDER_RSDE_MASK) + +#define LPI2C_SDER_SDDE_MASK (0x200U) +#define LPI2C_SDER_SDDE_SHIFT (9U) +/*! SDDE - Stop Detect DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SDER_SDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_SDDE_SHIFT)) & LPI2C_SDER_SDDE_MASK) +/*! @} */ + +/*! @name SCFGR0 - Target Configuration 0 */ +/*! @{ */ + +#define LPI2C_SCFGR0_RDREQ_MASK (0x1U) +#define LPI2C_SCFGR0_RDREQ_SHIFT (0U) +/*! RDREQ - Read Request + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR0_RDREQ(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR0_RDREQ_SHIFT)) & LPI2C_SCFGR0_RDREQ_MASK) + +#define LPI2C_SCFGR0_RDACK_MASK (0x2U) +#define LPI2C_SCFGR0_RDACK_SHIFT (1U) +/*! RDACK - Read Acknowledge Flag + * 0b0..Read Request not acknowledged + * 0b1..Read Request acknowledged + */ +#define LPI2C_SCFGR0_RDACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR0_RDACK_SHIFT)) & LPI2C_SCFGR0_RDACK_MASK) +/*! @} */ + +/*! @name SCFGR1 - Target Configuration 1 */ +/*! @{ */ + +#define LPI2C_SCFGR1_ADRSTALL_MASK (0x1U) +#define LPI2C_SCFGR1_ADRSTALL_SHIFT (0U) +/*! ADRSTALL - Address SCL Stall + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR1_ADRSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADRSTALL_SHIFT)) & LPI2C_SCFGR1_ADRSTALL_MASK) + +#define LPI2C_SCFGR1_RXSTALL_MASK (0x2U) +#define LPI2C_SCFGR1_RXSTALL_SHIFT (1U) +/*! RXSTALL - RX SCL Stall + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR1_RXSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXSTALL_SHIFT)) & LPI2C_SCFGR1_RXSTALL_MASK) + +#define LPI2C_SCFGR1_TXDSTALL_MASK (0x4U) +#define LPI2C_SCFGR1_TXDSTALL_SHIFT (2U) +/*! TXDSTALL - Transmit Data SCL Stall + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR1_TXDSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXDSTALL_SHIFT)) & LPI2C_SCFGR1_TXDSTALL_MASK) + +#define LPI2C_SCFGR1_ACKSTALL_MASK (0x8U) +#define LPI2C_SCFGR1_ACKSTALL_SHIFT (3U) +/*! ACKSTALL - ACK SCL Stall + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR1_ACKSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ACKSTALL_SHIFT)) & LPI2C_SCFGR1_ACKSTALL_MASK) + +#define LPI2C_SCFGR1_RXNACK_MASK (0x10U) +#define LPI2C_SCFGR1_RXNACK_SHIFT (4U) +/*! RXNACK - Receive NACK + * 0b0..ACK or NACK always determined by STAR[TXNACK] + * 0b1..NACK always generated on address overrun or receive data overrun, otherwise ACK or NACK is determined by STAR[TXNACK] + */ +#define LPI2C_SCFGR1_RXNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXNACK_SHIFT)) & LPI2C_SCFGR1_RXNACK_MASK) + +#define LPI2C_SCFGR1_GCEN_MASK (0x100U) +#define LPI2C_SCFGR1_GCEN_SHIFT (8U) +/*! GCEN - General Call Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR1_GCEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_GCEN_SHIFT)) & LPI2C_SCFGR1_GCEN_MASK) + +#define LPI2C_SCFGR1_SAEN_MASK (0x200U) +#define LPI2C_SCFGR1_SAEN_SHIFT (9U) +/*! SAEN - SMBus Alert Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR1_SAEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_SAEN_SHIFT)) & LPI2C_SCFGR1_SAEN_MASK) + +#define LPI2C_SCFGR1_TXCFG_MASK (0x400U) +#define LPI2C_SCFGR1_TXCFG_SHIFT (10U) +/*! TXCFG - Transmit Flag Configuration + * 0b0..MSR[TDF] is set only during a target-transmit transfer when STDR is empty + * 0b1..MSR[TDF] is set whenever STDR is empty + */ +#define LPI2C_SCFGR1_TXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXCFG_SHIFT)) & LPI2C_SCFGR1_TXCFG_MASK) + +#define LPI2C_SCFGR1_RXCFG_MASK (0x800U) +#define LPI2C_SCFGR1_RXCFG_SHIFT (11U) +/*! RXCFG - Receive Data Configuration + * 0b0..Return received data, clear MSR[RDF] + * 0b1..Return SASR and clear SSR[AVF] when SSR[AVF] is set, return received data and clear MSR[RDF] when SSR[AFV] is not set + */ +#define LPI2C_SCFGR1_RXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXCFG_SHIFT)) & LPI2C_SCFGR1_RXCFG_MASK) + +#define LPI2C_SCFGR1_IGNACK_MASK (0x1000U) +#define LPI2C_SCFGR1_IGNACK_SHIFT (12U) +/*! IGNACK - Ignore NACK + * 0b0..End transfer on NACK + * 0b1..Do not end transfer on NACK + */ +#define LPI2C_SCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_IGNACK_SHIFT)) & LPI2C_SCFGR1_IGNACK_MASK) + +#define LPI2C_SCFGR1_HSMEN_MASK (0x2000U) +#define LPI2C_SCFGR1_HSMEN_SHIFT (13U) +/*! HSMEN - HS Mode Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR1_HSMEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_HSMEN_SHIFT)) & LPI2C_SCFGR1_HSMEN_MASK) + +#define LPI2C_SCFGR1_ADDRCFG_MASK (0x70000U) +#define LPI2C_SCFGR1_ADDRCFG_SHIFT (16U) +/*! ADDRCFG - Address Configuration + * 0b000..Address match 0 (7-bit) + * 0b001..Address match 0 (10-bit) + * 0b010..Address match 0 (7-bit) or address match 1 (7-bit) + * 0b011..Address match 0 (10-bit) or address match 1 (10-bit) + * 0b100..Address match 0 (7-bit) or address match 1 (10-bit) + * 0b101..Address match 0 (10-bit) or address match 1 (7-bit) + * 0b110..From address match 0 (7-bit) to address match 1 (7-bit) + * 0b111..From address match 0 (10-bit) to address match 1 (10-bit) + */ +#define LPI2C_SCFGR1_ADDRCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADDRCFG_SHIFT)) & LPI2C_SCFGR1_ADDRCFG_MASK) + +#define LPI2C_SCFGR1_RXALL_MASK (0x1000000U) +#define LPI2C_SCFGR1_RXALL_SHIFT (24U) +/*! RXALL - Receive All + * 0b0..Disable + * 0b1..Enable + */ +#define LPI2C_SCFGR1_RXALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXALL_SHIFT)) & LPI2C_SCFGR1_RXALL_MASK) + +#define LPI2C_SCFGR1_RSCFG_MASK (0x2000000U) +#define LPI2C_SCFGR1_RSCFG_SHIFT (25U) +/*! RSCFG - Repeated Start Configuration + * 0b0..Any repeated Start condition following an address match + * 0b1..Any repeated Start condition + */ +#define LPI2C_SCFGR1_RSCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RSCFG_SHIFT)) & LPI2C_SCFGR1_RSCFG_MASK) + +#define LPI2C_SCFGR1_SDCFG_MASK (0x4000000U) +#define LPI2C_SCFGR1_SDCFG_SHIFT (26U) +/*! SDCFG - Stop Detect Configuration + * 0b0..Any Stop condition following an address match + * 0b1..Any Stop condition + */ +#define LPI2C_SCFGR1_SDCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_SDCFG_SHIFT)) & LPI2C_SCFGR1_SDCFG_MASK) +/*! @} */ + +/*! @name SCFGR2 - Target Configuration 2 */ +/*! @{ */ + +#define LPI2C_SCFGR2_CLKHOLD_MASK (0xFU) +#define LPI2C_SCFGR2_CLKHOLD_SHIFT (0U) +/*! CLKHOLD - Clock Hold Time */ +#define LPI2C_SCFGR2_CLKHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_CLKHOLD_SHIFT)) & LPI2C_SCFGR2_CLKHOLD_MASK) + +#define LPI2C_SCFGR2_DATAVD_MASK (0x3F00U) +#define LPI2C_SCFGR2_DATAVD_SHIFT (8U) +/*! DATAVD - Data Valid Delay */ +#define LPI2C_SCFGR2_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_DATAVD_SHIFT)) & LPI2C_SCFGR2_DATAVD_MASK) + +#define LPI2C_SCFGR2_FILTSCL_MASK (0xF0000U) +#define LPI2C_SCFGR2_FILTSCL_SHIFT (16U) +/*! FILTSCL - Glitch Filter SCL */ +#define LPI2C_SCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSCL_SHIFT)) & LPI2C_SCFGR2_FILTSCL_MASK) + +#define LPI2C_SCFGR2_FILTSDA_MASK (0xF000000U) +#define LPI2C_SCFGR2_FILTSDA_SHIFT (24U) +/*! FILTSDA - Glitch Filter SDA */ +#define LPI2C_SCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSDA_SHIFT)) & LPI2C_SCFGR2_FILTSDA_MASK) +/*! @} */ + +/*! @name SAMR - Target Address Match */ +/*! @{ */ + +#define LPI2C_SAMR_ADDR0_MASK (0x7FEU) +#define LPI2C_SAMR_ADDR0_SHIFT (1U) +/*! ADDR0 - Address 0 Value */ +#define LPI2C_SAMR_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR0_SHIFT)) & LPI2C_SAMR_ADDR0_MASK) + +#define LPI2C_SAMR_ADDR1_MASK (0x7FE0000U) +#define LPI2C_SAMR_ADDR1_SHIFT (17U) +/*! ADDR1 - Address 1 Value */ +#define LPI2C_SAMR_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR1_SHIFT)) & LPI2C_SAMR_ADDR1_MASK) +/*! @} */ + +/*! @name SASR - Target Address Status */ +/*! @{ */ + +#define LPI2C_SASR_RADDR_MASK (0x7FFU) +#define LPI2C_SASR_RADDR_SHIFT (0U) +/*! RADDR - Received Address */ +#define LPI2C_SASR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_RADDR_SHIFT)) & LPI2C_SASR_RADDR_MASK) + +#define LPI2C_SASR_ANV_MASK (0x4000U) +#define LPI2C_SASR_ANV_SHIFT (14U) +/*! ANV - Address Not Valid + * 0b0..Valid + * 0b1..Not valid + */ +#define LPI2C_SASR_ANV(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_ANV_SHIFT)) & LPI2C_SASR_ANV_MASK) +/*! @} */ + +/*! @name STAR - Target Transmit ACK */ +/*! @{ */ + +#define LPI2C_STAR_TXNACK_MASK (0x1U) +#define LPI2C_STAR_TXNACK_SHIFT (0U) +/*! TXNACK - Transmit NACK + * 0b0..Transmit ACK + * 0b1..Transmit NACK + */ +#define LPI2C_STAR_TXNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STAR_TXNACK_SHIFT)) & LPI2C_STAR_TXNACK_MASK) +/*! @} */ + +/*! @name STDR - Target Transmit Data */ +/*! @{ */ + +#define LPI2C_STDR_DATA_MASK (0xFFU) +#define LPI2C_STDR_DATA_SHIFT (0U) +/*! DATA - Transmit Data */ +#define LPI2C_STDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STDR_DATA_SHIFT)) & LPI2C_STDR_DATA_MASK) +/*! @} */ + +/*! @name SRDR - Target Receive Data */ +/*! @{ */ + +#define LPI2C_SRDR_DATA_MASK (0xFFU) +#define LPI2C_SRDR_DATA_SHIFT (0U) +/*! DATA - Received Data */ +#define LPI2C_SRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_DATA_SHIFT)) & LPI2C_SRDR_DATA_MASK) + +#define LPI2C_SRDR_RADDR_MASK (0x700U) +#define LPI2C_SRDR_RADDR_SHIFT (8U) +/*! RADDR - Received Address */ +#define LPI2C_SRDR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_RADDR_SHIFT)) & LPI2C_SRDR_RADDR_MASK) + +#define LPI2C_SRDR_RXEMPTY_MASK (0x4000U) +#define LPI2C_SRDR_RXEMPTY_SHIFT (14U) +/*! RXEMPTY - Receive Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define LPI2C_SRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_RXEMPTY_SHIFT)) & LPI2C_SRDR_RXEMPTY_MASK) + +#define LPI2C_SRDR_SOF_MASK (0x8000U) +#define LPI2C_SRDR_SOF_SHIFT (15U) +/*! SOF - Start of Frame + * 0b0..Not first + * 0b1..First + */ +#define LPI2C_SRDR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_SOF_SHIFT)) & LPI2C_SRDR_SOF_MASK) +/*! @} */ + +/*! @name SRDROR - Target Receive Data Read Only */ +/*! @{ */ + +#define LPI2C_SRDROR_DATA_MASK (0xFFU) +#define LPI2C_SRDROR_DATA_SHIFT (0U) +/*! DATA - Receive Data */ +#define LPI2C_SRDROR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDROR_DATA_SHIFT)) & LPI2C_SRDROR_DATA_MASK) + +#define LPI2C_SRDROR_RADDR_MASK (0x700U) +#define LPI2C_SRDROR_RADDR_SHIFT (8U) +/*! RADDR - Received Address */ +#define LPI2C_SRDROR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDROR_RADDR_SHIFT)) & LPI2C_SRDROR_RADDR_MASK) + +#define LPI2C_SRDROR_RXEMPTY_MASK (0x4000U) +#define LPI2C_SRDROR_RXEMPTY_SHIFT (14U) +/*! RXEMPTY - Receive Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define LPI2C_SRDROR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDROR_RXEMPTY_SHIFT)) & LPI2C_SRDROR_RXEMPTY_MASK) + +#define LPI2C_SRDROR_SOF_MASK (0x8000U) +#define LPI2C_SRDROR_SOF_SHIFT (15U) +/*! SOF - Start of Frame + * 0b0..Not the first + * 0b1..First + */ +#define LPI2C_SRDROR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDROR_SOF_SHIFT)) & LPI2C_SRDROR_SOF_MASK) +/*! @} */ + +/*! @name MTCBR - Controller Transmit Command Burst */ +/*! @{ */ + +#define LPI2C_MTCBR_DATA_MASK (0xFFU) +#define LPI2C_MTCBR_DATA_SHIFT (0U) +/*! DATA - Data */ +#define LPI2C_MTCBR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTCBR_DATA_SHIFT)) & LPI2C_MTCBR_DATA_MASK) + +#define LPI2C_MTCBR_CMD_MASK (0x700U) +#define LPI2C_MTCBR_CMD_SHIFT (8U) +/*! CMD - Command */ +#define LPI2C_MTCBR_CMD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTCBR_CMD_SHIFT)) & LPI2C_MTCBR_CMD_MASK) +/*! @} */ + +/* The count of LPI2C_MTCBR */ +#define LPI2C_MTCBR_COUNT (128U) + +/*! @name MTDBR - Transmit Data Burst */ +/*! @{ */ + +#define LPI2C_MTDBR_DATA0_MASK (0xFFU) +#define LPI2C_MTDBR_DATA0_SHIFT (0U) +/*! DATA0 - Data */ +#define LPI2C_MTDBR_DATA0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDBR_DATA0_SHIFT)) & LPI2C_MTDBR_DATA0_MASK) + +#define LPI2C_MTDBR_DATA1_MASK (0xFF00U) +#define LPI2C_MTDBR_DATA1_SHIFT (8U) +/*! DATA1 - Data */ +#define LPI2C_MTDBR_DATA1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDBR_DATA1_SHIFT)) & LPI2C_MTDBR_DATA1_MASK) + +#define LPI2C_MTDBR_DATA2_MASK (0xFF0000U) +#define LPI2C_MTDBR_DATA2_SHIFT (16U) +/*! DATA2 - Data */ +#define LPI2C_MTDBR_DATA2(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDBR_DATA2_SHIFT)) & LPI2C_MTDBR_DATA2_MASK) + +#define LPI2C_MTDBR_DATA3_MASK (0xFF000000U) +#define LPI2C_MTDBR_DATA3_SHIFT (24U) +/*! DATA3 - Data */ +#define LPI2C_MTDBR_DATA3(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDBR_DATA3_SHIFT)) & LPI2C_MTDBR_DATA3_MASK) +/*! @} */ + +/* The count of LPI2C_MTDBR */ +#define LPI2C_MTDBR_COUNT (256U) + + +/*! + * @} + */ /* end of group LPI2C_Register_Masks */ + + +/* LPI2C - Peripheral instance base addresses */ +/** Peripheral LPI2C1 base address */ +#define LPI2C1_BASE (0x44340000u) +/** Peripheral LPI2C1 base pointer */ +#define LPI2C1 ((LPI2C_Type *)LPI2C1_BASE) +/** Peripheral LPI2C2 base address */ +#define LPI2C2_BASE (0x44350000u) +/** Peripheral LPI2C2 base pointer */ +#define LPI2C2 ((LPI2C_Type *)LPI2C2_BASE) +/** Peripheral LPI2C3 base address */ +#define LPI2C3_BASE (0x42530000u) +/** Peripheral LPI2C3 base pointer */ +#define LPI2C3 ((LPI2C_Type *)LPI2C3_BASE) +/** Peripheral LPI2C4 base address */ +#define LPI2C4_BASE (0x42540000u) +/** Peripheral LPI2C4 base pointer */ +#define LPI2C4 ((LPI2C_Type *)LPI2C4_BASE) +/** Peripheral LPI2C5 base address */ +#define LPI2C5_BASE (0x426B0000u) +/** Peripheral LPI2C5 base pointer */ +#define LPI2C5 ((LPI2C_Type *)LPI2C5_BASE) +/** Peripheral LPI2C6 base address */ +#define LPI2C6_BASE (0x426C0000u) +/** Peripheral LPI2C6 base pointer */ +#define LPI2C6 ((LPI2C_Type *)LPI2C6_BASE) +/** Peripheral LPI2C7 base address */ +#define LPI2C7_BASE (0x426D0000u) +/** Peripheral LPI2C7 base pointer */ +#define LPI2C7 ((LPI2C_Type *)LPI2C7_BASE) +/** Peripheral LPI2C8 base address */ +#define LPI2C8_BASE (0x426E0000u) +/** Peripheral LPI2C8 base pointer */ +#define LPI2C8 ((LPI2C_Type *)LPI2C8_BASE) +/** Array initializer of LPI2C peripheral base addresses */ +#define LPI2C_BASE_ADDRS { 0u, LPI2C1_BASE, LPI2C2_BASE, LPI2C3_BASE, LPI2C4_BASE, LPI2C5_BASE, LPI2C6_BASE, LPI2C7_BASE, LPI2C8_BASE } +/** Array initializer of LPI2C peripheral base pointers */ +#define LPI2C_BASE_PTRS { (LPI2C_Type *)0u, LPI2C1, LPI2C2, LPI2C3, LPI2C4, LPI2C5, LPI2C6, LPI2C7, LPI2C8 } +/** Interrupt vectors for the LPI2C peripheral type */ +#define LPI2C_IRQS { NotAvail_IRQn, LPI2C1_IRQn, LPI2C2_IRQn, LPI2C3_IRQn, LPI2C4_IRQn, LPI2C5_IRQn, LPI2C6_IRQn, LPI2C7_IRQn, LPI2C8_IRQn } + +/*! + * @} + */ /* end of group LPI2C_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- LPIT Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPIT_Peripheral_Access_Layer LPIT Peripheral Access Layer + * @{ + */ + +/** LPIT - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< Version ID, offset: 0x0 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x4 */ + __IO uint32_t MCR; /**< Module Control, offset: 0x8 */ + __IO uint32_t MSR; /**< Module Status, offset: 0xC */ + __IO uint32_t MIER; /**< Module Interrupt Enable, offset: 0x10 */ + __IO uint32_t SETTEN; /**< Set Timer Enable, offset: 0x14 */ + __IO uint32_t CLRTEN; /**< Clear Timer Enable, offset: 0x18 */ + uint8_t RESERVED_0[4]; + struct { /* offset: 0x20, array step: 0x10 */ + __IO uint32_t TVAL; /**< Timer Value, array offset: 0x20, array step: 0x10 */ + __I uint32_t CVAL; /**< Current Timer Value, array offset: 0x24, array step: 0x10 */ + __IO uint32_t TCTRL; /**< Timer Control, array offset: 0x28, array step: 0x10 */ + uint8_t RESERVED_0[4]; + } CHANNEL[4]; +} LPIT_Type; + +/* ---------------------------------------------------------------------------- + -- LPIT Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPIT_Register_Masks LPIT Register Masks + * @{ + */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define LPIT_VERID_FEATURE_MASK (0xFFFFU) +#define LPIT_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Number */ +#define LPIT_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_FEATURE_SHIFT)) & LPIT_VERID_FEATURE_MASK) + +#define LPIT_VERID_MINOR_MASK (0xFF0000U) +#define LPIT_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define LPIT_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_MINOR_SHIFT)) & LPIT_VERID_MINOR_MASK) + +#define LPIT_VERID_MAJOR_MASK (0xFF000000U) +#define LPIT_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define LPIT_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_MAJOR_SHIFT)) & LPIT_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define LPIT_PARAM_CHANNEL_MASK (0xFFU) +#define LPIT_PARAM_CHANNEL_SHIFT (0U) +/*! CHANNEL - Number of Timer Channels */ +#define LPIT_PARAM_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_PARAM_CHANNEL_SHIFT)) & LPIT_PARAM_CHANNEL_MASK) + +#define LPIT_PARAM_EXT_TRIG_MASK (0xFF00U) +#define LPIT_PARAM_EXT_TRIG_SHIFT (8U) +/*! EXT_TRIG - Number of External Trigger Inputs */ +#define LPIT_PARAM_EXT_TRIG(x) (((uint32_t)(((uint32_t)(x)) << LPIT_PARAM_EXT_TRIG_SHIFT)) & LPIT_PARAM_EXT_TRIG_MASK) +/*! @} */ + +/*! @name MCR - Module Control */ +/*! @{ */ + +#define LPIT_MCR_M_CEN_MASK (0x1U) +#define LPIT_MCR_M_CEN_SHIFT (0U) +/*! M_CEN - Module Clock Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPIT_MCR_M_CEN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_M_CEN_SHIFT)) & LPIT_MCR_M_CEN_MASK) + +#define LPIT_MCR_SW_RST_MASK (0x2U) +#define LPIT_MCR_SW_RST_SHIFT (1U) +/*! SW_RST - Software Reset + * 0b0..Does not reset + * 0b1..Resets + */ +#define LPIT_MCR_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_SW_RST_SHIFT)) & LPIT_MCR_SW_RST_MASK) + +#define LPIT_MCR_DOZE_EN_MASK (0x4U) +#define LPIT_MCR_DOZE_EN_SHIFT (2U) +/*! DOZE_EN - DOZE Mode Enable + * 0b0..Stops timer channels + * 0b1..Allows timer channels to continue running + */ +#define LPIT_MCR_DOZE_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_DOZE_EN_SHIFT)) & LPIT_MCR_DOZE_EN_MASK) + +#define LPIT_MCR_DBG_EN_MASK (0x8U) +#define LPIT_MCR_DBG_EN_SHIFT (3U) +/*! DBG_EN - Debug Mode Enable + * 0b0..Stops timer channels + * 0b1..Allows timer channels to continue running + */ +#define LPIT_MCR_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_DBG_EN_SHIFT)) & LPIT_MCR_DBG_EN_MASK) +/*! @} */ + +/*! @name MSR - Module Status */ +/*! @{ */ + +#define LPIT_MSR_TIF0_MASK (0x1U) +#define LPIT_MSR_TIF0_SHIFT (0U) +/*! TIF0 - Channel 0 Timer Interrupt Flag + * 0b0..Not timed out + * 0b0..No effect + * 0b1..Timed out + * 0b1..Clear the flag + */ +#define LPIT_MSR_TIF0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF0_SHIFT)) & LPIT_MSR_TIF0_MASK) + +#define LPIT_MSR_TIF1_MASK (0x2U) +#define LPIT_MSR_TIF1_SHIFT (1U) +/*! TIF1 - Channel 1 Timer Interrupt Flag + * 0b0..Not timed out + * 0b0..No effect + * 0b1..Timed out + * 0b1..Clear the flag + */ +#define LPIT_MSR_TIF1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF1_SHIFT)) & LPIT_MSR_TIF1_MASK) + +#define LPIT_MSR_TIF2_MASK (0x4U) +#define LPIT_MSR_TIF2_SHIFT (2U) +/*! TIF2 - Channel 2 Timer Interrupt Flag + * 0b0..Not timed out + * 0b0..No effect + * 0b1..Timed out + * 0b1..Clear the flag + */ +#define LPIT_MSR_TIF2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF2_SHIFT)) & LPIT_MSR_TIF2_MASK) + +#define LPIT_MSR_TIF3_MASK (0x8U) +#define LPIT_MSR_TIF3_SHIFT (3U) +/*! TIF3 - Channel 3 Timer Interrupt Flag + * 0b0..Not timed out + * 0b0..No effect + * 0b1..Timed out + * 0b1..Clear the flag + */ +#define LPIT_MSR_TIF3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF3_SHIFT)) & LPIT_MSR_TIF3_MASK) +/*! @} */ + +/*! @name MIER - Module Interrupt Enable */ +/*! @{ */ + +#define LPIT_MIER_TIE0_MASK (0x1U) +#define LPIT_MIER_TIE0_SHIFT (0U) +/*! TIE0 - Channel 0 Timer Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPIT_MIER_TIE0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE0_SHIFT)) & LPIT_MIER_TIE0_MASK) + +#define LPIT_MIER_TIE1_MASK (0x2U) +#define LPIT_MIER_TIE1_SHIFT (1U) +/*! TIE1 - Channel 1 Timer Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPIT_MIER_TIE1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE1_SHIFT)) & LPIT_MIER_TIE1_MASK) + +#define LPIT_MIER_TIE2_MASK (0x4U) +#define LPIT_MIER_TIE2_SHIFT (2U) +/*! TIE2 - Channel 2 Timer Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPIT_MIER_TIE2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE2_SHIFT)) & LPIT_MIER_TIE2_MASK) + +#define LPIT_MIER_TIE3_MASK (0x8U) +#define LPIT_MIER_TIE3_SHIFT (3U) +/*! TIE3 - Channel 3 Timer Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPIT_MIER_TIE3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE3_SHIFT)) & LPIT_MIER_TIE3_MASK) +/*! @} */ + +/*! @name SETTEN - Set Timer Enable */ +/*! @{ */ + +#define LPIT_SETTEN_SET_T_EN_0_MASK (0x1U) +#define LPIT_SETTEN_SET_T_EN_0_SHIFT (0U) +/*! SET_T_EN_0 - Set Timer 0 Enable + * 0b0..No effect + * 0b1..Enables timer channel 0 + */ +#define LPIT_SETTEN_SET_T_EN_0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_SETTEN_SET_T_EN_0_SHIFT)) & LPIT_SETTEN_SET_T_EN_0_MASK) + +#define LPIT_SETTEN_SET_T_EN_1_MASK (0x2U) +#define LPIT_SETTEN_SET_T_EN_1_SHIFT (1U) +/*! SET_T_EN_1 - Set Timer 1 Enable + * 0b0..No Effect + * 0b1..Enables timer channel 1 + */ +#define LPIT_SETTEN_SET_T_EN_1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_SETTEN_SET_T_EN_1_SHIFT)) & LPIT_SETTEN_SET_T_EN_1_MASK) + +#define LPIT_SETTEN_SET_T_EN_2_MASK (0x4U) +#define LPIT_SETTEN_SET_T_EN_2_SHIFT (2U) +/*! SET_T_EN_2 - Set Timer 2 Enable + * 0b0..No Effect + * 0b1..Enables timer channel 2 + */ +#define LPIT_SETTEN_SET_T_EN_2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_SETTEN_SET_T_EN_2_SHIFT)) & LPIT_SETTEN_SET_T_EN_2_MASK) + +#define LPIT_SETTEN_SET_T_EN_3_MASK (0x8U) +#define LPIT_SETTEN_SET_T_EN_3_SHIFT (3U) +/*! SET_T_EN_3 - Set Timer 3 Enable + * 0b0..No effect + * 0b1..Enables timer channel 3 + */ +#define LPIT_SETTEN_SET_T_EN_3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_SETTEN_SET_T_EN_3_SHIFT)) & LPIT_SETTEN_SET_T_EN_3_MASK) +/*! @} */ + +/*! @name CLRTEN - Clear Timer Enable */ +/*! @{ */ + +#define LPIT_CLRTEN_CLR_T_EN_0_MASK (0x1U) +#define LPIT_CLRTEN_CLR_T_EN_0_SHIFT (0U) +/*! CLR_T_EN_0 - Clear Timer 0 Enable + * 0b0..No action + * 0b1..Turns TCTRL0[T_EN] = 0 for timer channel 0 + */ +#define LPIT_CLRTEN_CLR_T_EN_0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CLRTEN_CLR_T_EN_0_SHIFT)) & LPIT_CLRTEN_CLR_T_EN_0_MASK) + +#define LPIT_CLRTEN_CLR_T_EN_1_MASK (0x2U) +#define LPIT_CLRTEN_CLR_T_EN_1_SHIFT (1U) +/*! CLR_T_EN_1 - Clear Timer 1 Enable + * 0b0..No action + * 0b1..Turns TCTRL1[T_EN] = 0 for timer channel 1 + */ +#define LPIT_CLRTEN_CLR_T_EN_1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CLRTEN_CLR_T_EN_1_SHIFT)) & LPIT_CLRTEN_CLR_T_EN_1_MASK) + +#define LPIT_CLRTEN_CLR_T_EN_2_MASK (0x4U) +#define LPIT_CLRTEN_CLR_T_EN_2_SHIFT (2U) +/*! CLR_T_EN_2 - Clear Timer 2 Enable + * 0b0..No action + * 0b1..Turns TCTRL2[T_EN] = 0 for timer channel 2 + */ +#define LPIT_CLRTEN_CLR_T_EN_2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CLRTEN_CLR_T_EN_2_SHIFT)) & LPIT_CLRTEN_CLR_T_EN_2_MASK) + +#define LPIT_CLRTEN_CLR_T_EN_3_MASK (0x8U) +#define LPIT_CLRTEN_CLR_T_EN_3_SHIFT (3U) +/*! CLR_T_EN_3 - Clear Timer 3 Enable + * 0b0..No action + * 0b1..Turns TCTRL3[T_EN] = 0 for timer channel 3 + */ +#define LPIT_CLRTEN_CLR_T_EN_3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CLRTEN_CLR_T_EN_3_SHIFT)) & LPIT_CLRTEN_CLR_T_EN_3_MASK) +/*! @} */ + +/*! @name TVAL - Timer Value */ +/*! @{ */ + +#define LPIT_TVAL_TMR_VAL_MASK (0xFFFFFFFFU) +#define LPIT_TVAL_TMR_VAL_SHIFT (0U) +/*! TMR_VAL - Timer Value + * 0b00000000000000000000000000000000, 0b00000000000000000000000000000001..Invalid load value in Compare mode + * 0b00000000000000000000000000000010-0b11111111111111111111111111111111..In Compare mode: the value to be loaded; in Capture mode, the value of the timer + */ +#define LPIT_TVAL_TMR_VAL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TVAL_TMR_VAL_SHIFT)) & LPIT_TVAL_TMR_VAL_MASK) +/*! @} */ + +/* The count of LPIT_TVAL */ +#define LPIT_TVAL_COUNT (4U) + +/*! @name CVAL - Current Timer Value */ +/*! @{ */ + +#define LPIT_CVAL_TMR_CUR_VAL_MASK (0xFFFFFFFFU) +#define LPIT_CVAL_TMR_CUR_VAL_SHIFT (0U) +/*! TMR_CUR_VAL - Current Timer Value */ +#define LPIT_CVAL_TMR_CUR_VAL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CVAL_TMR_CUR_VAL_SHIFT)) & LPIT_CVAL_TMR_CUR_VAL_MASK) +/*! @} */ + +/* The count of LPIT_CVAL */ +#define LPIT_CVAL_COUNT (4U) + +/*! @name TCTRL - Timer Control */ +/*! @{ */ + +#define LPIT_TCTRL_T_EN_MASK (0x1U) +#define LPIT_TCTRL_T_EN_SHIFT (0U) +/*! T_EN - Timer Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPIT_TCTRL_T_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_T_EN_SHIFT)) & LPIT_TCTRL_T_EN_MASK) + +#define LPIT_TCTRL_CHAIN_MASK (0x2U) +#define LPIT_TCTRL_CHAIN_SHIFT (1U) +/*! CHAIN - Chain Channel + * 0b0..Disabled + * 0b1..Enabled + */ +#define LPIT_TCTRL_CHAIN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_CHAIN_SHIFT)) & LPIT_TCTRL_CHAIN_MASK) + +#define LPIT_TCTRL_MODE_MASK (0xCU) +#define LPIT_TCTRL_MODE_SHIFT (2U) +/*! MODE - Timer Operation Mode + * 0b00..32-bit periodic counter + * 0b01..Dual 16-bit periodic counter + * 0b10..32-bit trigger accumulator + * 0b11..32-bit trigger input capture + */ +#define LPIT_TCTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_MODE_SHIFT)) & LPIT_TCTRL_MODE_MASK) + +#define LPIT_TCTRL_TSOT_MASK (0x10000U) +#define LPIT_TCTRL_TSOT_SHIFT (16U) +/*! TSOT - Timer Start on Trigger + * 0b0..Immediately + * 0b1..When a rising edge is detected + */ +#define LPIT_TCTRL_TSOT(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TSOT_SHIFT)) & LPIT_TCTRL_TSOT_MASK) + +#define LPIT_TCTRL_TSOI_MASK (0x20000U) +#define LPIT_TCTRL_TSOI_SHIFT (17U) +/*! TSOI - Timer Stop on Interrupt + * 0b0..Does not stop + * 0b1..Stops + */ +#define LPIT_TCTRL_TSOI(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TSOI_SHIFT)) & LPIT_TCTRL_TSOI_MASK) + +#define LPIT_TCTRL_TROT_MASK (0x40000U) +#define LPIT_TCTRL_TROT_SHIFT (18U) +/*! TROT - Timer Reload on Trigger + * 0b0..Does not reload + * 0b1..Reloads + */ +#define LPIT_TCTRL_TROT(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TROT_SHIFT)) & LPIT_TCTRL_TROT_MASK) + +#define LPIT_TCTRL_TRG_SRC_MASK (0x800000U) +#define LPIT_TCTRL_TRG_SRC_SHIFT (23U) +/*! TRG_SRC - Trigger Source + * 0b0..External + * 0b1..Internal + */ +#define LPIT_TCTRL_TRG_SRC(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TRG_SRC_SHIFT)) & LPIT_TCTRL_TRG_SRC_MASK) + +#define LPIT_TCTRL_TRG_SEL_MASK (0xF000000U) +#define LPIT_TCTRL_TRG_SEL_SHIFT (24U) +/*! TRG_SEL - Trigger Select + * 0b0000-0b0011..Timer channel 0-3 trigger source + * 0b0100-0b1111..Reserved + */ +#define LPIT_TCTRL_TRG_SEL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TRG_SEL_SHIFT)) & LPIT_TCTRL_TRG_SEL_MASK) +/*! @} */ + +/* The count of LPIT_TCTRL */ +#define LPIT_TCTRL_COUNT (4U) + + +/*! + * @} + */ /* end of group LPIT_Register_Masks */ + + +/* LPIT - Peripheral instance base addresses */ +/** Peripheral LPIT1 base address */ +#define LPIT1_BASE (0x442F0000u) +/** Peripheral LPIT1 base pointer */ +#define LPIT1 ((LPIT_Type *)LPIT1_BASE) +/** Peripheral LPIT2 base address */ +#define LPIT2_BASE (0x424C0000u) +/** Peripheral LPIT2 base pointer */ +#define LPIT2 ((LPIT_Type *)LPIT2_BASE) +/** Array initializer of LPIT peripheral base addresses */ +#define LPIT_BASE_ADDRS { 0u, LPIT1_BASE, LPIT2_BASE } +/** Array initializer of LPIT peripheral base pointers */ +#define LPIT_BASE_PTRS { (LPIT_Type *)0u, LPIT1, LPIT2 } + +/*! + * @} + */ /* end of group LPIT_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- LPSPI Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPSPI_Peripheral_Access_Layer LPSPI Peripheral Access Layer + * @{ + */ + +/** LPSPI - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< Version ID, offset: 0x0 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x4 */ + uint8_t RESERVED_0[8]; + __IO uint32_t CR; /**< Control, offset: 0x10 */ + __IO uint32_t SR; /**< Status, offset: 0x14 */ + __IO uint32_t IER; /**< Interrupt Enable, offset: 0x18 */ + __IO uint32_t DER; /**< DMA Enable, offset: 0x1C */ + __IO uint32_t CFGR0; /**< Configuration 0, offset: 0x20 */ + __IO uint32_t CFGR1; /**< Configuration 1, offset: 0x24 */ + uint8_t RESERVED_1[8]; + __IO uint32_t DMR0; /**< Data Match 0, offset: 0x30 */ + __IO uint32_t DMR1; /**< Data Match 1, offset: 0x34 */ + uint8_t RESERVED_2[8]; + __IO uint32_t CCR; /**< Clock Configuration, offset: 0x40 */ + __IO uint32_t CCR1; /**< Clock Configuration 1, offset: 0x44 */ + uint8_t RESERVED_3[16]; + __IO uint32_t FCR; /**< FIFO Control, offset: 0x58 */ + __I uint32_t FSR; /**< FIFO Status, offset: 0x5C */ + __IO uint32_t TCR; /**< Transmit Command, offset: 0x60 */ + __O uint32_t TDR; /**< Transmit Data, offset: 0x64 */ + uint8_t RESERVED_4[8]; + __I uint32_t RSR; /**< Receive Status, offset: 0x70 */ + __I uint32_t RDR; /**< Receive Data, offset: 0x74 */ + __I uint32_t RDROR; /**< Receive Data Read Only, offset: 0x78 */ + uint8_t RESERVED_5[896]; + __O uint32_t TCBR; /**< Transmit Command Burst, offset: 0x3FC */ + __O uint32_t TDBR[128]; /**< Transmit Data Burst, array offset: 0x400, array step: 0x4 */ + __I uint32_t RDBR[128]; /**< Receive Data Burst, array offset: 0x600, array step: 0x4 */ +} LPSPI_Type; + +/* ---------------------------------------------------------------------------- + -- LPSPI Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPSPI_Register_Masks LPSPI Register Masks + * @{ + */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define LPSPI_VERID_FEATURE_MASK (0xFFFFU) +#define LPSPI_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Module Identification Number + * 0b0000000000000100..Standard feature set supporting a 32-bit shift register. + */ +#define LPSPI_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_FEATURE_SHIFT)) & LPSPI_VERID_FEATURE_MASK) + +#define LPSPI_VERID_MINOR_MASK (0xFF0000U) +#define LPSPI_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define LPSPI_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MINOR_SHIFT)) & LPSPI_VERID_MINOR_MASK) + +#define LPSPI_VERID_MAJOR_MASK (0xFF000000U) +#define LPSPI_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define LPSPI_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MAJOR_SHIFT)) & LPSPI_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define LPSPI_PARAM_TXFIFO_MASK (0xFFU) +#define LPSPI_PARAM_TXFIFO_SHIFT (0U) +/*! TXFIFO - Transmit FIFO Size */ +#define LPSPI_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_TXFIFO_SHIFT)) & LPSPI_PARAM_TXFIFO_MASK) + +#define LPSPI_PARAM_RXFIFO_MASK (0xFF00U) +#define LPSPI_PARAM_RXFIFO_SHIFT (8U) +/*! RXFIFO - Receive FIFO Size */ +#define LPSPI_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_RXFIFO_SHIFT)) & LPSPI_PARAM_RXFIFO_MASK) + +#define LPSPI_PARAM_PCSNUM_MASK (0xFF0000U) +#define LPSPI_PARAM_PCSNUM_SHIFT (16U) +/*! PCSNUM - PCS Number */ +#define LPSPI_PARAM_PCSNUM(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_PCSNUM_SHIFT)) & LPSPI_PARAM_PCSNUM_MASK) +/*! @} */ + +/*! @name CR - Control */ +/*! @{ */ + +#define LPSPI_CR_MEN_MASK (0x1U) +#define LPSPI_CR_MEN_SHIFT (0U) +/*! MEN - Module Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_CR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_MEN_SHIFT)) & LPSPI_CR_MEN_MASK) + +#define LPSPI_CR_RST_MASK (0x2U) +#define LPSPI_CR_RST_SHIFT (1U) +/*! RST - Software Reset + * 0b0..Not reset + * 0b1..Reset + */ +#define LPSPI_CR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RST_SHIFT)) & LPSPI_CR_RST_MASK) + +#define LPSPI_CR_DOZEN_MASK (0x4U) +#define LPSPI_CR_DOZEN_SHIFT (2U) +/*! DOZEN - Doze Mode Enable + * 0b0..Enable + * 0b1..Disable + */ +#define LPSPI_CR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DOZEN_SHIFT)) & LPSPI_CR_DOZEN_MASK) + +#define LPSPI_CR_DBGEN_MASK (0x8U) +#define LPSPI_CR_DBGEN_SHIFT (3U) +/*! DBGEN - Debug Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DBGEN_SHIFT)) & LPSPI_CR_DBGEN_MASK) + +#define LPSPI_CR_RTF_MASK (0x100U) +#define LPSPI_CR_RTF_SHIFT (8U) +/*! RTF - Reset Transmit FIFO + * 0b0..No effect + * 0b1..Reset + */ +#define LPSPI_CR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RTF_SHIFT)) & LPSPI_CR_RTF_MASK) + +#define LPSPI_CR_RRF_MASK (0x200U) +#define LPSPI_CR_RRF_SHIFT (9U) +/*! RRF - Reset Receive FIFO + * 0b0..No effect + * 0b1..Reset + */ +#define LPSPI_CR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RRF_SHIFT)) & LPSPI_CR_RRF_MASK) +/*! @} */ + +/*! @name SR - Status */ +/*! @{ */ + +#define LPSPI_SR_TDF_MASK (0x1U) +#define LPSPI_SR_TDF_SHIFT (0U) +/*! TDF - Transmit Data Flag + * 0b0..Transmit data not requested + * 0b1..Transmit data requested + */ +#define LPSPI_SR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TDF_SHIFT)) & LPSPI_SR_TDF_MASK) + +#define LPSPI_SR_RDF_MASK (0x2U) +#define LPSPI_SR_RDF_SHIFT (1U) +/*! RDF - Receive Data Flag + * 0b0..Receive data not ready + * 0b1..Receive data ready + */ +#define LPSPI_SR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_RDF_SHIFT)) & LPSPI_SR_RDF_MASK) + +#define LPSPI_SR_WCF_MASK (0x100U) +#define LPSPI_SR_WCF_SHIFT (8U) +/*! WCF - Word Complete Flag + * 0b0..Not complete + * 0b0..No effect + * 0b1..Complete + * 0b1..Clear the flag + */ +#define LPSPI_SR_WCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_WCF_SHIFT)) & LPSPI_SR_WCF_MASK) + +#define LPSPI_SR_FCF_MASK (0x200U) +#define LPSPI_SR_FCF_SHIFT (9U) +/*! FCF - Frame Complete Flag + * 0b0..Not complete + * 0b0..No effect + * 0b1..Complete + * 0b1..Clear the flag + */ +#define LPSPI_SR_FCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_FCF_SHIFT)) & LPSPI_SR_FCF_MASK) + +#define LPSPI_SR_TCF_MASK (0x400U) +#define LPSPI_SR_TCF_SHIFT (10U) +/*! TCF - Transfer Complete Flag + * 0b0..Not complete + * 0b0..No effect + * 0b1..Complete + * 0b1..Clear the flag + */ +#define LPSPI_SR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TCF_SHIFT)) & LPSPI_SR_TCF_MASK) + +#define LPSPI_SR_TEF_MASK (0x800U) +#define LPSPI_SR_TEF_SHIFT (11U) +/*! TEF - Transmit Error Flag + * 0b0..No underrun + * 0b0..No effect + * 0b1..Underrun + * 0b1..Clear the flag + */ +#define LPSPI_SR_TEF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TEF_SHIFT)) & LPSPI_SR_TEF_MASK) + +#define LPSPI_SR_REF_MASK (0x1000U) +#define LPSPI_SR_REF_SHIFT (12U) +/*! REF - Receive Error Flag + * 0b0..No overflow + * 0b0..No effect + * 0b1..Overflow + * 0b1..Clear the flag + */ +#define LPSPI_SR_REF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_REF_SHIFT)) & LPSPI_SR_REF_MASK) + +#define LPSPI_SR_DMF_MASK (0x2000U) +#define LPSPI_SR_DMF_SHIFT (13U) +/*! DMF - Data Match Flag + * 0b0..No match + * 0b0..No effect + * 0b1..Match + * 0b1..Clear the flag + */ +#define LPSPI_SR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_DMF_SHIFT)) & LPSPI_SR_DMF_MASK) + +#define LPSPI_SR_MBF_MASK (0x1000000U) +#define LPSPI_SR_MBF_SHIFT (24U) +/*! MBF - Module Busy Flag + * 0b0..LPSPI is idle + * 0b1..LPSPI is busy + */ +#define LPSPI_SR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_MBF_SHIFT)) & LPSPI_SR_MBF_MASK) +/*! @} */ + +/*! @name IER - Interrupt Enable */ +/*! @{ */ + +#define LPSPI_IER_TDIE_MASK (0x1U) +#define LPSPI_IER_TDIE_SHIFT (0U) +/*! TDIE - Transmit Data Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_IER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TDIE_SHIFT)) & LPSPI_IER_TDIE_MASK) + +#define LPSPI_IER_RDIE_MASK (0x2U) +#define LPSPI_IER_RDIE_SHIFT (1U) +/*! RDIE - Receive Data Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_IER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_RDIE_SHIFT)) & LPSPI_IER_RDIE_MASK) + +#define LPSPI_IER_WCIE_MASK (0x100U) +#define LPSPI_IER_WCIE_SHIFT (8U) +/*! WCIE - Word Complete Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_IER_WCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_WCIE_SHIFT)) & LPSPI_IER_WCIE_MASK) + +#define LPSPI_IER_FCIE_MASK (0x200U) +#define LPSPI_IER_FCIE_SHIFT (9U) +/*! FCIE - Frame Complete Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_IER_FCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_FCIE_SHIFT)) & LPSPI_IER_FCIE_MASK) + +#define LPSPI_IER_TCIE_MASK (0x400U) +#define LPSPI_IER_TCIE_SHIFT (10U) +/*! TCIE - Transfer Complete Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_IER_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TCIE_SHIFT)) & LPSPI_IER_TCIE_MASK) + +#define LPSPI_IER_TEIE_MASK (0x800U) +#define LPSPI_IER_TEIE_SHIFT (11U) +/*! TEIE - Transmit Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_IER_TEIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TEIE_SHIFT)) & LPSPI_IER_TEIE_MASK) + +#define LPSPI_IER_REIE_MASK (0x1000U) +#define LPSPI_IER_REIE_SHIFT (12U) +/*! REIE - Receive Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_IER_REIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_REIE_SHIFT)) & LPSPI_IER_REIE_MASK) + +#define LPSPI_IER_DMIE_MASK (0x2000U) +#define LPSPI_IER_DMIE_SHIFT (13U) +/*! DMIE - Data Match Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_IER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_DMIE_SHIFT)) & LPSPI_IER_DMIE_MASK) +/*! @} */ + +/*! @name DER - DMA Enable */ +/*! @{ */ + +#define LPSPI_DER_TDDE_MASK (0x1U) +#define LPSPI_DER_TDDE_SHIFT (0U) +/*! TDDE - Transmit Data DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_DER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_TDDE_SHIFT)) & LPSPI_DER_TDDE_MASK) + +#define LPSPI_DER_RDDE_MASK (0x2U) +#define LPSPI_DER_RDDE_SHIFT (1U) +/*! RDDE - Receive Data DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_DER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_RDDE_SHIFT)) & LPSPI_DER_RDDE_MASK) + +#define LPSPI_DER_FCDE_MASK (0x200U) +#define LPSPI_DER_FCDE_SHIFT (9U) +/*! FCDE - Frame Complete DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_DER_FCDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_FCDE_SHIFT)) & LPSPI_DER_FCDE_MASK) +/*! @} */ + +/*! @name CFGR0 - Configuration 0 */ +/*! @{ */ + +#define LPSPI_CFGR0_CIRFIFO_MASK (0x100U) +#define LPSPI_CFGR0_CIRFIFO_SHIFT (8U) +/*! CIRFIFO - Circular FIFO Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_CFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_CIRFIFO_SHIFT)) & LPSPI_CFGR0_CIRFIFO_MASK) + +#define LPSPI_CFGR0_RDMO_MASK (0x200U) +#define LPSPI_CFGR0_RDMO_SHIFT (9U) +/*! RDMO - Receive Data Match Only + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_CFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_RDMO_SHIFT)) & LPSPI_CFGR0_RDMO_MASK) +/*! @} */ + +/*! @name CFGR1 - Configuration 1 */ +/*! @{ */ + +#define LPSPI_CFGR1_MASTER_MASK (0x1U) +#define LPSPI_CFGR1_MASTER_SHIFT (0U) +/*! MASTER - Controller Mode + * 0b0..Peripheral mode + * 0b1..Controller mode + */ +#define LPSPI_CFGR1_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MASTER_SHIFT)) & LPSPI_CFGR1_MASTER_MASK) + +#define LPSPI_CFGR1_SAMPLE_MASK (0x2U) +#define LPSPI_CFGR1_SAMPLE_SHIFT (1U) +/*! SAMPLE - Sample Point + * 0b0..SCK edge + * 0b1..Delayed SCK edge + */ +#define LPSPI_CFGR1_SAMPLE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_SAMPLE_SHIFT)) & LPSPI_CFGR1_SAMPLE_MASK) + +#define LPSPI_CFGR1_AUTOPCS_MASK (0x4U) +#define LPSPI_CFGR1_AUTOPCS_SHIFT (2U) +/*! AUTOPCS - Automatic PCS + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_CFGR1_AUTOPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_AUTOPCS_SHIFT)) & LPSPI_CFGR1_AUTOPCS_MASK) + +#define LPSPI_CFGR1_NOSTALL_MASK (0x8U) +#define LPSPI_CFGR1_NOSTALL_SHIFT (3U) +/*! NOSTALL - No Stall + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_CFGR1_NOSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_NOSTALL_SHIFT)) & LPSPI_CFGR1_NOSTALL_MASK) + +#define LPSPI_CFGR1_PARTIAL_MASK (0x10U) +#define LPSPI_CFGR1_PARTIAL_SHIFT (4U) +/*! PARTIAL - Partial Enable + * 0b0..Discard + * 0b1..Store + */ +#define LPSPI_CFGR1_PARTIAL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PARTIAL_SHIFT)) & LPSPI_CFGR1_PARTIAL_MASK) + +#define LPSPI_CFGR1_PCSPOL_MASK (0x700U) /* Merged from fields with different position or width, of widths (2, 3), largest definition used */ +#define LPSPI_CFGR1_PCSPOL_SHIFT (8U) +/*! PCSPOL - Peripheral Chip Select Polarity + * 0b000..Active low + * 0b001..Active high + */ +#define LPSPI_CFGR1_PCSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSPOL_SHIFT)) & LPSPI_CFGR1_PCSPOL_MASK) /* Merged from fields with different position or width, of widths (2, 3), largest definition used */ + +#define LPSPI_CFGR1_MATCFG_MASK (0x70000U) +#define LPSPI_CFGR1_MATCFG_SHIFT (16U) +/*! MATCFG - Match Configuration + * 0b000..Match is disabled + * 0b001.. + * 0b010..Match first data word with compare word + * 0b011..Match any data word with compare word + * 0b100..Sequential match, first data word + * 0b101..Sequential match, any data word + * 0b110..Match first data word (masked) with compare word (masked) + * 0b111..Match any data word (masked) with compare word (masked) + */ +#define LPSPI_CFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MATCFG_SHIFT)) & LPSPI_CFGR1_MATCFG_MASK) + +#define LPSPI_CFGR1_PINCFG_MASK (0x3000000U) +#define LPSPI_CFGR1_PINCFG_SHIFT (24U) +/*! PINCFG - Pin Configuration + * 0b00..SIN is used for input data; SOUT is used for output data + * 0b01..SIN is used for both input and output data; only half-duplex serial transfers are supported + * 0b10..SOUT is used for both input and output data; only half-duplex serial transfers are supported + * 0b11..SOUT is used for input data; SIN is used for output data + */ +#define LPSPI_CFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PINCFG_SHIFT)) & LPSPI_CFGR1_PINCFG_MASK) + +#define LPSPI_CFGR1_OUTCFG_MASK (0x4000000U) +#define LPSPI_CFGR1_OUTCFG_SHIFT (26U) +/*! OUTCFG - Output Configuration + * 0b0..Retain last value + * 0b1..3-stated + */ +#define LPSPI_CFGR1_OUTCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_OUTCFG_SHIFT)) & LPSPI_CFGR1_OUTCFG_MASK) +/*! @} */ + +/*! @name DMR0 - Data Match 0 */ +/*! @{ */ + +#define LPSPI_DMR0_MATCH0_MASK (0xFFFFFFFFU) +#define LPSPI_DMR0_MATCH0_SHIFT (0U) +/*! MATCH0 - Match 0 Value */ +#define LPSPI_DMR0_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR0_MATCH0_SHIFT)) & LPSPI_DMR0_MATCH0_MASK) +/*! @} */ + +/*! @name DMR1 - Data Match 1 */ +/*! @{ */ + +#define LPSPI_DMR1_MATCH1_MASK (0xFFFFFFFFU) +#define LPSPI_DMR1_MATCH1_SHIFT (0U) +/*! MATCH1 - Match 1 Value */ +#define LPSPI_DMR1_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR1_MATCH1_SHIFT)) & LPSPI_DMR1_MATCH1_MASK) +/*! @} */ + +/*! @name CCR - Clock Configuration */ +/*! @{ */ + +#define LPSPI_CCR_SCKDIV_MASK (0xFFU) +#define LPSPI_CCR_SCKDIV_SHIFT (0U) +/*! SCKDIV - SCK Divider */ +#define LPSPI_CCR_SCKDIV(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKDIV_SHIFT)) & LPSPI_CCR_SCKDIV_MASK) + +#define LPSPI_CCR_DBT_MASK (0xFF00U) +#define LPSPI_CCR_DBT_SHIFT (8U) +/*! DBT - Delay Between Transfers */ +#define LPSPI_CCR_DBT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_DBT_SHIFT)) & LPSPI_CCR_DBT_MASK) + +#define LPSPI_CCR_PCSSCK_MASK (0xFF0000U) +#define LPSPI_CCR_PCSSCK_SHIFT (16U) +/*! PCSSCK - PCS-to-SCK Delay */ +#define LPSPI_CCR_PCSSCK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_PCSSCK_SHIFT)) & LPSPI_CCR_PCSSCK_MASK) + +#define LPSPI_CCR_SCKPCS_MASK (0xFF000000U) +#define LPSPI_CCR_SCKPCS_SHIFT (24U) +/*! SCKPCS - SCK-to-PCS Delay */ +#define LPSPI_CCR_SCKPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKPCS_SHIFT)) & LPSPI_CCR_SCKPCS_MASK) +/*! @} */ + +/*! @name CCR1 - Clock Configuration 1 */ +/*! @{ */ + +#define LPSPI_CCR1_SCKSET_MASK (0xFFU) +#define LPSPI_CCR1_SCKSET_SHIFT (0U) +/*! SCKSET - SCK Setup */ +#define LPSPI_CCR1_SCKSET(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR1_SCKSET_SHIFT)) & LPSPI_CCR1_SCKSET_MASK) + +#define LPSPI_CCR1_SCKHLD_MASK (0xFF00U) +#define LPSPI_CCR1_SCKHLD_SHIFT (8U) +/*! SCKHLD - SCK Hold */ +#define LPSPI_CCR1_SCKHLD(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR1_SCKHLD_SHIFT)) & LPSPI_CCR1_SCKHLD_MASK) + +#define LPSPI_CCR1_PCSPCS_MASK (0xFF0000U) +#define LPSPI_CCR1_PCSPCS_SHIFT (16U) +/*! PCSPCS - PCS to PCS Delay */ +#define LPSPI_CCR1_PCSPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR1_PCSPCS_SHIFT)) & LPSPI_CCR1_PCSPCS_MASK) + +#define LPSPI_CCR1_SCKSCK_MASK (0xFF000000U) +#define LPSPI_CCR1_SCKSCK_SHIFT (24U) +/*! SCKSCK - SCK Inter-Frame Delay */ +#define LPSPI_CCR1_SCKSCK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR1_SCKSCK_SHIFT)) & LPSPI_CCR1_SCKSCK_MASK) +/*! @} */ + +/*! @name FCR - FIFO Control */ +/*! @{ */ + +#define LPSPI_FCR_TXWATER_MASK (0x7U) +#define LPSPI_FCR_TXWATER_SHIFT (0U) +/*! TXWATER - Transmit FIFO Watermark */ +#define LPSPI_FCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_TXWATER_SHIFT)) & LPSPI_FCR_TXWATER_MASK) + +#define LPSPI_FCR_RXWATER_MASK (0x70000U) +#define LPSPI_FCR_RXWATER_SHIFT (16U) +/*! RXWATER - Receive FIFO Watermark */ +#define LPSPI_FCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_RXWATER_SHIFT)) & LPSPI_FCR_RXWATER_MASK) +/*! @} */ + +/*! @name FSR - FIFO Status */ +/*! @{ */ + +#define LPSPI_FSR_TXCOUNT_MASK (0xFU) +#define LPSPI_FSR_TXCOUNT_SHIFT (0U) +/*! TXCOUNT - Transmit FIFO Count */ +#define LPSPI_FSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_TXCOUNT_SHIFT)) & LPSPI_FSR_TXCOUNT_MASK) + +#define LPSPI_FSR_RXCOUNT_MASK (0xF0000U) +#define LPSPI_FSR_RXCOUNT_SHIFT (16U) +/*! RXCOUNT - Receive FIFO Count */ +#define LPSPI_FSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_RXCOUNT_SHIFT)) & LPSPI_FSR_RXCOUNT_MASK) +/*! @} */ + +/*! @name TCR - Transmit Command */ +/*! @{ */ + +#define LPSPI_TCR_FRAMESZ_MASK (0xFFFU) +#define LPSPI_TCR_FRAMESZ_SHIFT (0U) +/*! FRAMESZ - Frame Size */ +#define LPSPI_TCR_FRAMESZ(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_FRAMESZ_SHIFT)) & LPSPI_TCR_FRAMESZ_MASK) + +#define LPSPI_TCR_TXMSK_MASK (0x40000U) +#define LPSPI_TCR_TXMSK_SHIFT (18U) +/*! TXMSK - Transmit Data Mask + * 0b0..Normal transfer + * 0b1..Mask transmit data + */ +#define LPSPI_TCR_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_TXMSK_SHIFT)) & LPSPI_TCR_TXMSK_MASK) + +#define LPSPI_TCR_RXMSK_MASK (0x80000U) +#define LPSPI_TCR_RXMSK_SHIFT (19U) +/*! RXMSK - Receive Data Mask + * 0b0..Normal transfer + * 0b1..Mask receive data + */ +#define LPSPI_TCR_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_RXMSK_SHIFT)) & LPSPI_TCR_RXMSK_MASK) + +#define LPSPI_TCR_CONTC_MASK (0x100000U) +#define LPSPI_TCR_CONTC_SHIFT (20U) +/*! CONTC - Continuing Command + * 0b0..Command word for start of new transfer + * 0b1..Command word for continuing transfer + */ +#define LPSPI_TCR_CONTC(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONTC_SHIFT)) & LPSPI_TCR_CONTC_MASK) + +#define LPSPI_TCR_CONT_MASK (0x200000U) +#define LPSPI_TCR_CONT_SHIFT (21U) +/*! CONT - Continuous Transfer + * 0b0..Disable + * 0b1..Enable + */ +#define LPSPI_TCR_CONT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONT_SHIFT)) & LPSPI_TCR_CONT_MASK) + +#define LPSPI_TCR_BYSW_MASK (0x400000U) +#define LPSPI_TCR_BYSW_SHIFT (22U) +/*! BYSW - Byte Swap + * 0b0..Disable byte swap + * 0b1..Enable byte swap + */ +#define LPSPI_TCR_BYSW(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_BYSW_SHIFT)) & LPSPI_TCR_BYSW_MASK) + +#define LPSPI_TCR_LSBF_MASK (0x800000U) +#define LPSPI_TCR_LSBF_SHIFT (23U) +/*! LSBF - LSB First + * 0b0..MSB first + * 0b1..LSB first + */ +#define LPSPI_TCR_LSBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_LSBF_SHIFT)) & LPSPI_TCR_LSBF_MASK) + +#define LPSPI_TCR_PCS_MASK (0x3000000U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */ +#define LPSPI_TCR_PCS_SHIFT (24U) +/*! PCS - Peripheral Chip Select + * 0b00..Transfer using PCS[0] + * 0b01..Transfer using PCS[1] + * 0b10..Transfer using PCS[2] + */ +#define LPSPI_TCR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PCS_SHIFT)) & LPSPI_TCR_PCS_MASK) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */ + +#define LPSPI_TCR_PRESCALE_MASK (0x38000000U) +#define LPSPI_TCR_PRESCALE_SHIFT (27U) +/*! PRESCALE - Prescaler Value + * 0b000..Divide by 1 + * 0b001..Divide by 2 + * 0b010..Divide by 4 + * 0b011..Divide by 8 + * 0b100..Divide by 16 + * 0b101..Divide by 32 + * 0b110..Divide by 64 + * 0b111..Divide by 128 + */ +#define LPSPI_TCR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PRESCALE_SHIFT)) & LPSPI_TCR_PRESCALE_MASK) + +#define LPSPI_TCR_CPHA_MASK (0x40000000U) +#define LPSPI_TCR_CPHA_SHIFT (30U) +/*! CPHA - Clock Phase + * 0b0..Captured + * 0b1..Changed + */ +#define LPSPI_TCR_CPHA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPHA_SHIFT)) & LPSPI_TCR_CPHA_MASK) + +#define LPSPI_TCR_CPOL_MASK (0x80000000U) +#define LPSPI_TCR_CPOL_SHIFT (31U) +/*! CPOL - Clock Polarity + * 0b0..Inactive low + * 0b1..Inactive high + */ +#define LPSPI_TCR_CPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPOL_SHIFT)) & LPSPI_TCR_CPOL_MASK) +/*! @} */ + +/*! @name TDR - Transmit Data */ +/*! @{ */ + +#define LPSPI_TDR_DATA_MASK (0xFFFFFFFFU) +#define LPSPI_TDR_DATA_SHIFT (0U) +/*! DATA - Transmit Data */ +#define LPSPI_TDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TDR_DATA_SHIFT)) & LPSPI_TDR_DATA_MASK) +/*! @} */ + +/*! @name RSR - Receive Status */ +/*! @{ */ + +#define LPSPI_RSR_SOF_MASK (0x1U) +#define LPSPI_RSR_SOF_SHIFT (0U) +/*! SOF - Start of Frame + * 0b0..Subsequent data word or RX FIFO is empty (RXEMPTY=1). + * 0b1..First data word + */ +#define LPSPI_RSR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_SOF_SHIFT)) & LPSPI_RSR_SOF_MASK) + +#define LPSPI_RSR_RXEMPTY_MASK (0x2U) +#define LPSPI_RSR_RXEMPTY_SHIFT (1U) +/*! RXEMPTY - RX FIFO Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define LPSPI_RSR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_RXEMPTY_SHIFT)) & LPSPI_RSR_RXEMPTY_MASK) +/*! @} */ + +/*! @name RDR - Receive Data */ +/*! @{ */ + +#define LPSPI_RDR_DATA_MASK (0xFFFFFFFFU) +#define LPSPI_RDR_DATA_SHIFT (0U) +/*! DATA - Receive Data */ +#define LPSPI_RDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDR_DATA_SHIFT)) & LPSPI_RDR_DATA_MASK) +/*! @} */ + +/*! @name RDROR - Receive Data Read Only */ +/*! @{ */ + +#define LPSPI_RDROR_DATA_MASK (0xFFFFFFFFU) +#define LPSPI_RDROR_DATA_SHIFT (0U) +/*! DATA - Receive Data */ +#define LPSPI_RDROR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDROR_DATA_SHIFT)) & LPSPI_RDROR_DATA_MASK) +/*! @} */ + +/*! @name TCBR - Transmit Command Burst */ +/*! @{ */ + +#define LPSPI_TCBR_DATA_MASK (0xFFFFFFFFU) +#define LPSPI_TCBR_DATA_SHIFT (0U) +/*! DATA - Command Data */ +#define LPSPI_TCBR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCBR_DATA_SHIFT)) & LPSPI_TCBR_DATA_MASK) +/*! @} */ + +/*! @name TDBR - Transmit Data Burst */ +/*! @{ */ + +#define LPSPI_TDBR_DATA_MASK (0xFFFFFFFFU) +#define LPSPI_TDBR_DATA_SHIFT (0U) +/*! DATA - Data */ +#define LPSPI_TDBR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TDBR_DATA_SHIFT)) & LPSPI_TDBR_DATA_MASK) +/*! @} */ + +/* The count of LPSPI_TDBR */ +#define LPSPI_TDBR_COUNT (128U) + +/*! @name RDBR - Receive Data Burst */ +/*! @{ */ + +#define LPSPI_RDBR_DATA_MASK (0xFFFFFFFFU) +#define LPSPI_RDBR_DATA_SHIFT (0U) +/*! DATA - Data */ +#define LPSPI_RDBR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDBR_DATA_SHIFT)) & LPSPI_RDBR_DATA_MASK) +/*! @} */ + +/* The count of LPSPI_RDBR */ +#define LPSPI_RDBR_COUNT (128U) + + +/*! + * @} + */ /* end of group LPSPI_Register_Masks */ + + +/* LPSPI - Peripheral instance base addresses */ +/** Peripheral LPSPI1 base address */ +#define LPSPI1_BASE (0x44360000u) +/** Peripheral LPSPI1 base pointer */ +#define LPSPI1 ((LPSPI_Type *)LPSPI1_BASE) +/** Peripheral LPSPI2 base address */ +#define LPSPI2_BASE (0x44370000u) +/** Peripheral LPSPI2 base pointer */ +#define LPSPI2 ((LPSPI_Type *)LPSPI2_BASE) +/** Peripheral LPSPI3 base address */ +#define LPSPI3_BASE (0x42550000u) +/** Peripheral LPSPI3 base pointer */ +#define LPSPI3 ((LPSPI_Type *)LPSPI3_BASE) +/** Peripheral LPSPI4 base address */ +#define LPSPI4_BASE (0x42560000u) +/** Peripheral LPSPI4 base pointer */ +#define LPSPI4 ((LPSPI_Type *)LPSPI4_BASE) +/** Peripheral LPSPI5 base address */ +#define LPSPI5_BASE (0x426F0000u) +/** Peripheral LPSPI5 base pointer */ +#define LPSPI5 ((LPSPI_Type *)LPSPI5_BASE) +/** Peripheral LPSPI6 base address */ +#define LPSPI6_BASE (0x42700000u) +/** Peripheral LPSPI6 base pointer */ +#define LPSPI6 ((LPSPI_Type *)LPSPI6_BASE) +/** Peripheral LPSPI7 base address */ +#define LPSPI7_BASE (0x42710000u) +/** Peripheral LPSPI7 base pointer */ +#define LPSPI7 ((LPSPI_Type *)LPSPI7_BASE) +/** Peripheral LPSPI8 base address */ +#define LPSPI8_BASE (0x42720000u) +/** Peripheral LPSPI8 base pointer */ +#define LPSPI8 ((LPSPI_Type *)LPSPI8_BASE) +/** Array initializer of LPSPI peripheral base addresses */ +#define LPSPI_BASE_ADDRS { 0u, LPSPI1_BASE, LPSPI2_BASE, LPSPI3_BASE, LPSPI4_BASE, LPSPI5_BASE, LPSPI6_BASE, LPSPI7_BASE, LPSPI8_BASE } +/** Array initializer of LPSPI peripheral base pointers */ +#define LPSPI_BASE_PTRS { (LPSPI_Type *)0u, LPSPI1, LPSPI2, LPSPI3, LPSPI4, LPSPI5, LPSPI6, LPSPI7, LPSPI8 } +/** Interrupt vectors for the LPSPI peripheral type */ +#define LPSPI_IRQS { NotAvail_IRQn, LPSPI1_IRQn, LPSPI2_IRQn, LPSPI3_IRQn, LPSPI4_IRQn, LPSPI5_IRQn, LPSPI6_IRQn, LPSPI7_IRQn, LPSPI8_IRQn } + +/*! + * @} + */ /* end of group LPSPI_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- LPTMR Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPTMR_Peripheral_Access_Layer LPTMR Peripheral Access Layer + * @{ + */ + +/** LPTMR - Register Layout Typedef */ +typedef struct { + __IO uint32_t CSR; /**< Control Status, offset: 0x0 */ + __IO uint32_t PSR; /**< Prescaler and Glitch Filter, offset: 0x4 */ + __IO uint32_t CMR; /**< Compare, offset: 0x8 */ + __IO uint32_t CNR; /**< Counter, offset: 0xC */ +} LPTMR_Type; + +/* ---------------------------------------------------------------------------- + -- LPTMR Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPTMR_Register_Masks LPTMR Register Masks + * @{ + */ + +/*! @name CSR - Control Status */ +/*! @{ */ + +#define LPTMR_CSR_TEN_MASK (0x1U) +#define LPTMR_CSR_TEN_SHIFT (0U) +/*! TEN - Timer Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPTMR_CSR_TEN(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TEN_SHIFT)) & LPTMR_CSR_TEN_MASK) + +#define LPTMR_CSR_TMS_MASK (0x2U) +#define LPTMR_CSR_TMS_SHIFT (1U) +/*! TMS - Timer Mode Select + * 0b0..Time Counter + * 0b1..Pulse Counter + */ +#define LPTMR_CSR_TMS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TMS_SHIFT)) & LPTMR_CSR_TMS_MASK) + +#define LPTMR_CSR_TFC_MASK (0x4U) +#define LPTMR_CSR_TFC_SHIFT (2U) +/*! TFC - Timer Free-Running Counter + * 0b0..Reset when TCF asserts + * 0b1..Reset on overflow + */ +#define LPTMR_CSR_TFC(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TFC_SHIFT)) & LPTMR_CSR_TFC_MASK) + +#define LPTMR_CSR_TPP_MASK (0x8U) +#define LPTMR_CSR_TPP_SHIFT (3U) +/*! TPP - Timer Pin Polarity + * 0b0..Active-high + * 0b1..Active-low + */ +#define LPTMR_CSR_TPP(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TPP_SHIFT)) & LPTMR_CSR_TPP_MASK) + +#define LPTMR_CSR_TPS_MASK (0x30U) +#define LPTMR_CSR_TPS_SHIFT (4U) +/*! TPS - Timer Pin Select + * 0b00..Input 0 + * 0b01..Input 1 + * 0b10..Input 2 + * 0b11..Input 3 + */ +#define LPTMR_CSR_TPS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TPS_SHIFT)) & LPTMR_CSR_TPS_MASK) + +#define LPTMR_CSR_TIE_MASK (0x40U) +#define LPTMR_CSR_TIE_SHIFT (6U) +/*! TIE - Timer Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPTMR_CSR_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TIE_SHIFT)) & LPTMR_CSR_TIE_MASK) + +#define LPTMR_CSR_TCF_MASK (0x80U) +#define LPTMR_CSR_TCF_SHIFT (7U) +/*! TCF - Timer Compare Flag + * 0b0..CNR != (CMR + 1) + * 0b0..No effect + * 0b1..CNR = (CMR + 1) + * 0b1..Clear the flag + */ +#define LPTMR_CSR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TCF_SHIFT)) & LPTMR_CSR_TCF_MASK) + +#define LPTMR_CSR_TDRE_MASK (0x100U) +#define LPTMR_CSR_TDRE_SHIFT (8U) +/*! TDRE - Timer DMA Request Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPTMR_CSR_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TDRE_SHIFT)) & LPTMR_CSR_TDRE_MASK) +/*! @} */ + +/*! @name PSR - Prescaler and Glitch Filter */ +/*! @{ */ + +#define LPTMR_PSR_PCS_MASK (0x3U) +#define LPTMR_PSR_PCS_SHIFT (0U) +/*! PCS - Prescaler and Glitch Filter Clock Select + * 0b00..Clock 0 + * 0b01..Clock 1 + * 0b10..Clock 2 + * 0b11..Clock 3 + */ +#define LPTMR_PSR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PCS_SHIFT)) & LPTMR_PSR_PCS_MASK) + +#define LPTMR_PSR_PBYP_MASK (0x4U) +#define LPTMR_PSR_PBYP_SHIFT (2U) +/*! PBYP - Prescaler and Glitch Filter Bypass + * 0b0..Prescaler and glitch filter enable + * 0b1..Prescaler and glitch filter bypass + */ +#define LPTMR_PSR_PBYP(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PBYP_SHIFT)) & LPTMR_PSR_PBYP_MASK) + +#define LPTMR_PSR_PRESCALE_MASK (0x78U) +#define LPTMR_PSR_PRESCALE_SHIFT (3U) +/*! PRESCALE - Prescaler and Glitch Filter Value + * 0b0000..Prescaler divides the prescaler clock by 2; glitch filter does not support this configuration + * 0b0001..Prescaler divides the prescaler clock by 4; glitch filter recognizes change on input pin after two rising clock edges + * 0b0010..Prescaler divides the prescaler clock by 8; glitch filter recognizes change on input pin after four rising clock edges + * 0b0011..Prescaler divides the prescaler clock by 16; glitch filter recognizes change on input pin after eight rising clock edges + * 0b0100..Prescaler divides the prescaler clock by 32; glitch filter recognizes change on input pin after 16 rising clock edges + * 0b0101..Prescaler divides the prescaler clock by 64; glitch filter recognizes change on input pin after 32 rising clock edges + * 0b0110..Prescaler divides the prescaler clock by 128; glitch filter recognizes change on input pin after 64 rising clock edges + * 0b0111..Prescaler divides the prescaler clock by 256; glitch filter recognizes change on input pin after 128 rising clock edges + * 0b1000..Prescaler divides the prescaler clock by 512; glitch filter recognizes change on input pin after 256 rising clock edges + * 0b1001..Prescaler divides the prescaler clock by 1024; glitch filter recognizes change on input pin after 512 rising clock edges + * 0b1010..Prescaler divides the prescaler clock by 2048; glitch filter recognizes change on input pin after 1024 rising clock edges + * 0b1011..Prescaler divides the prescaler clock by 4096; glitch filter recognizes change on input pin after 2048 rising clock edges + * 0b1100..Prescaler divides the prescaler clock by 8192; glitch filter recognizes change on input pin after 4096 rising clock edges + * 0b1101..Prescaler divides the prescaler clock by 16,384; glitch filter recognizes change on input pin after 8192 rising clock edges + * 0b1110..Prescaler divides the prescaler clock by 32,768; glitch filter recognizes change on input pin after 16,384 rising clock edges + * 0b1111..Prescaler divides the prescaler clock by 65,536; glitch filter recognizes change on input pin after 32,768 rising clock edges + */ +#define LPTMR_PSR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PRESCALE_SHIFT)) & LPTMR_PSR_PRESCALE_MASK) +/*! @} */ + +/*! @name CMR - Compare */ +/*! @{ */ + +#define LPTMR_CMR_COMPARE_MASK (0xFFFFFFFFU) +#define LPTMR_CMR_COMPARE_SHIFT (0U) +/*! COMPARE - Compare Value */ +#define LPTMR_CMR_COMPARE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CMR_COMPARE_SHIFT)) & LPTMR_CMR_COMPARE_MASK) +/*! @} */ + +/*! @name CNR - Counter */ +/*! @{ */ + +#define LPTMR_CNR_COUNTER_MASK (0xFFFFFFFFU) +#define LPTMR_CNR_COUNTER_SHIFT (0U) +/*! COUNTER - Counter Value */ +#define LPTMR_CNR_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CNR_COUNTER_SHIFT)) & LPTMR_CNR_COUNTER_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group LPTMR_Register_Masks */ + + +/* LPTMR - Peripheral instance base addresses */ +/** Peripheral LPTMR1 base address */ +#define LPTMR1_BASE (0x44300000u) +/** Peripheral LPTMR1 base pointer */ +#define LPTMR1 ((LPTMR_Type *)LPTMR1_BASE) +/** Peripheral LPTMR2 base address */ +#define LPTMR2_BASE (0x424D0000u) +/** Peripheral LPTMR2 base pointer */ +#define LPTMR2 ((LPTMR_Type *)LPTMR2_BASE) +/** Array initializer of LPTMR peripheral base addresses */ +#define LPTMR_BASE_ADDRS { 0u, LPTMR1_BASE, LPTMR2_BASE } +/** Array initializer of LPTMR peripheral base pointers */ +#define LPTMR_BASE_PTRS { (LPTMR_Type *)0u, LPTMR1, LPTMR2 } +/** Interrupt vectors for the LPTMR peripheral type */ +#define LPTMR_IRQS { NotAvail_IRQn, LPTMR1_IRQn, LPTMR2_IRQn } + +/*! + * @} + */ /* end of group LPTMR_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- LPUART Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPUART_Peripheral_Access_Layer LPUART Peripheral Access Layer + * @{ + */ + +/** LPUART - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< Version ID, offset: 0x0 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x4 */ + __IO uint32_t GLOBAL; /**< Global, offset: 0x8 */ + __IO uint32_t PINCFG; /**< Pin Configuration, offset: 0xC */ + __IO uint32_t BAUD; /**< Baud Rate, offset: 0x10 */ + __IO uint32_t STAT; /**< Status, offset: 0x14 */ + __IO uint32_t CTRL; /**< Control, offset: 0x18 */ + __IO uint32_t DATA; /**< Data, offset: 0x1C */ + __IO uint32_t MATCH; /**< Match Address, offset: 0x20 */ + __IO uint32_t MODIR; /**< MODEM IrDA, offset: 0x24 */ + __IO uint32_t FIFO; /**< FIFO, offset: 0x28 */ + __IO uint32_t WATER; /**< Watermark, offset: 0x2C */ + __I uint32_t DATARO; /**< Data Read-Only, offset: 0x30 */ + uint8_t RESERVED_0[12]; + __IO uint32_t MCR; /**< MODEM Control, offset: 0x40 */ + __IO uint32_t MSR; /**< MODEM Status, offset: 0x44 */ + __IO uint32_t REIR; /**< Receiver Extended Idle, offset: 0x48 */ + __IO uint32_t TEIR; /**< Transmitter Extended Idle, offset: 0x4C */ + __IO uint32_t HDCR; /**< Half Duplex Control, offset: 0x50 */ + uint8_t RESERVED_1[4]; + __IO uint32_t TOCR; /**< Timeout Control, offset: 0x58 */ + __IO uint32_t TOSR; /**< Timeout Status, offset: 0x5C */ + __IO uint32_t TIMEOUT[4]; /**< Timeout N, array offset: 0x60, array step: 0x4 */ + uint8_t RESERVED_2[400]; + __O uint32_t TCBR[128]; /**< Transmit Command Burst, array offset: 0x200, array step: 0x4 */ + __O uint32_t TDBR[256]; /**< Transmit Data Burst, array offset: 0x400, array step: 0x4 */ +} LPUART_Type; + +/* ---------------------------------------------------------------------------- + -- LPUART Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup LPUART_Register_Masks LPUART Register Masks + * @{ + */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define LPUART_VERID_FEATURE_MASK (0xFFFFU) +#define LPUART_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Identification Number + * 0b0000000000000001..Standard feature set + * 0b0000000000000011..Standard feature set with MODEM and IrDA support + * 0b0000000000000111..Enhanced feature set with full MODEM, IrDA, and enhanced idle detection + */ +#define LPUART_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_FEATURE_SHIFT)) & LPUART_VERID_FEATURE_MASK) + +#define LPUART_VERID_MINOR_MASK (0xFF0000U) +#define LPUART_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define LPUART_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MINOR_SHIFT)) & LPUART_VERID_MINOR_MASK) + +#define LPUART_VERID_MAJOR_MASK (0xFF000000U) +#define LPUART_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define LPUART_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MAJOR_SHIFT)) & LPUART_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define LPUART_PARAM_TXFIFO_MASK (0xFFU) +#define LPUART_PARAM_TXFIFO_SHIFT (0U) +/*! TXFIFO - Transmit FIFO Size */ +#define LPUART_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_TXFIFO_SHIFT)) & LPUART_PARAM_TXFIFO_MASK) + +#define LPUART_PARAM_RXFIFO_MASK (0xFF00U) +#define LPUART_PARAM_RXFIFO_SHIFT (8U) +/*! RXFIFO - Receive FIFO Size */ +#define LPUART_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_RXFIFO_SHIFT)) & LPUART_PARAM_RXFIFO_MASK) +/*! @} */ + +/*! @name GLOBAL - Global */ +/*! @{ */ + +#define LPUART_GLOBAL_RST_MASK (0x2U) +#define LPUART_GLOBAL_RST_SHIFT (1U) +/*! RST - Software Reset + * 0b0..Not reset + * 0b1..Reset + */ +#define LPUART_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << LPUART_GLOBAL_RST_SHIFT)) & LPUART_GLOBAL_RST_MASK) +/*! @} */ + +/*! @name PINCFG - Pin Configuration */ +/*! @{ */ + +#define LPUART_PINCFG_TRGSEL_MASK (0x3U) +#define LPUART_PINCFG_TRGSEL_SHIFT (0U) +/*! TRGSEL - Trigger Select + * 0b00..Input trigger disabled + * 0b01..Input trigger used instead of the RXD pin input + * 0b10..Input trigger used instead of the CTS_B pin input + * 0b11..Input trigger used to modulate the TXD pin output, which (after TXINV configuration) is internally ANDed with the input trigger + */ +#define LPUART_PINCFG_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PINCFG_TRGSEL_SHIFT)) & LPUART_PINCFG_TRGSEL_MASK) +/*! @} */ + +/*! @name BAUD - Baud Rate */ +/*! @{ */ + +#define LPUART_BAUD_SBR_MASK (0x1FFFU) +#define LPUART_BAUD_SBR_SHIFT (0U) +/*! SBR - Baud Rate Modulo Divisor */ +#define LPUART_BAUD_SBR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBR_SHIFT)) & LPUART_BAUD_SBR_MASK) + +#define LPUART_BAUD_SBNS_MASK (0x2000U) +#define LPUART_BAUD_SBNS_SHIFT (13U) +/*! SBNS - Stop Bit Number Select + * 0b0..One stop bit + * 0b1..Two stop bits + */ +#define LPUART_BAUD_SBNS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBNS_SHIFT)) & LPUART_BAUD_SBNS_MASK) + +#define LPUART_BAUD_RXEDGIE_MASK (0x4000U) +#define LPUART_BAUD_RXEDGIE_SHIFT (14U) +/*! RXEDGIE - RX Input Active Edge Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_BAUD_RXEDGIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RXEDGIE_SHIFT)) & LPUART_BAUD_RXEDGIE_MASK) + +#define LPUART_BAUD_LBKDIE_MASK (0x8000U) +#define LPUART_BAUD_LBKDIE_SHIFT (15U) +/*! LBKDIE - LIN Break Detect Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_BAUD_LBKDIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_LBKDIE_SHIFT)) & LPUART_BAUD_LBKDIE_MASK) + +#define LPUART_BAUD_RESYNCDIS_MASK (0x10000U) +#define LPUART_BAUD_RESYNCDIS_SHIFT (16U) +/*! RESYNCDIS - Resynchronization Disable + * 0b0..Enable + * 0b1..Disable + */ +#define LPUART_BAUD_RESYNCDIS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RESYNCDIS_SHIFT)) & LPUART_BAUD_RESYNCDIS_MASK) + +#define LPUART_BAUD_BOTHEDGE_MASK (0x20000U) +#define LPUART_BAUD_BOTHEDGE_SHIFT (17U) +/*! BOTHEDGE - Both Edge Sampling + * 0b0..Rising edge + * 0b1..Both rising and falling edges + */ +#define LPUART_BAUD_BOTHEDGE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_BOTHEDGE_SHIFT)) & LPUART_BAUD_BOTHEDGE_MASK) + +#define LPUART_BAUD_MATCFG_MASK (0xC0000U) +#define LPUART_BAUD_MATCFG_SHIFT (18U) +/*! MATCFG - Match Configuration + * 0b00..Address match wake-up + * 0b01..Idle match wake-up + * 0b10..Match on and match off + * 0b11..Enables RWU on data match and match on or off for the transmitter CTS input + */ +#define LPUART_BAUD_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MATCFG_SHIFT)) & LPUART_BAUD_MATCFG_MASK) + +#define LPUART_BAUD_RIDMAE_MASK (0x100000U) +#define LPUART_BAUD_RIDMAE_SHIFT (20U) +/*! RIDMAE - Receiver Idle DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_BAUD_RIDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RIDMAE_SHIFT)) & LPUART_BAUD_RIDMAE_MASK) + +#define LPUART_BAUD_RDMAE_MASK (0x200000U) +#define LPUART_BAUD_RDMAE_SHIFT (21U) +/*! RDMAE - Receiver Full DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_BAUD_RDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RDMAE_SHIFT)) & LPUART_BAUD_RDMAE_MASK) + +#define LPUART_BAUD_TDMAE_MASK (0x800000U) +#define LPUART_BAUD_TDMAE_SHIFT (23U) +/*! TDMAE - Transmitter DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_BAUD_TDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_TDMAE_SHIFT)) & LPUART_BAUD_TDMAE_MASK) + +#define LPUART_BAUD_OSR_MASK (0x1F000000U) +#define LPUART_BAUD_OSR_SHIFT (24U) +/*! OSR - Oversampling Ratio + * 0b00000..Results in an OSR of 16 + * 0b00001..Reserved + * 0b00010..Reserved + * 0b00011..Results in an OSR of 4 (requires BAUD[BOTHEDGE] to be 1) + * 0b00100..Results in an OSR of 5 (requires BAUD[BOTHEDGE] to be 1) + * 0b00101..Results in an OSR of 6 (requires BAUD[BOTHEDGE] to be 1) + * 0b00110..Results in an OSR of 7 (requires BAUD[BOTHEDGE] to be 1) + * 0b00111..Results in an OSR of 8 + * 0b01000..Results in an OSR of 9 + * 0b01001..Results in an OSR of 10 + * 0b01010..Results in an OSR of 11 + * 0b01011..Results in an OSR of 12 + * 0b01100..Results in an OSR of 13 + * 0b01101..Results in an OSR of 14 + * 0b01110..Results in an OSR of 15 + * 0b01111..Results in an OSR of 16 + * 0b10000..Results in an OSR of 17 + * 0b10001..Results in an OSR of 18 + * 0b10010..Results in an OSR of 19 + * 0b10011..Results in an OSR of 20 + * 0b10100..Results in an OSR of 21 + * 0b10101..Results in an OSR of 22 + * 0b10110..Results in an OSR of 23 + * 0b10111..Results in an OSR of 24 + * 0b11000..Results in an OSR of 25 + * 0b11001..Results in an OSR of 26 + * 0b11010..Results in an OSR of 27 + * 0b11011..Results in an OSR of 28 + * 0b11100..Results in an OSR of 29 + * 0b11101..Results in an OSR of 30 + * 0b11110..Results in an OSR of 31 + * 0b11111..Results in an OSR of 32 + */ +#define LPUART_BAUD_OSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_OSR_SHIFT)) & LPUART_BAUD_OSR_MASK) + +#define LPUART_BAUD_M10_MASK (0x20000000U) +#define LPUART_BAUD_M10_SHIFT (29U) +/*! M10 - 10-Bit Mode Select + * 0b0..Receiver and transmitter use 7-bit to 9-bit data characters + * 0b1..Receiver and transmitter use 10-bit data characters + */ +#define LPUART_BAUD_M10(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_M10_SHIFT)) & LPUART_BAUD_M10_MASK) + +#define LPUART_BAUD_MAEN2_MASK (0x40000000U) +#define LPUART_BAUD_MAEN2_SHIFT (30U) +/*! MAEN2 - Match Address Mode Enable 2 + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_BAUD_MAEN2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN2_SHIFT)) & LPUART_BAUD_MAEN2_MASK) + +#define LPUART_BAUD_MAEN1_MASK (0x80000000U) +#define LPUART_BAUD_MAEN1_SHIFT (31U) +/*! MAEN1 - Match Address Mode Enable 1 + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_BAUD_MAEN1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN1_SHIFT)) & LPUART_BAUD_MAEN1_MASK) +/*! @} */ + +/*! @name STAT - Status */ +/*! @{ */ + +#define LPUART_STAT_LBKFE_MASK (0x1U) +#define LPUART_STAT_LBKFE_SHIFT (0U) +/*! LBKFE - LIN Break Flag Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_STAT_LBKFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKFE_SHIFT)) & LPUART_STAT_LBKFE_MASK) + +#define LPUART_STAT_AME_MASK (0x2U) +#define LPUART_STAT_AME_SHIFT (1U) +/*! AME - Address Mark Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_STAT_AME(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_AME_SHIFT)) & LPUART_STAT_AME_MASK) + +#define LPUART_STAT_MSF_MASK (0x100U) +#define LPUART_STAT_MSF_SHIFT (8U) +/*! MSF - MODEM Status Flag + * 0b0..Field is 0 + * 0b1..Field is 1 + */ +#define LPUART_STAT_MSF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MSF_SHIFT)) & LPUART_STAT_MSF_MASK) + +#define LPUART_STAT_TSF_MASK (0x200U) +#define LPUART_STAT_TSF_SHIFT (9U) +/*! TSF - Timeout Status Flag + * 0b0..Field is 0 + * 0b1..Field is 1 + */ +#define LPUART_STAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TSF_SHIFT)) & LPUART_STAT_TSF_MASK) + +#define LPUART_STAT_MA2F_MASK (0x4000U) +#define LPUART_STAT_MA2F_SHIFT (14U) +/*! MA2F - Match 2 Flag + * 0b0..Not equal to MA2 + * 0b0..No effect + * 0b1..Equal to MA2 + * 0b1..Clear the flag + */ +#define LPUART_STAT_MA2F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA2F_SHIFT)) & LPUART_STAT_MA2F_MASK) + +#define LPUART_STAT_MA1F_MASK (0x8000U) +#define LPUART_STAT_MA1F_SHIFT (15U) +/*! MA1F - Match 1 Flag + * 0b0..Not equal to MA1 + * 0b0..No effect + * 0b1..Equal to MA1 + * 0b1..Clear the flag + */ +#define LPUART_STAT_MA1F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA1F_SHIFT)) & LPUART_STAT_MA1F_MASK) + +#define LPUART_STAT_PF_MASK (0x10000U) +#define LPUART_STAT_PF_SHIFT (16U) +/*! PF - Parity Error Flag + * 0b0..No parity error detected + * 0b0..No effect + * 0b1..Parity error detected + * 0b1..Clear the flag + */ +#define LPUART_STAT_PF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_PF_SHIFT)) & LPUART_STAT_PF_MASK) + +#define LPUART_STAT_FE_MASK (0x20000U) +#define LPUART_STAT_FE_SHIFT (17U) +/*! FE - Framing Error Flag + * 0b0..No framing error detected (this does not guarantee that the framing is correct) + * 0b0..No effect + * 0b1..Framing error detected + * 0b1..Clear the flag + */ +#define LPUART_STAT_FE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_FE_SHIFT)) & LPUART_STAT_FE_MASK) + +#define LPUART_STAT_NF_MASK (0x40000U) +#define LPUART_STAT_NF_SHIFT (18U) +/*! NF - Noise Flag + * 0b0..No noise detected + * 0b0..No effect + * 0b1..Noise detected + * 0b1..Clear the flag + */ +#define LPUART_STAT_NF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_NF_SHIFT)) & LPUART_STAT_NF_MASK) + +#define LPUART_STAT_OR_MASK (0x80000U) +#define LPUART_STAT_OR_SHIFT (19U) +/*! OR - Receiver Overrun Flag + * 0b0..No overrun + * 0b0..No effect + * 0b1..Receive overrun (new LPUART data is lost) + * 0b1..Clear the flag + */ +#define LPUART_STAT_OR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_OR_SHIFT)) & LPUART_STAT_OR_MASK) + +#define LPUART_STAT_IDLE_MASK (0x100000U) +#define LPUART_STAT_IDLE_SHIFT (20U) +/*! IDLE - Idle Line Flag + * 0b0..Idle line detected + * 0b0..No effect + * 0b1..Idle line not detected + * 0b1..Clear the flag + */ +#define LPUART_STAT_IDLE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_IDLE_SHIFT)) & LPUART_STAT_IDLE_MASK) + +#define LPUART_STAT_RDRF_MASK (0x200000U) +#define LPUART_STAT_RDRF_SHIFT (21U) +/*! RDRF - Receive Data Register Full Flag + * 0b0..Equal to or less than watermark + * 0b1..Greater than watermark + */ +#define LPUART_STAT_RDRF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RDRF_SHIFT)) & LPUART_STAT_RDRF_MASK) + +#define LPUART_STAT_TC_MASK (0x400000U) +#define LPUART_STAT_TC_SHIFT (22U) +/*! TC - Transmission Complete Flag + * 0b0..Transmitter active + * 0b1..Transmitter idle + */ +#define LPUART_STAT_TC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TC_SHIFT)) & LPUART_STAT_TC_MASK) + +#define LPUART_STAT_TDRE_MASK (0x800000U) +#define LPUART_STAT_TDRE_SHIFT (23U) +/*! TDRE - Transmit Data Register Empty Flag + * 0b0..Greater than watermark + * 0b1..Equal to or less than watermark + */ +#define LPUART_STAT_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TDRE_SHIFT)) & LPUART_STAT_TDRE_MASK) + +#define LPUART_STAT_RAF_MASK (0x1000000U) +#define LPUART_STAT_RAF_SHIFT (24U) +/*! RAF - Receiver Active Flag + * 0b0..Idle, waiting for a start bit + * 0b1..Receiver active (RXD pin input not idle) + */ +#define LPUART_STAT_RAF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RAF_SHIFT)) & LPUART_STAT_RAF_MASK) + +#define LPUART_STAT_LBKDE_MASK (0x2000000U) +#define LPUART_STAT_LBKDE_SHIFT (25U) +/*! LBKDE - LIN Break Detection Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_STAT_LBKDE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDE_SHIFT)) & LPUART_STAT_LBKDE_MASK) + +#define LPUART_STAT_BRK13_MASK (0x4000000U) +#define LPUART_STAT_BRK13_SHIFT (26U) +/*! BRK13 - Break Character Generation Length + * 0b0..9 to 13 bit times + * 0b1..12 to 15 bit times + */ +#define LPUART_STAT_BRK13(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_BRK13_SHIFT)) & LPUART_STAT_BRK13_MASK) + +#define LPUART_STAT_RWUID_MASK (0x8000000U) +#define LPUART_STAT_RWUID_SHIFT (27U) +/*! RWUID - Receive Wake Up Idle Detect + * 0b0..STAT[IDLE] does not become 1 + * 0b1..STAT[IDLE] becomes 1 + */ +#define LPUART_STAT_RWUID(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RWUID_SHIFT)) & LPUART_STAT_RWUID_MASK) + +#define LPUART_STAT_RXINV_MASK (0x10000000U) +#define LPUART_STAT_RXINV_SHIFT (28U) +/*! RXINV - Receive Data Inversion + * 0b0..Inverted + * 0b1..Not inverted + */ +#define LPUART_STAT_RXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXINV_SHIFT)) & LPUART_STAT_RXINV_MASK) + +#define LPUART_STAT_MSBF_MASK (0x20000000U) +#define LPUART_STAT_MSBF_SHIFT (29U) +/*! MSBF - MSB First + * 0b0..LSB + * 0b1..MSB + */ +#define LPUART_STAT_MSBF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MSBF_SHIFT)) & LPUART_STAT_MSBF_MASK) + +#define LPUART_STAT_RXEDGIF_MASK (0x40000000U) +#define LPUART_STAT_RXEDGIF_SHIFT (30U) +/*! RXEDGIF - RXD Pin Active Edge Interrupt Flag + * 0b0..Not occurred + * 0b0..No effect + * 0b1..Occurred + * 0b1..Clear the flag + */ +#define LPUART_STAT_RXEDGIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXEDGIF_SHIFT)) & LPUART_STAT_RXEDGIF_MASK) + +#define LPUART_STAT_LBKDIF_MASK (0x80000000U) +#define LPUART_STAT_LBKDIF_SHIFT (31U) +/*! LBKDIF - LIN Break Detect Interrupt Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define LPUART_STAT_LBKDIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDIF_SHIFT)) & LPUART_STAT_LBKDIF_MASK) +/*! @} */ + +/*! @name CTRL - Control */ +/*! @{ */ + +#define LPUART_CTRL_PT_MASK (0x1U) +#define LPUART_CTRL_PT_SHIFT (0U) +/*! PT - Parity Type + * 0b0..Even parity + * 0b1..Odd parity + */ +#define LPUART_CTRL_PT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PT_SHIFT)) & LPUART_CTRL_PT_MASK) + +#define LPUART_CTRL_PE_MASK (0x2U) +#define LPUART_CTRL_PE_SHIFT (1U) +/*! PE - Parity Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_PE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PE_SHIFT)) & LPUART_CTRL_PE_MASK) + +#define LPUART_CTRL_ILT_MASK (0x4U) +#define LPUART_CTRL_ILT_SHIFT (2U) +/*! ILT - Idle Line Type Select + * 0b0..After the start bit + * 0b1..After the stop bit + */ +#define LPUART_CTRL_ILT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILT_SHIFT)) & LPUART_CTRL_ILT_MASK) + +#define LPUART_CTRL_WAKE_MASK (0x8U) +#define LPUART_CTRL_WAKE_SHIFT (3U) +/*! WAKE - Receiver Wake-Up Method Select + * 0b0..Idle + * 0b1..Mark + */ +#define LPUART_CTRL_WAKE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_WAKE_SHIFT)) & LPUART_CTRL_WAKE_MASK) + +#define LPUART_CTRL_M_MASK (0x10U) +#define LPUART_CTRL_M_SHIFT (4U) +/*! M - 9-Bit Or 8-Bit Mode Select + * 0b0..8-bit + * 0b1..9-bit + */ +#define LPUART_CTRL_M(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M_SHIFT)) & LPUART_CTRL_M_MASK) + +#define LPUART_CTRL_RSRC_MASK (0x20U) +#define LPUART_CTRL_RSRC_SHIFT (5U) +/*! RSRC - Receiver Source Select + * 0b0..Internal Loopback mode + * 0b1..Single-wire mode + */ +#define LPUART_CTRL_RSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RSRC_SHIFT)) & LPUART_CTRL_RSRC_MASK) + +#define LPUART_CTRL_DOZEEN_MASK (0x40U) +#define LPUART_CTRL_DOZEEN_SHIFT (6U) +/*! DOZEEN - Doze Mode + * 0b0..Enable + * 0b1..Disable + */ +#define LPUART_CTRL_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_DOZEEN_SHIFT)) & LPUART_CTRL_DOZEEN_MASK) + +#define LPUART_CTRL_LOOPS_MASK (0x80U) +#define LPUART_CTRL_LOOPS_SHIFT (7U) +/*! LOOPS - Loop Mode Select + * 0b0..Normal operation: RXD and TXD use separate pins + * 0b1..Loop mode or Single-Wire mode + */ +#define LPUART_CTRL_LOOPS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_LOOPS_SHIFT)) & LPUART_CTRL_LOOPS_MASK) + +#define LPUART_CTRL_IDLECFG_MASK (0x700U) +#define LPUART_CTRL_IDLECFG_SHIFT (8U) +/*! IDLECFG - Idle Configuration + * 0b000..1 + * 0b001..2 + * 0b010..4 + * 0b011..8 + * 0b100..16 + * 0b101..32 + * 0b110..64 + * 0b111..128 + */ +#define LPUART_CTRL_IDLECFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_IDLECFG_SHIFT)) & LPUART_CTRL_IDLECFG_MASK) + +#define LPUART_CTRL_M7_MASK (0x800U) +#define LPUART_CTRL_M7_SHIFT (11U) +/*! M7 - 7-Bit Mode Select + * 0b0..8-bit to 10-bit + * 0b1..7-bit + */ +#define LPUART_CTRL_M7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M7_SHIFT)) & LPUART_CTRL_M7_MASK) + +#define LPUART_CTRL_MA2IE_MASK (0x4000U) +#define LPUART_CTRL_MA2IE_SHIFT (14U) +/*! MA2IE - Match 2 (MA2F) Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_MA2IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA2IE_SHIFT)) & LPUART_CTRL_MA2IE_MASK) + +#define LPUART_CTRL_MA1IE_MASK (0x8000U) +#define LPUART_CTRL_MA1IE_SHIFT (15U) +/*! MA1IE - Match 1 (MA1F) Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_MA1IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA1IE_SHIFT)) & LPUART_CTRL_MA1IE_MASK) + +#define LPUART_CTRL_SBK_MASK (0x10000U) +#define LPUART_CTRL_SBK_SHIFT (16U) +/*! SBK - Send Break + * 0b0..Normal transmitter operation + * 0b1..Queue break character(s) to be sent + */ +#define LPUART_CTRL_SBK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_SBK_SHIFT)) & LPUART_CTRL_SBK_MASK) + +#define LPUART_CTRL_RWU_MASK (0x20000U) +#define LPUART_CTRL_RWU_SHIFT (17U) +/*! RWU - Receiver Wake-Up Control + * 0b0..Normal receiver operation + * 0b1..LPUART receiver in standby, waiting for a wake-up condition + */ +#define LPUART_CTRL_RWU(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RWU_SHIFT)) & LPUART_CTRL_RWU_MASK) + +#define LPUART_CTRL_RE_MASK (0x40000U) +#define LPUART_CTRL_RE_SHIFT (18U) +/*! RE - Receiver Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_RE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RE_SHIFT)) & LPUART_CTRL_RE_MASK) + +#define LPUART_CTRL_TE_MASK (0x80000U) +#define LPUART_CTRL_TE_SHIFT (19U) +/*! TE - Transmitter Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_TE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TE_SHIFT)) & LPUART_CTRL_TE_MASK) + +#define LPUART_CTRL_ILIE_MASK (0x100000U) +#define LPUART_CTRL_ILIE_SHIFT (20U) +/*! ILIE - Idle Line Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_ILIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILIE_SHIFT)) & LPUART_CTRL_ILIE_MASK) + +#define LPUART_CTRL_RIE_MASK (0x200000U) +#define LPUART_CTRL_RIE_SHIFT (21U) +/*! RIE - Receiver Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_RIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RIE_SHIFT)) & LPUART_CTRL_RIE_MASK) + +#define LPUART_CTRL_TCIE_MASK (0x400000U) +#define LPUART_CTRL_TCIE_SHIFT (22U) +/*! TCIE - Transmission Complete Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TCIE_SHIFT)) & LPUART_CTRL_TCIE_MASK) + +#define LPUART_CTRL_TIE_MASK (0x800000U) +#define LPUART_CTRL_TIE_SHIFT (23U) +/*! TIE - Transmit Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TIE_SHIFT)) & LPUART_CTRL_TIE_MASK) + +#define LPUART_CTRL_PEIE_MASK (0x1000000U) +#define LPUART_CTRL_PEIE_SHIFT (24U) +/*! PEIE - Parity Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_PEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PEIE_SHIFT)) & LPUART_CTRL_PEIE_MASK) + +#define LPUART_CTRL_FEIE_MASK (0x2000000U) +#define LPUART_CTRL_FEIE_SHIFT (25U) +/*! FEIE - Framing Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_FEIE_SHIFT)) & LPUART_CTRL_FEIE_MASK) + +#define LPUART_CTRL_NEIE_MASK (0x4000000U) +#define LPUART_CTRL_NEIE_SHIFT (26U) +/*! NEIE - Noise Error Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_NEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_NEIE_SHIFT)) & LPUART_CTRL_NEIE_MASK) + +#define LPUART_CTRL_ORIE_MASK (0x8000000U) +#define LPUART_CTRL_ORIE_SHIFT (27U) +/*! ORIE - Overrun Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_CTRL_ORIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ORIE_SHIFT)) & LPUART_CTRL_ORIE_MASK) + +#define LPUART_CTRL_TXINV_MASK (0x10000000U) +#define LPUART_CTRL_TXINV_SHIFT (28U) +/*! TXINV - Transmit Data Inversion + * 0b0..Not inverted + * 0b1..Inverted + */ +#define LPUART_CTRL_TXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXINV_SHIFT)) & LPUART_CTRL_TXINV_MASK) + +#define LPUART_CTRL_TXDIR_MASK (0x20000000U) +#define LPUART_CTRL_TXDIR_SHIFT (29U) +/*! TXDIR - TXD Pin Direction in Single-Wire Mode + * 0b0..Input + * 0b1..Output + */ +#define LPUART_CTRL_TXDIR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXDIR_SHIFT)) & LPUART_CTRL_TXDIR_MASK) + +#define LPUART_CTRL_R9T8_MASK (0x40000000U) +#define LPUART_CTRL_R9T8_SHIFT (30U) +/*! R9T8 - Receive Bit 9 Transmit Bit 8 */ +#define LPUART_CTRL_R9T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R9T8_SHIFT)) & LPUART_CTRL_R9T8_MASK) + +#define LPUART_CTRL_R8T9_MASK (0x80000000U) +#define LPUART_CTRL_R8T9_SHIFT (31U) +/*! R8T9 - Receive Bit 8 Transmit Bit 9 */ +#define LPUART_CTRL_R8T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R8T9_SHIFT)) & LPUART_CTRL_R8T9_MASK) +/*! @} */ + +/*! @name DATA - Data */ +/*! @{ */ + +#define LPUART_DATA_R0T0_MASK (0x1U) +#define LPUART_DATA_R0T0_SHIFT (0U) +/*! R0T0 - Read receive FIFO bit 0 or write transmit FIFO bit 0 */ +#define LPUART_DATA_R0T0(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R0T0_SHIFT)) & LPUART_DATA_R0T0_MASK) + +#define LPUART_DATA_R1T1_MASK (0x2U) +#define LPUART_DATA_R1T1_SHIFT (1U) +/*! R1T1 - Read receive FIFO bit 1 or write transmit FIFO bit 1 */ +#define LPUART_DATA_R1T1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R1T1_SHIFT)) & LPUART_DATA_R1T1_MASK) + +#define LPUART_DATA_R2T2_MASK (0x4U) +#define LPUART_DATA_R2T2_SHIFT (2U) +/*! R2T2 - Read receive FIFO bit 2 or write transmit FIFO bit 2 */ +#define LPUART_DATA_R2T2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R2T2_SHIFT)) & LPUART_DATA_R2T2_MASK) + +#define LPUART_DATA_R3T3_MASK (0x8U) +#define LPUART_DATA_R3T3_SHIFT (3U) +/*! R3T3 - Read receive FIFO bit 3 or write transmit FIFO bit 3 */ +#define LPUART_DATA_R3T3(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R3T3_SHIFT)) & LPUART_DATA_R3T3_MASK) + +#define LPUART_DATA_R4T4_MASK (0x10U) +#define LPUART_DATA_R4T4_SHIFT (4U) +/*! R4T4 - Read receive FIFO bit 4 or write transmit FIFO bit 4 */ +#define LPUART_DATA_R4T4(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R4T4_SHIFT)) & LPUART_DATA_R4T4_MASK) + +#define LPUART_DATA_R5T5_MASK (0x20U) +#define LPUART_DATA_R5T5_SHIFT (5U) +/*! R5T5 - Read receive FIFO bit 5 or write transmit FIFO bit 5 */ +#define LPUART_DATA_R5T5(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R5T5_SHIFT)) & LPUART_DATA_R5T5_MASK) + +#define LPUART_DATA_R6T6_MASK (0x40U) +#define LPUART_DATA_R6T6_SHIFT (6U) +/*! R6T6 - Read receive FIFO bit 6 or write transmit FIFO bit 6 */ +#define LPUART_DATA_R6T6(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R6T6_SHIFT)) & LPUART_DATA_R6T6_MASK) + +#define LPUART_DATA_R7T7_MASK (0x80U) +#define LPUART_DATA_R7T7_SHIFT (7U) +/*! R7T7 - Read receive FIFO bit 7 or write transmit FIFO bit 7 */ +#define LPUART_DATA_R7T7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R7T7_SHIFT)) & LPUART_DATA_R7T7_MASK) + +#define LPUART_DATA_R8T8_MASK (0x100U) +#define LPUART_DATA_R8T8_SHIFT (8U) +/*! R8T8 - Read receive FIFO bit 8 or write transmit FIFO bit 8 */ +#define LPUART_DATA_R8T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R8T8_SHIFT)) & LPUART_DATA_R8T8_MASK) + +#define LPUART_DATA_R9T9_MASK (0x200U) +#define LPUART_DATA_R9T9_SHIFT (9U) +/*! R9T9 - Read receive FIFO bit 9 or write transmit FIFO bit 9 */ +#define LPUART_DATA_R9T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R9T9_SHIFT)) & LPUART_DATA_R9T9_MASK) + +#define LPUART_DATA_LINBRK_MASK (0x400U) +#define LPUART_DATA_LINBRK_SHIFT (10U) +/*! LINBRK - LIN Break + * 0b0..Not detected + * 0b1..Detected + */ +#define LPUART_DATA_LINBRK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_LINBRK_SHIFT)) & LPUART_DATA_LINBRK_MASK) + +#define LPUART_DATA_IDLINE_MASK (0x800U) +#define LPUART_DATA_IDLINE_SHIFT (11U) +/*! IDLINE - Idle Line + * 0b0..Not idle + * 0b1..Idle + */ +#define LPUART_DATA_IDLINE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_IDLINE_SHIFT)) & LPUART_DATA_IDLINE_MASK) + +#define LPUART_DATA_RXEMPT_MASK (0x1000U) +#define LPUART_DATA_RXEMPT_SHIFT (12U) +/*! RXEMPT - Receive Buffer Empty + * 0b0..Valid data + * 0b1..Invalid data and empty + */ +#define LPUART_DATA_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_RXEMPT_SHIFT)) & LPUART_DATA_RXEMPT_MASK) + +#define LPUART_DATA_FRETSC_MASK (0x2000U) +#define LPUART_DATA_FRETSC_SHIFT (13U) +/*! FRETSC - Frame Error Transmit Special Character + * 0b0..Received without a frame error on reads or transmits a normal character on writes + * 0b1..Received with a frame error on reads or transmits an idle or break character on writes + */ +#define LPUART_DATA_FRETSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_FRETSC_SHIFT)) & LPUART_DATA_FRETSC_MASK) + +#define LPUART_DATA_PARITYE_MASK (0x4000U) +#define LPUART_DATA_PARITYE_SHIFT (14U) +/*! PARITYE - Parity Error + * 0b0..Received without a parity error + * 0b1..Received with a parity error + */ +#define LPUART_DATA_PARITYE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_PARITYE_SHIFT)) & LPUART_DATA_PARITYE_MASK) + +#define LPUART_DATA_NOISY_MASK (0x8000U) +#define LPUART_DATA_NOISY_SHIFT (15U) +/*! NOISY - Noisy Data Received + * 0b0..Received without noise + * 0b1..Received with noise + */ +#define LPUART_DATA_NOISY(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_NOISY_SHIFT)) & LPUART_DATA_NOISY_MASK) +/*! @} */ + +/*! @name MATCH - Match Address */ +/*! @{ */ + +#define LPUART_MATCH_MA1_MASK (0x3FFU) +#define LPUART_MATCH_MA1_SHIFT (0U) +/*! MA1 - Match Address 1 */ +#define LPUART_MATCH_MA1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA1_SHIFT)) & LPUART_MATCH_MA1_MASK) + +#define LPUART_MATCH_MA2_MASK (0x3FF0000U) +#define LPUART_MATCH_MA2_SHIFT (16U) +/*! MA2 - Match Address 2 */ +#define LPUART_MATCH_MA2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA2_SHIFT)) & LPUART_MATCH_MA2_MASK) +/*! @} */ + +/*! @name MODIR - MODEM IrDA */ +/*! @{ */ + +#define LPUART_MODIR_TXCTSE_MASK (0x1U) +#define LPUART_MODIR_TXCTSE_SHIFT (0U) +/*! TXCTSE - Transmitter CTS Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_MODIR_TXCTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSE_SHIFT)) & LPUART_MODIR_TXCTSE_MASK) + +#define LPUART_MODIR_TXRTSE_MASK (0x2U) +#define LPUART_MODIR_TXRTSE_SHIFT (1U) +/*! TXRTSE - Transmitter RTS Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_MODIR_TXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSE_SHIFT)) & LPUART_MODIR_TXRTSE_MASK) + +#define LPUART_MODIR_TXRTSPOL_MASK (0x4U) +#define LPUART_MODIR_TXRTSPOL_SHIFT (2U) +/*! TXRTSPOL - Transmitter RTS Polarity + * 0b0..Active low + * 0b1..Active high + */ +#define LPUART_MODIR_TXRTSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSPOL_SHIFT)) & LPUART_MODIR_TXRTSPOL_MASK) + +#define LPUART_MODIR_RXRTSE_MASK (0x8U) +#define LPUART_MODIR_RXRTSE_SHIFT (3U) +/*! RXRTSE - Receiver RTS Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_MODIR_RXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RXRTSE_SHIFT)) & LPUART_MODIR_RXRTSE_MASK) + +#define LPUART_MODIR_TXCTSC_MASK (0x10U) +#define LPUART_MODIR_TXCTSC_SHIFT (4U) +/*! TXCTSC - Transmit CTS Configuration + * 0b0..Sampled at the start of each character + * 0b1..Sampled when the transmitter is idle + */ +#define LPUART_MODIR_TXCTSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSC_SHIFT)) & LPUART_MODIR_TXCTSC_MASK) + +#define LPUART_MODIR_TXCTSSRC_MASK (0x20U) +#define LPUART_MODIR_TXCTSSRC_SHIFT (5U) +/*! TXCTSSRC - Transmit CTS Source + * 0b0..The CTS_B pin + * 0b1..An internal connection to the receiver address match result + */ +#define LPUART_MODIR_TXCTSSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSSRC_SHIFT)) & LPUART_MODIR_TXCTSSRC_MASK) + +#define LPUART_MODIR_RTSWATER_MASK (0xF00U) +#define LPUART_MODIR_RTSWATER_SHIFT (8U) +/*! RTSWATER - Receive RTS Configuration */ +#define LPUART_MODIR_RTSWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RTSWATER_SHIFT)) & LPUART_MODIR_RTSWATER_MASK) + +#define LPUART_MODIR_TNP_MASK (0x30000U) +#define LPUART_MODIR_TNP_SHIFT (16U) +/*! TNP - Transmitter Narrow Pulse + * 0b00..1 / OSR + * 0b01..2 / OSR + * 0b10..3 / OSR + * 0b11..4 / OSR + */ +#define LPUART_MODIR_TNP(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TNP_SHIFT)) & LPUART_MODIR_TNP_MASK) + +#define LPUART_MODIR_IREN_MASK (0x40000U) +#define LPUART_MODIR_IREN_SHIFT (18U) +/*! IREN - IR Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_MODIR_IREN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_IREN_SHIFT)) & LPUART_MODIR_IREN_MASK) +/*! @} */ + +/*! @name FIFO - FIFO */ +/*! @{ */ + +#define LPUART_FIFO_RXFIFOSIZE_MASK (0x7U) +#define LPUART_FIFO_RXFIFOSIZE_SHIFT (0U) +/*! RXFIFOSIZE - Receive FIFO Buffer Depth + * 0b000..1 + * 0b001..4 + * 0b010..8 + * 0b011..16 + * 0b100..32 + * 0b101..64 + * 0b110..128 + * 0b111..256 + */ +#define LPUART_FIFO_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFIFOSIZE_SHIFT)) & LPUART_FIFO_RXFIFOSIZE_MASK) + +#define LPUART_FIFO_RXFE_MASK (0x8U) +#define LPUART_FIFO_RXFE_SHIFT (3U) +/*! RXFE - Receive FIFO Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_FIFO_RXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFE_SHIFT)) & LPUART_FIFO_RXFE_MASK) + +#define LPUART_FIFO_TXFIFOSIZE_MASK (0x70U) +#define LPUART_FIFO_TXFIFOSIZE_SHIFT (4U) +/*! TXFIFOSIZE - Transmit FIFO Buffer Depth + * 0b000..1 + * 0b001..4 + * 0b010..8 + * 0b011..16 + * 0b100..32 + * 0b101..64 + * 0b110..128 + * 0b111..256 + */ +#define LPUART_FIFO_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFIFOSIZE_SHIFT)) & LPUART_FIFO_TXFIFOSIZE_MASK) + +#define LPUART_FIFO_TXFE_MASK (0x80U) +#define LPUART_FIFO_TXFE_SHIFT (7U) +/*! TXFE - Transmit FIFO Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_FIFO_TXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFE_SHIFT)) & LPUART_FIFO_TXFE_MASK) + +#define LPUART_FIFO_RXUFE_MASK (0x100U) +#define LPUART_FIFO_RXUFE_SHIFT (8U) +/*! RXUFE - Receive FIFO Underflow Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_FIFO_RXUFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUFE_SHIFT)) & LPUART_FIFO_RXUFE_MASK) + +#define LPUART_FIFO_TXOFE_MASK (0x200U) +#define LPUART_FIFO_TXOFE_SHIFT (9U) +/*! TXOFE - Transmit FIFO Overflow Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define LPUART_FIFO_TXOFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOFE_SHIFT)) & LPUART_FIFO_TXOFE_MASK) + +#define LPUART_FIFO_RXIDEN_MASK (0x1C00U) +#define LPUART_FIFO_RXIDEN_SHIFT (10U) +/*! RXIDEN - Receiver Idle Empty Enable + * 0b000..Disable STAT[RDRF] to become 1 because of partially filled FIFO when the receiver is idle + * 0b001..Enable STAT[RDRF] to become 1 because of partially filled FIFO when the receiver is idle for one character + * 0b010..Enable STAT[RDRF] to become 1 because of partially filled FIFO when the receiver is idle for two characters + * 0b011..Enable STAT[RDRF] to become 1 because of partially filled FIFO when the receiver is idle for four characters + * 0b100..Enable STAT[RDRF] to become 1 because of partially filled FIFO when the receiver is idle for eight characters + * 0b101..Enable STAT[RDRF] to become 1 because of partially filled FIFO when the receiver is idle for 16 characters + * 0b110..Enable STAT[RDRF] to become 1 because of partially filled FIFO when the receiver is idle for 32 characters + * 0b111..Enable STAT[RDRF] to become 1 because of partially filled FIFO when the receiver is idle for 64 characters + */ +#define LPUART_FIFO_RXIDEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXIDEN_SHIFT)) & LPUART_FIFO_RXIDEN_MASK) + +#define LPUART_FIFO_RXFLUSH_MASK (0x4000U) +#define LPUART_FIFO_RXFLUSH_SHIFT (14U) +/*! RXFLUSH - Receive FIFO Flush + * 0b0..No effect + * 0b1..All data flushed out + */ +#define LPUART_FIFO_RXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFLUSH_SHIFT)) & LPUART_FIFO_RXFLUSH_MASK) + +#define LPUART_FIFO_TXFLUSH_MASK (0x8000U) +#define LPUART_FIFO_TXFLUSH_SHIFT (15U) +/*! TXFLUSH - Transmit FIFO Flush + * 0b0..No effect + * 0b1..All data flushed out + */ +#define LPUART_FIFO_TXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFLUSH_SHIFT)) & LPUART_FIFO_TXFLUSH_MASK) + +#define LPUART_FIFO_RXUF_MASK (0x10000U) +#define LPUART_FIFO_RXUF_SHIFT (16U) +/*! RXUF - Receiver FIFO Underflow Flag + * 0b0..No underflow + * 0b0..No effect + * 0b1..Underflow + * 0b1..Clear the flag + */ +#define LPUART_FIFO_RXUF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUF_SHIFT)) & LPUART_FIFO_RXUF_MASK) + +#define LPUART_FIFO_TXOF_MASK (0x20000U) +#define LPUART_FIFO_TXOF_SHIFT (17U) +/*! TXOF - Transmitter FIFO Overflow Flag + * 0b0..No overflow + * 0b0..No effect + * 0b1..Overflow + * 0b1..Clear the flag + */ +#define LPUART_FIFO_TXOF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOF_SHIFT)) & LPUART_FIFO_TXOF_MASK) + +#define LPUART_FIFO_RXEMPT_MASK (0x400000U) +#define LPUART_FIFO_RXEMPT_SHIFT (22U) +/*! RXEMPT - Receive FIFO Or Buffer Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define LPUART_FIFO_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXEMPT_SHIFT)) & LPUART_FIFO_RXEMPT_MASK) + +#define LPUART_FIFO_TXEMPT_MASK (0x800000U) +#define LPUART_FIFO_TXEMPT_SHIFT (23U) +/*! TXEMPT - Transmit FIFO Or Buffer Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define LPUART_FIFO_TXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXEMPT_SHIFT)) & LPUART_FIFO_TXEMPT_MASK) +/*! @} */ + +/*! @name WATER - Watermark */ +/*! @{ */ + +#define LPUART_WATER_TXWATER_MASK (0xFU) +#define LPUART_WATER_TXWATER_SHIFT (0U) +/*! TXWATER - Transmit Watermark */ +#define LPUART_WATER_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXWATER_SHIFT)) & LPUART_WATER_TXWATER_MASK) + +#define LPUART_WATER_TXCOUNT_MASK (0x1F00U) +#define LPUART_WATER_TXCOUNT_SHIFT (8U) +/*! TXCOUNT - Transmit Counter */ +#define LPUART_WATER_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXCOUNT_SHIFT)) & LPUART_WATER_TXCOUNT_MASK) + +#define LPUART_WATER_RXWATER_MASK (0xF0000U) +#define LPUART_WATER_RXWATER_SHIFT (16U) +/*! RXWATER - Receive Watermark */ +#define LPUART_WATER_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXWATER_SHIFT)) & LPUART_WATER_RXWATER_MASK) + +#define LPUART_WATER_RXCOUNT_MASK (0x1F000000U) +#define LPUART_WATER_RXCOUNT_SHIFT (24U) +/*! RXCOUNT - Receive Counter */ +#define LPUART_WATER_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXCOUNT_SHIFT)) & LPUART_WATER_RXCOUNT_MASK) +/*! @} */ + +/*! @name DATARO - Data Read-Only */ +/*! @{ */ + +#define LPUART_DATARO_DATA_MASK (0xFFFFU) +#define LPUART_DATARO_DATA_SHIFT (0U) +/*! DATA - Receive Data */ +#define LPUART_DATARO_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATARO_DATA_SHIFT)) & LPUART_DATARO_DATA_MASK) +/*! @} */ + +/*! @name MCR - MODEM Control */ +/*! @{ */ + +#define LPUART_MCR_CTS_MASK (0x1U) +#define LPUART_MCR_CTS_SHIFT (0U) +/*! CTS - Clear To Send + * 0b0..Disable interrupt + * 0b1..Enable interrupt + */ +#define LPUART_MCR_CTS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MCR_CTS_SHIFT)) & LPUART_MCR_CTS_MASK) + +#define LPUART_MCR_DSR_MASK (0x2U) +#define LPUART_MCR_DSR_SHIFT (1U) +/*! DSR - Data Set Ready + * 0b0..Disable interrupt + * 0b1..Enable interrupt + */ +#define LPUART_MCR_DSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MCR_DSR_SHIFT)) & LPUART_MCR_DSR_MASK) + +#define LPUART_MCR_RIN_MASK (0x4U) +#define LPUART_MCR_RIN_SHIFT (2U) +/*! RIN - Ring Indicator + * 0b0..Disable interrupt + * 0b1..Enable interrupt + */ +#define LPUART_MCR_RIN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MCR_RIN_SHIFT)) & LPUART_MCR_RIN_MASK) + +#define LPUART_MCR_DCD_MASK (0x8U) +#define LPUART_MCR_DCD_SHIFT (3U) +/*! DCD - Data Carrier Detect + * 0b0..Disable interrupt + * 0b1..Enable interrupt + */ +#define LPUART_MCR_DCD(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MCR_DCD_SHIFT)) & LPUART_MCR_DCD_MASK) + +#define LPUART_MCR_DTR_MASK (0x100U) +#define LPUART_MCR_DTR_SHIFT (8U) +/*! DTR - Data Terminal Ready + * 0b0..Logic one + * 0b1..Logic zero + */ +#define LPUART_MCR_DTR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MCR_DTR_SHIFT)) & LPUART_MCR_DTR_MASK) + +#define LPUART_MCR_RTS_MASK (0x200U) +#define LPUART_MCR_RTS_SHIFT (9U) +/*! RTS - Request To Send + * 0b0..Logic one + * 0b1..Logic zero + */ +#define LPUART_MCR_RTS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MCR_RTS_SHIFT)) & LPUART_MCR_RTS_MASK) +/*! @} */ + +/*! @name MSR - MODEM Status */ +/*! @{ */ + +#define LPUART_MSR_DCTS_MASK (0x1U) +#define LPUART_MSR_DCTS_SHIFT (0U) +/*! DCTS - Delta Clear To Send + * 0b0..Did not change state + * 0b0..No effect + * 0b1..Changed state + * 0b1..Clear the flag + */ +#define LPUART_MSR_DCTS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MSR_DCTS_SHIFT)) & LPUART_MSR_DCTS_MASK) + +#define LPUART_MSR_DDSR_MASK (0x2U) +#define LPUART_MSR_DDSR_SHIFT (1U) +/*! DDSR - Delta Data Set Ready + * 0b0..Did not change state + * 0b0..No effect + * 0b1..Changed state + * 0b1..Clear the flag + */ +#define LPUART_MSR_DDSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MSR_DDSR_SHIFT)) & LPUART_MSR_DDSR_MASK) + +#define LPUART_MSR_DRI_MASK (0x4U) +#define LPUART_MSR_DRI_SHIFT (2U) +/*! DRI - Delta Ring Indicator + * 0b0..Did not change state + * 0b0..No effect + * 0b1..Changed state + * 0b1..Clear the flag + */ +#define LPUART_MSR_DRI(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MSR_DRI_SHIFT)) & LPUART_MSR_DRI_MASK) + +#define LPUART_MSR_DDCD_MASK (0x8U) +#define LPUART_MSR_DDCD_SHIFT (3U) +/*! DDCD - Delta Data Carrier Detect + * 0b0..Did not change state + * 0b0..No effect + * 0b1..Changed state + * 0b1..Clear the flag + */ +#define LPUART_MSR_DDCD(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MSR_DDCD_SHIFT)) & LPUART_MSR_DDCD_MASK) + +#define LPUART_MSR_CTS_MASK (0x10U) +#define LPUART_MSR_CTS_SHIFT (4U) +/*! CTS - Clear To Send + * 0b0..Logic one + * 0b1..Logic zero + */ +#define LPUART_MSR_CTS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MSR_CTS_SHIFT)) & LPUART_MSR_CTS_MASK) + +#define LPUART_MSR_DSR_MASK (0x20U) +#define LPUART_MSR_DSR_SHIFT (5U) +/*! DSR - Data Set Ready + * 0b0..Logic one + * 0b1..Logic zero + */ +#define LPUART_MSR_DSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MSR_DSR_SHIFT)) & LPUART_MSR_DSR_MASK) + +#define LPUART_MSR_RIN_MASK (0x40U) +#define LPUART_MSR_RIN_SHIFT (6U) +/*! RIN - Ring Indicator + * 0b0..Logic one + * 0b1..Logic zero + */ +#define LPUART_MSR_RIN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MSR_RIN_SHIFT)) & LPUART_MSR_RIN_MASK) + +#define LPUART_MSR_DCD_MASK (0x80U) +#define LPUART_MSR_DCD_SHIFT (7U) +/*! DCD - Data Carrier Detect + * 0b0..Logic one + * 0b1..Logic zero + */ +#define LPUART_MSR_DCD(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MSR_DCD_SHIFT)) & LPUART_MSR_DCD_MASK) +/*! @} */ + +/*! @name REIR - Receiver Extended Idle */ +/*! @{ */ + +#define LPUART_REIR_IDTIME_MASK (0x3FFFU) +#define LPUART_REIR_IDTIME_SHIFT (0U) +/*! IDTIME - Idle Time */ +#define LPUART_REIR_IDTIME(x) (((uint32_t)(((uint32_t)(x)) << LPUART_REIR_IDTIME_SHIFT)) & LPUART_REIR_IDTIME_MASK) +/*! @} */ + +/*! @name TEIR - Transmitter Extended Idle */ +/*! @{ */ + +#define LPUART_TEIR_IDTIME_MASK (0x3FFFU) +#define LPUART_TEIR_IDTIME_SHIFT (0U) +/*! IDTIME - Idle Time */ +#define LPUART_TEIR_IDTIME(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TEIR_IDTIME_SHIFT)) & LPUART_TEIR_IDTIME_MASK) +/*! @} */ + +/*! @name HDCR - Half Duplex Control */ +/*! @{ */ + +#define LPUART_HDCR_TXSTALL_MASK (0x1U) +#define LPUART_HDCR_TXSTALL_SHIFT (0U) +/*! TXSTALL - Transmit Stall + * 0b0..No effect + * 0b1..Does not become busy + */ +#define LPUART_HDCR_TXSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_HDCR_TXSTALL_SHIFT)) & LPUART_HDCR_TXSTALL_MASK) + +#define LPUART_HDCR_RXSEL_MASK (0x2U) +#define LPUART_HDCR_RXSEL_SHIFT (1U) +/*! RXSEL - Receive Select + * 0b0..RXD + * 0b1..TXD + */ +#define LPUART_HDCR_RXSEL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_HDCR_RXSEL_SHIFT)) & LPUART_HDCR_RXSEL_MASK) + +#define LPUART_HDCR_RXWRMSK_MASK (0x4U) +#define LPUART_HDCR_RXWRMSK_SHIFT (2U) +/*! RXWRMSK - Receive FIFO Write Mask + * 0b0..Do not mask + * 0b1..Mask + */ +#define LPUART_HDCR_RXWRMSK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_HDCR_RXWRMSK_SHIFT)) & LPUART_HDCR_RXWRMSK_MASK) + +#define LPUART_HDCR_RXMSK_MASK (0x8U) +#define LPUART_HDCR_RXMSK_SHIFT (3U) +/*! RXMSK - Receive Mask + * 0b0..Do not mask + * 0b1..Mask + */ +#define LPUART_HDCR_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_HDCR_RXMSK_SHIFT)) & LPUART_HDCR_RXMSK_MASK) + +#define LPUART_HDCR_RTSEXT_MASK (0xFF00U) +#define LPUART_HDCR_RTSEXT_SHIFT (8U) +/*! RTSEXT - RTS Extended */ +#define LPUART_HDCR_RTSEXT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_HDCR_RTSEXT_SHIFT)) & LPUART_HDCR_RTSEXT_MASK) +/*! @} */ + +/*! @name TOCR - Timeout Control */ +/*! @{ */ + +#define LPUART_TOCR_TOEN_MASK (0xFU) +#define LPUART_TOCR_TOEN_SHIFT (0U) +/*! TOEN - Timeout Enable */ +#define LPUART_TOCR_TOEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TOCR_TOEN_SHIFT)) & LPUART_TOCR_TOEN_MASK) + +#define LPUART_TOCR_TOIE_MASK (0xF00U) +#define LPUART_TOCR_TOIE_SHIFT (8U) +/*! TOIE - Timeout Interrupt Enable */ +#define LPUART_TOCR_TOIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TOCR_TOIE_SHIFT)) & LPUART_TOCR_TOIE_MASK) +/*! @} */ + +/*! @name TOSR - Timeout Status */ +/*! @{ */ + +#define LPUART_TOSR_TOZ_MASK (0xFU) +#define LPUART_TOSR_TOZ_SHIFT (0U) +/*! TOZ - Timeout Zero */ +#define LPUART_TOSR_TOZ(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TOSR_TOZ_SHIFT)) & LPUART_TOSR_TOZ_MASK) + +#define LPUART_TOSR_TOF_MASK (0xF00U) +#define LPUART_TOSR_TOF_SHIFT (8U) +/*! TOF - Timeout Flag + * 0b0000..Not occurred + * 0b0000..No effect + * 0b0001..Occurred + * 0b0001..Clear the flag + */ +#define LPUART_TOSR_TOF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TOSR_TOF_SHIFT)) & LPUART_TOSR_TOF_MASK) +/*! @} */ + +/*! @name TIMEOUT - Timeout N */ +/*! @{ */ + +#define LPUART_TIMEOUT_TIMEOUT_MASK (0x3FFFU) +#define LPUART_TIMEOUT_TIMEOUT_SHIFT (0U) +/*! TIMEOUT - Timeout Value */ +#define LPUART_TIMEOUT_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TIMEOUT_TIMEOUT_SHIFT)) & LPUART_TIMEOUT_TIMEOUT_MASK) + +#define LPUART_TIMEOUT_CFG_MASK (0xC0000000U) +#define LPUART_TIMEOUT_CFG_SHIFT (30U) +/*! CFG - Idle Configuration + * 0b00..Becomes 1 after timeout characters are received + * 0b01..Becomes 1 when idle for timeout bit clocks + * 0b10..Becomes 1 when idle for timeout bit clocks following the next character + * 0b11..Becomes 1 when idle for at least timeout bit clocks, but a new character is detected before the extended idle timeout is reached + */ +#define LPUART_TIMEOUT_CFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TIMEOUT_CFG_SHIFT)) & LPUART_TIMEOUT_CFG_MASK) +/*! @} */ + +/* The count of LPUART_TIMEOUT */ +#define LPUART_TIMEOUT_COUNT (4U) + +/*! @name TCBR - Transmit Command Burst */ +/*! @{ */ + +#define LPUART_TCBR_DATA_MASK (0xFFFFU) +#define LPUART_TCBR_DATA_SHIFT (0U) +/*! DATA - Data */ +#define LPUART_TCBR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TCBR_DATA_SHIFT)) & LPUART_TCBR_DATA_MASK) +/*! @} */ + +/* The count of LPUART_TCBR */ +#define LPUART_TCBR_COUNT (128U) + +/*! @name TDBR - Transmit Data Burst */ +/*! @{ */ + +#define LPUART_TDBR_DATA0_MASK (0xFFU) +#define LPUART_TDBR_DATA0_SHIFT (0U) +/*! DATA0 - Data0 */ +#define LPUART_TDBR_DATA0(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TDBR_DATA0_SHIFT)) & LPUART_TDBR_DATA0_MASK) + +#define LPUART_TDBR_DATA1_MASK (0xFF00U) +#define LPUART_TDBR_DATA1_SHIFT (8U) +/*! DATA1 - Data1 */ +#define LPUART_TDBR_DATA1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TDBR_DATA1_SHIFT)) & LPUART_TDBR_DATA1_MASK) + +#define LPUART_TDBR_DATA2_MASK (0xFF0000U) +#define LPUART_TDBR_DATA2_SHIFT (16U) +/*! DATA2 - Data2 */ +#define LPUART_TDBR_DATA2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TDBR_DATA2_SHIFT)) & LPUART_TDBR_DATA2_MASK) + +#define LPUART_TDBR_DATA3_MASK (0xFF000000U) +#define LPUART_TDBR_DATA3_SHIFT (24U) +/*! DATA3 - Data3 */ +#define LPUART_TDBR_DATA3(x) (((uint32_t)(((uint32_t)(x)) << LPUART_TDBR_DATA3_SHIFT)) & LPUART_TDBR_DATA3_MASK) +/*! @} */ + +/* The count of LPUART_TDBR */ +#define LPUART_TDBR_COUNT (256U) + + +/*! + * @} + */ /* end of group LPUART_Register_Masks */ + + +/* LPUART - Peripheral instance base addresses */ +/** Peripheral LPUART1 base address */ +#define LPUART1_BASE (0x44380000u) +/** Peripheral LPUART1 base pointer */ +extern LPUART_Type* LPUART1; +/** Peripheral LPUART2 base address */ +#define LPUART2_BASE (0x44390000u) +/** Peripheral LPUART2 base pointer */ +extern LPUART_Type* LPUART2; +/** Peripheral LPUART3 base address */ +#define LPUART3_BASE (0x42570000u) +/** Peripheral LPUART3 base pointer */ +extern LPUART_Type* LPUART3; +/** Peripheral LPUART4 base address */ +#define LPUART4_BASE (0x42580000u) +/** Peripheral LPUART4 base pointer */ +extern LPUART_Type* LPUART4; +/** Peripheral LPUART5 base address */ +#define LPUART5_BASE (0x42590000u) +/** Peripheral LPUART5 base pointer */ +extern LPUART_Type* LPUART5; +/** Peripheral LPUART6 base address */ +#define LPUART6_BASE (0x425A0000u) +/** Peripheral LPUART6 base pointer */ +extern LPUART_Type* LPUART6; +/** Peripheral LPUART7 base address */ +#define LPUART7_BASE (0x42690000u) +/** Peripheral LPUART7 base pointer */ +extern LPUART_Type* LPUART7; +/** Peripheral LPUART8 base address */ +#define LPUART8_BASE (0x426A0000u) +/** Peripheral LPUART8 base pointer */ +extern LPUART_Type* LPUART8; +/** Array initializer of LPUART peripheral base addresses */ +#define LPUART_BASE_ADDRS { 0u, LPUART1_BASE, LPUART2_BASE, LPUART3_BASE, LPUART4_BASE, LPUART5_BASE, LPUART6_BASE, LPUART7_BASE, LPUART8_BASE } +/** Array initializer of LPUART peripheral base pointers */ +#define LPUART_BASE_PTRS { (LPUART_Type **)0u, &LPUART1, &LPUART2, &LPUART3, &LPUART4, &LPUART5, &LPUART6, &LPUART7, &LPUART8 } +/** Interrupt vectors for the LPUART peripheral type */ +#define LPUART_RX_TX_IRQS { NotAvail_IRQn, LPUART1_IRQn, LPUART2_IRQn, LPUART3_IRQn, LPUART4_IRQn, LPUART5_IRQn, LPUART6_IRQn, LPUART7_IRQn, LPUART8_IRQn } + +/*! + * @} + */ /* end of group LPUART_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- MU Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup MU_Peripheral_Access_Layer MU Peripheral Access Layer + * @{ + */ + +/** MU - Register Layout Typedef */ +typedef struct { + __I uint32_t VER; /**< Version ID, offset: 0x0 */ + __I uint32_t PAR; /**< Parameter, offset: 0x4 */ + __IO uint32_t CR; /**< Control, offset: 0x8 */ + __IO uint32_t SR; /**< Status, offset: 0xC */ + __IO uint32_t CCR0; /**< Core Control 0, offset: 0x10 */ + uint32_t CIER0; /**< Core Interrupt Enable 0, offset: 0x14 */ + __IO uint32_t CSSR0; /**< Core Sticky Status 0, offset: 0x18 */ + uint8_t RESERVED_0[228]; + __IO uint32_t FCR; /**< Flag Control, offset: 0x100 */ + __I uint32_t FSR; /**< Flag Status, offset: 0x104 */ + uint8_t RESERVED_1[8]; + __IO uint32_t GIER; /**< General-Purpose Interrupt Enable, offset: 0x110 */ + __IO uint32_t GCR; /**< General-Purpose Control, offset: 0x114 */ + __IO uint32_t GSR; /**< General-purpose Status, offset: 0x118 */ + uint8_t RESERVED_2[4]; + __IO uint32_t TCR; /**< Transmit Control, offset: 0x120 */ + __I uint32_t TSR; /**< Transmit Status, offset: 0x124 */ + __IO uint32_t RCR; /**< Receive Control, offset: 0x128 */ + __I uint32_t RSR; /**< Receive Status, offset: 0x12C */ + uint8_t RESERVED_3[208]; + __IO uint32_t TR[4]; /**< Transmit, array offset: 0x200, array step: 0x4 */ + uint8_t RESERVED_4[112]; + __I uint32_t RR[4]; /**< Receive, array offset: 0x280, array step: 0x4 */ +} MU_Type; + +/* ---------------------------------------------------------------------------- + -- MU Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup MU_Register_Masks MU Register Masks + * @{ + */ + +/*! @name VER - Version ID */ +/*! @{ */ + +#define MU_VER_FEATURE_MASK (0xFFFFU) +#define MU_VER_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Set Number */ +#define MU_VER_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_FEATURE_SHIFT)) & MU_VER_FEATURE_MASK) + +#define MU_VER_MINOR_MASK (0xFF0000U) +#define MU_VER_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define MU_VER_MINOR(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_MINOR_SHIFT)) & MU_VER_MINOR_MASK) + +#define MU_VER_MAJOR_MASK (0xFF000000U) +#define MU_VER_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define MU_VER_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_MAJOR_SHIFT)) & MU_VER_MAJOR_MASK) +/*! @} */ + +/*! @name PAR - Parameter */ +/*! @{ */ + +#define MU_PAR_TR_NUM_MASK (0xFFU) +#define MU_PAR_TR_NUM_SHIFT (0U) +/*! TR_NUM - Transmit Register Number */ +#define MU_PAR_TR_NUM(x) (((uint32_t)(((uint32_t)(x)) << MU_PAR_TR_NUM_SHIFT)) & MU_PAR_TR_NUM_MASK) + +#define MU_PAR_RR_NUM_MASK (0xFF00U) +#define MU_PAR_RR_NUM_SHIFT (8U) +/*! RR_NUM - Receive Register Number */ +#define MU_PAR_RR_NUM(x) (((uint32_t)(((uint32_t)(x)) << MU_PAR_RR_NUM_SHIFT)) & MU_PAR_RR_NUM_MASK) + +#define MU_PAR_GIR_NUM_MASK (0xFF0000U) +#define MU_PAR_GIR_NUM_SHIFT (16U) +/*! GIR_NUM - General-Purpose Interrupt Request Number */ +#define MU_PAR_GIR_NUM(x) (((uint32_t)(((uint32_t)(x)) << MU_PAR_GIR_NUM_SHIFT)) & MU_PAR_GIR_NUM_MASK) + +#define MU_PAR_FLAG_WIDTH_MASK (0xFF000000U) +#define MU_PAR_FLAG_WIDTH_SHIFT (24U) +/*! FLAG_WIDTH - Flag Width */ +#define MU_PAR_FLAG_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << MU_PAR_FLAG_WIDTH_SHIFT)) & MU_PAR_FLAG_WIDTH_MASK) +/*! @} */ + +/*! @name CR - Control */ +/*! @{ */ + +#define MU_CR_MUR_MASK (0x1U) +#define MU_CR_MUR_SHIFT (0U) +/*! MUR - MU Reset + * 0b0..Idle + * 0b1..Reset + */ +#define MU_CR_MUR(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_MUR_SHIFT)) & MU_CR_MUR_MASK) + +#define MU_CR_MURIE_MASK (0x2U) +#define MU_CR_MURIE_SHIFT (1U) +/*! MURIE - MUB Reset Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_CR_MURIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_MURIE_SHIFT)) & MU_CR_MURIE_MASK) +/*! @} */ + +/*! @name SR - Status */ +/*! @{ */ + +#define MU_SR_MURS_MASK (0x1U) +#define MU_SR_MURS_SHIFT (0U) +/*! MURS - MUA and MUB Reset State + * 0b0..Out of reset + * 0b1..In reset + */ +#define MU_SR_MURS(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_MURS_SHIFT)) & MU_SR_MURS_MASK) + +#define MU_SR_MURIP_MASK (0x2U) +#define MU_SR_MURIP_SHIFT (1U) +/*! MURIP - MU Reset Interrupt Pending Flag + * 0b0..Reset not issued + * 0b0..No effect + * 0b1..Reset issued + * 0b1..Clear the flag + */ +#define MU_SR_MURIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_MURIP_SHIFT)) & MU_SR_MURIP_MASK) + +#define MU_SR_EP_MASK (0x4U) +#define MU_SR_EP_SHIFT (2U) +/*! EP - MUB Side Event Pending + * 0b0..Not pending + * 0b1..Pending + */ +#define MU_SR_EP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_EP_SHIFT)) & MU_SR_EP_MASK) + +#define MU_SR_FUP_MASK (0x8U) +#define MU_SR_FUP_SHIFT (3U) +/*! FUP - MUB Flag Update Pending + * 0b0..No pending update flags (initiated by MUA) + * 0b1..Pending update flags (initiated by MUA) + */ +#define MU_SR_FUP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_FUP_SHIFT)) & MU_SR_FUP_MASK) + +#define MU_SR_GIRP_MASK (0x10U) +#define MU_SR_GIRP_SHIFT (4U) +/*! GIRP - MUB General-Purpose Interrupt Pending + * 0b0..No request sent + * 0b1..Request sent + */ +#define MU_SR_GIRP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_GIRP_SHIFT)) & MU_SR_GIRP_MASK) + +#define MU_SR_TEP_MASK (0x20U) +#define MU_SR_TEP_SHIFT (5U) +/*! TEP - MUB Transmit Empty Pending + * 0b0..Not pending; MUA is reading no Receive (RRn) register + * 0b1..Pending; MUA is reading a Receive (RRn) register + */ +#define MU_SR_TEP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_TEP_SHIFT)) & MU_SR_TEP_MASK) + +#define MU_SR_RFP_MASK (0x40U) +#define MU_SR_RFP_SHIFT (6U) +/*! RFP - MUB Receive Full Pending + * 0b0..Not pending; MUA is not writing to a Transmit register + * 0b1..Pending; MUA is writing to a Transmit register + */ +#define MU_SR_RFP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RFP_SHIFT)) & MU_SR_RFP_MASK) +/*! @} */ + +/*! @name CCR0 - Core Control 0 */ +/*! @{ */ + +#define MU_CCR0_NMI_MASK (0x1U) +#define MU_CCR0_NMI_SHIFT (0U) +/*! NMI - MUB Nonmaskable Interrupt Request + * 0b0..Nonmaskable interrupt not issued + * 0b1..Nonmaskable interrupt issued + */ +#define MU_CCR0_NMI(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR0_NMI_SHIFT)) & MU_CCR0_NMI_MASK) +/*! @} */ + +/*! @name CSSR0 - Core Sticky Status 0 */ +/*! @{ */ + +#define MU_CSSR0_NMIC_MASK (0x1U) +#define MU_CSSR0_NMIC_SHIFT (0U) +/*! NMIC - Processor B Nonmaskable Interrupt Clear + * 0b0..Default + * 0b1..Clear MUA_CCR0[NMI] + */ +#define MU_CSSR0_NMIC(x) (((uint32_t)(((uint32_t)(x)) << MU_CSSR0_NMIC_SHIFT)) & MU_CSSR0_NMIC_MASK) +/*! @} */ + +/*! @name FCR - Flag Control */ +/*! @{ */ + +#define MU_FCR_F0_MASK (0x1U) +#define MU_FCR_F0_SHIFT (0U) +/*! F0 - MUB to MUA Flag + * 0b0..Clear MUA_FSR[Fn] + * 0b1..Set MUA_FSR[Fn] + */ +#define MU_FCR_F0(x) (((uint32_t)(((uint32_t)(x)) << MU_FCR_F0_SHIFT)) & MU_FCR_F0_MASK) + +#define MU_FCR_F1_MASK (0x2U) +#define MU_FCR_F1_SHIFT (1U) +/*! F1 - MUB to MUA Flag + * 0b0..Clear MUA_FSR[Fn] + * 0b1..Set MUA_FSR[Fn] + */ +#define MU_FCR_F1(x) (((uint32_t)(((uint32_t)(x)) << MU_FCR_F1_SHIFT)) & MU_FCR_F1_MASK) + +#define MU_FCR_F2_MASK (0x4U) +#define MU_FCR_F2_SHIFT (2U) +/*! F2 - MUB to MUA Flag + * 0b0..Clear MUA_FSR[Fn] + * 0b1..Set MUA_FSR[Fn] + */ +#define MU_FCR_F2(x) (((uint32_t)(((uint32_t)(x)) << MU_FCR_F2_SHIFT)) & MU_FCR_F2_MASK) +/*! @} */ + +/*! @name FSR - Flag Status */ +/*! @{ */ + +#define MU_FSR_F0_MASK (0x1U) +#define MU_FSR_F0_SHIFT (0U) +/*! F0 - MUB to MUA-Side Flag + * 0b0..MUA_FCR[Fn] = 0 + * 0b1..MUA_FCR[Fn] = 1 + */ +#define MU_FSR_F0(x) (((uint32_t)(((uint32_t)(x)) << MU_FSR_F0_SHIFT)) & MU_FSR_F0_MASK) + +#define MU_FSR_F1_MASK (0x2U) +#define MU_FSR_F1_SHIFT (1U) +/*! F1 - MUB to MUA-Side Flag + * 0b0..MUA_FCR[Fn] = 0 + * 0b1..MUA_FCR[Fn] = 1 + */ +#define MU_FSR_F1(x) (((uint32_t)(((uint32_t)(x)) << MU_FSR_F1_SHIFT)) & MU_FSR_F1_MASK) + +#define MU_FSR_F2_MASK (0x4U) +#define MU_FSR_F2_SHIFT (2U) +/*! F2 - MUB to MUA-Side Flag + * 0b0..MUA_FCR[Fn] = 0 + * 0b1..MUA_FCR[Fn] = 1 + */ +#define MU_FSR_F2(x) (((uint32_t)(((uint32_t)(x)) << MU_FSR_F2_SHIFT)) & MU_FSR_F2_MASK) +/*! @} */ + +/*! @name GIER - General-Purpose Interrupt Enable */ +/*! @{ */ + +#define MU_GIER_GIE0_MASK (0x1U) +#define MU_GIER_GIE0_SHIFT (0U) +/*! GIE0 - MUB General-purpose Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_GIER_GIE0(x) (((uint32_t)(((uint32_t)(x)) << MU_GIER_GIE0_SHIFT)) & MU_GIER_GIE0_MASK) + +#define MU_GIER_GIE1_MASK (0x2U) +#define MU_GIER_GIE1_SHIFT (1U) +/*! GIE1 - MUB General-purpose Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_GIER_GIE1(x) (((uint32_t)(((uint32_t)(x)) << MU_GIER_GIE1_SHIFT)) & MU_GIER_GIE1_MASK) + +#define MU_GIER_GIE2_MASK (0x4U) +#define MU_GIER_GIE2_SHIFT (2U) +/*! GIE2 - MUB General-purpose Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_GIER_GIE2(x) (((uint32_t)(((uint32_t)(x)) << MU_GIER_GIE2_SHIFT)) & MU_GIER_GIE2_MASK) + +#define MU_GIER_GIE3_MASK (0x8U) +#define MU_GIER_GIE3_SHIFT (3U) +/*! GIE3 - MUB General-purpose Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_GIER_GIE3(x) (((uint32_t)(((uint32_t)(x)) << MU_GIER_GIE3_SHIFT)) & MU_GIER_GIE3_MASK) +/*! @} */ + +/*! @name GCR - General-Purpose Control */ +/*! @{ */ + +#define MU_GCR_GIR0_MASK (0x1U) +#define MU_GCR_GIR0_SHIFT (0U) +/*! GIR0 - MUB General-Purpose Interrupt Request + * 0b0..Not requested + * 0b1..Requested + */ +#define MU_GCR_GIR0(x) (((uint32_t)(((uint32_t)(x)) << MU_GCR_GIR0_SHIFT)) & MU_GCR_GIR0_MASK) + +#define MU_GCR_GIR1_MASK (0x2U) +#define MU_GCR_GIR1_SHIFT (1U) +/*! GIR1 - MUB General-Purpose Interrupt Request + * 0b0..Not requested + * 0b1..Requested + */ +#define MU_GCR_GIR1(x) (((uint32_t)(((uint32_t)(x)) << MU_GCR_GIR1_SHIFT)) & MU_GCR_GIR1_MASK) + +#define MU_GCR_GIR2_MASK (0x4U) +#define MU_GCR_GIR2_SHIFT (2U) +/*! GIR2 - MUB General-Purpose Interrupt Request + * 0b0..Not requested + * 0b1..Requested + */ +#define MU_GCR_GIR2(x) (((uint32_t)(((uint32_t)(x)) << MU_GCR_GIR2_SHIFT)) & MU_GCR_GIR2_MASK) + +#define MU_GCR_GIR3_MASK (0x8U) +#define MU_GCR_GIR3_SHIFT (3U) +/*! GIR3 - MUB General-Purpose Interrupt Request + * 0b0..Not requested + * 0b1..Requested + */ +#define MU_GCR_GIR3(x) (((uint32_t)(((uint32_t)(x)) << MU_GCR_GIR3_SHIFT)) & MU_GCR_GIR3_MASK) +/*! @} */ + +/*! @name GSR - General-purpose Status */ +/*! @{ */ + +#define MU_GSR_GIP0_MASK (0x1U) +#define MU_GSR_GIP0_SHIFT (0U) +/*! GIP0 - MUB General-Purpose Interrupt Request Pending + * 0b0..Not pending + * 0b0..No effect + * 0b1..Pending + * 0b1..Clear the flag + */ +#define MU_GSR_GIP0(x) (((uint32_t)(((uint32_t)(x)) << MU_GSR_GIP0_SHIFT)) & MU_GSR_GIP0_MASK) + +#define MU_GSR_GIP1_MASK (0x2U) +#define MU_GSR_GIP1_SHIFT (1U) +/*! GIP1 - MUB General-Purpose Interrupt Request Pending + * 0b0..Not pending + * 0b0..No effect + * 0b1..Pending + * 0b1..Clear the flag + */ +#define MU_GSR_GIP1(x) (((uint32_t)(((uint32_t)(x)) << MU_GSR_GIP1_SHIFT)) & MU_GSR_GIP1_MASK) + +#define MU_GSR_GIP2_MASK (0x4U) +#define MU_GSR_GIP2_SHIFT (2U) +/*! GIP2 - MUB General-Purpose Interrupt Request Pending + * 0b0..Not pending + * 0b0..No effect + * 0b1..Pending + * 0b1..Clear the flag + */ +#define MU_GSR_GIP2(x) (((uint32_t)(((uint32_t)(x)) << MU_GSR_GIP2_SHIFT)) & MU_GSR_GIP2_MASK) + +#define MU_GSR_GIP3_MASK (0x8U) +#define MU_GSR_GIP3_SHIFT (3U) +/*! GIP3 - MUB General-Purpose Interrupt Request Pending + * 0b0..Not pending + * 0b0..No effect + * 0b1..Pending + * 0b1..Clear the flag + */ +#define MU_GSR_GIP3(x) (((uint32_t)(((uint32_t)(x)) << MU_GSR_GIP3_SHIFT)) & MU_GSR_GIP3_MASK) +/*! @} */ + +/*! @name TCR - Transmit Control */ +/*! @{ */ + +#define MU_TCR_TIE0_MASK (0x1U) +#define MU_TCR_TIE0_SHIFT (0U) +/*! TIE0 - MUB Transmit Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_TCR_TIE0(x) (((uint32_t)(((uint32_t)(x)) << MU_TCR_TIE0_SHIFT)) & MU_TCR_TIE0_MASK) + +#define MU_TCR_TIE1_MASK (0x2U) +#define MU_TCR_TIE1_SHIFT (1U) +/*! TIE1 - MUB Transmit Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_TCR_TIE1(x) (((uint32_t)(((uint32_t)(x)) << MU_TCR_TIE1_SHIFT)) & MU_TCR_TIE1_MASK) + +#define MU_TCR_TIE2_MASK (0x4U) +#define MU_TCR_TIE2_SHIFT (2U) +/*! TIE2 - MUB Transmit Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_TCR_TIE2(x) (((uint32_t)(((uint32_t)(x)) << MU_TCR_TIE2_SHIFT)) & MU_TCR_TIE2_MASK) + +#define MU_TCR_TIE3_MASK (0x8U) +#define MU_TCR_TIE3_SHIFT (3U) +/*! TIE3 - MUB Transmit Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_TCR_TIE3(x) (((uint32_t)(((uint32_t)(x)) << MU_TCR_TIE3_SHIFT)) & MU_TCR_TIE3_MASK) +/*! @} */ + +/*! @name TSR - Transmit Status */ +/*! @{ */ + +#define MU_TSR_TE0_MASK (0x1U) +#define MU_TSR_TE0_SHIFT (0U) +/*! TE0 - MUB Transmit Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define MU_TSR_TE0(x) (((uint32_t)(((uint32_t)(x)) << MU_TSR_TE0_SHIFT)) & MU_TSR_TE0_MASK) + +#define MU_TSR_TE1_MASK (0x2U) +#define MU_TSR_TE1_SHIFT (1U) +/*! TE1 - MUB Transmit Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define MU_TSR_TE1(x) (((uint32_t)(((uint32_t)(x)) << MU_TSR_TE1_SHIFT)) & MU_TSR_TE1_MASK) + +#define MU_TSR_TE2_MASK (0x4U) +#define MU_TSR_TE2_SHIFT (2U) +/*! TE2 - MUB Transmit Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define MU_TSR_TE2(x) (((uint32_t)(((uint32_t)(x)) << MU_TSR_TE2_SHIFT)) & MU_TSR_TE2_MASK) + +#define MU_TSR_TE3_MASK (0x8U) +#define MU_TSR_TE3_SHIFT (3U) +/*! TE3 - MUB Transmit Empty + * 0b0..Not empty + * 0b1..Empty + */ +#define MU_TSR_TE3(x) (((uint32_t)(((uint32_t)(x)) << MU_TSR_TE3_SHIFT)) & MU_TSR_TE3_MASK) +/*! @} */ + +/*! @name RCR - Receive Control */ +/*! @{ */ + +#define MU_RCR_RIE0_MASK (0x1U) +#define MU_RCR_RIE0_SHIFT (0U) +/*! RIE0 - MUB Receive Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_RCR_RIE0(x) (((uint32_t)(((uint32_t)(x)) << MU_RCR_RIE0_SHIFT)) & MU_RCR_RIE0_MASK) + +#define MU_RCR_RIE1_MASK (0x2U) +#define MU_RCR_RIE1_SHIFT (1U) +/*! RIE1 - MUB Receive Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_RCR_RIE1(x) (((uint32_t)(((uint32_t)(x)) << MU_RCR_RIE1_SHIFT)) & MU_RCR_RIE1_MASK) + +#define MU_RCR_RIE2_MASK (0x4U) +#define MU_RCR_RIE2_SHIFT (2U) +/*! RIE2 - MUB Receive Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_RCR_RIE2(x) (((uint32_t)(((uint32_t)(x)) << MU_RCR_RIE2_SHIFT)) & MU_RCR_RIE2_MASK) + +#define MU_RCR_RIE3_MASK (0x8U) +#define MU_RCR_RIE3_SHIFT (3U) +/*! RIE3 - MUB Receive Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define MU_RCR_RIE3(x) (((uint32_t)(((uint32_t)(x)) << MU_RCR_RIE3_SHIFT)) & MU_RCR_RIE3_MASK) +/*! @} */ + +/*! @name RSR - Receive Status */ +/*! @{ */ + +#define MU_RSR_RF0_MASK (0x1U) +#define MU_RSR_RF0_SHIFT (0U) +/*! RF0 - MUB Receive Register Full + * 0b0..Not full + * 0b1..Full + */ +#define MU_RSR_RF0(x) (((uint32_t)(((uint32_t)(x)) << MU_RSR_RF0_SHIFT)) & MU_RSR_RF0_MASK) + +#define MU_RSR_RF1_MASK (0x2U) +#define MU_RSR_RF1_SHIFT (1U) +/*! RF1 - MUB Receive Register Full + * 0b0..Not full + * 0b1..Full + */ +#define MU_RSR_RF1(x) (((uint32_t)(((uint32_t)(x)) << MU_RSR_RF1_SHIFT)) & MU_RSR_RF1_MASK) + +#define MU_RSR_RF2_MASK (0x4U) +#define MU_RSR_RF2_SHIFT (2U) +/*! RF2 - MUB Receive Register Full + * 0b0..Not full + * 0b1..Full + */ +#define MU_RSR_RF2(x) (((uint32_t)(((uint32_t)(x)) << MU_RSR_RF2_SHIFT)) & MU_RSR_RF2_MASK) + +#define MU_RSR_RF3_MASK (0x8U) +#define MU_RSR_RF3_SHIFT (3U) +/*! RF3 - MUB Receive Register Full + * 0b0..Not full + * 0b1..Full + */ +#define MU_RSR_RF3(x) (((uint32_t)(((uint32_t)(x)) << MU_RSR_RF3_SHIFT)) & MU_RSR_RF3_MASK) +/*! @} */ + +/*! @name TR - Transmit */ +/*! @{ */ + +#define MU_TR_TR_DATA_MASK (0xFFFFFFFFU) +#define MU_TR_TR_DATA_SHIFT (0U) +/*! TR_DATA - MUB Transmit Data */ +#define MU_TR_TR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_TR_TR_DATA_SHIFT)) & MU_TR_TR_DATA_MASK) +/*! @} */ + +/* The count of MU_TR */ +#define MU_TR_COUNT (4U) + +/*! @name RR - Receive */ +/*! @{ */ + +#define MU_RR_RR_DATA_MASK (0xFFFFFFFFU) +#define MU_RR_RR_DATA_SHIFT (0U) +/*! RR_DATA - MUB Receive Data */ +#define MU_RR_RR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_RR_RR_DATA_SHIFT)) & MU_RR_RR_DATA_MASK) +/*! @} */ + +/* The count of MU_RR */ +#define MU_RR_COUNT (4U) + + +/*! + * @} + */ /* end of group MU_Register_Masks */ + + +/* MU - Peripheral instance base addresses */ +/** Peripheral MU1__MUA base address */ +#define MU1__MUA_BASE (0x44220000u) +/** Peripheral MU1__MUA base pointer */ +#define MU1__MUA ((MU_Type *)MU1__MUA_BASE) +/** Peripheral MU1__MUB base address */ +#define MU1__MUB_BASE (0x44230000u) +/** Peripheral MU1__MUB base pointer */ +#define MU1__MUB ((MU_Type *)MU1__MUB_BASE) +/** Peripheral MU2__MUA base address */ +#define MU2__MUA_BASE (0x42430000u) +/** Peripheral MU2__MUA base pointer */ +#define MU2__MUA ((MU_Type *)MU2__MUA_BASE) +/** Peripheral MU2__MUB base address */ +#define MU2__MUB_BASE (0x42440000u) +/** Peripheral MU2__MUB base pointer */ +#define MU2__MUB ((MU_Type *)MU2__MUB_BASE) +/** Array initializer of MU peripheral base addresses */ +#define MU_BASE_ADDRS { MU1__MUA_BASE, MU1__MUB_BASE, MU2__MUA_BASE, MU2__MUB_BASE } +/** Array initializer of MU peripheral base pointers */ +#define MU_BASE_PTRS { MU1__MUA, MU1__MUB, MU2__MUA, MU2__MUB } + +/*! + * @} + */ /* end of group MU_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- OCRAM_CTRL Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup OCRAM_CTRL_Peripheral_Access_Layer OCRAM_CTRL Peripheral Access Layer + * @{ + */ + +/** OCRAM_CTRL - Register Layout Typedef */ +typedef struct { + __IO uint32_t RAMCR; /**< RAM Control, offset: 0x0 */ + __IO uint32_t RAMIAS; /**< RAM Initialization Address Start, offset: 0x4 */ + __IO uint32_t RAMIAE; /**< RAM Initialization Address End, offset: 0x8 */ + __IO uint32_t RAMSR; /**< RAM Status, offset: 0xC */ + __I uint32_t RAMMEMA; /**< RAM ECC Address, offset: 0x10 */ + uint8_t RESERVED_0[4]; + __I uint32_t RAMSYSA; /**< RAM System Address, offset: 0x18 */ + __IO uint32_t RAMECCNT; /**< RAM Correctable Error Count, offset: 0x1C */ + __IO uint32_t RAMEID0; /**< RAM Error Injection Data 0, offset: 0x20 */ + __IO uint32_t RAMEID1; /**< RAM Error Injection Data 1, offset: 0x24 */ + __IO uint32_t RAMEIDC; /**< RAM Error Injection Data Control, offset: 0x28 */ + uint8_t RESERVED_1[4]; + __IO uint32_t RAMEIA; /**< RAM Error Injection Base Address, offset: 0x30 */ + __IO uint32_t RAMEIAM; /**< RAM Error Injection Address Mask, offset: 0x34 */ + uint8_t RESERVED_2[8]; + __IO uint32_t RAMMAXA; /**< RAM Maximum-Value Address, offset: 0x40 */ + uint8_t RESERVED_3[60]; + __IO uint32_t RAMCR2; /**< RAM Control 2, offset: 0x80 */ +} OCRAM_CTRL_Type; + +/* ---------------------------------------------------------------------------- + -- OCRAM_CTRL Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup OCRAM_CTRL_Register_Masks OCRAM_CTRL Register Masks + * @{ + */ + +/*! @name RAMCR - RAM Control */ +/*! @{ */ + +#define OCRAM_CTRL_RAMCR_INIT_MASK (0x1U) +#define OCRAM_CTRL_RAMCR_INIT_SHIFT (0U) +/*! INIT - Initialization Request + * 0b0..Not requested + * 0b1..Requested + */ +#define OCRAM_CTRL_RAMCR_INIT(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMCR_INIT_SHIFT)) & OCRAM_CTRL_RAMCR_INIT_MASK) + +#define OCRAM_CTRL_RAMCR_IWS_MASK (0x6U) +#define OCRAM_CTRL_RAMCR_IWS_SHIFT (1U) +/*! IWS - Initialization Wait States + * 0b00..Zero + * 0b01..One + * 0b10..Two + * 0b11..Three + */ +#define OCRAM_CTRL_RAMCR_IWS(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMCR_IWS_SHIFT)) & OCRAM_CTRL_RAMCR_IWS_MASK) + +#define OCRAM_CTRL_RAMCR_INIT_SYSA_MASK (0x100U) +#define OCRAM_CTRL_RAMCR_INIT_SYSA_SHIFT (8U) +/*! INIT_SYSA - Initialize With System Address + * 0b0..Local + * 0b1..System + */ +#define OCRAM_CTRL_RAMCR_INIT_SYSA(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMCR_INIT_SYSA_SHIFT)) & OCRAM_CTRL_RAMCR_INIT_SYSA_MASK) +/*! @} */ + +/*! @name RAMIAS - RAM Initialization Address Start */ +/*! @{ */ + +#define OCRAM_CTRL_RAMIAS_IAS_MASK (0xFFFFFFFFU) +#define OCRAM_CTRL_RAMIAS_IAS_SHIFT (0U) +/*! IAS - Initialization Address Start */ +#define OCRAM_CTRL_RAMIAS_IAS(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMIAS_IAS_SHIFT)) & OCRAM_CTRL_RAMIAS_IAS_MASK) +/*! @} */ + +/*! @name RAMIAE - RAM Initialization Address End */ +/*! @{ */ + +#define OCRAM_CTRL_RAMIAE_IAE_MASK (0xFFFFFFFFU) +#define OCRAM_CTRL_RAMIAE_IAE_SHIFT (0U) +/*! IAE - Initialization Address End */ +#define OCRAM_CTRL_RAMIAE_IAE(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMIAE_IAE_SHIFT)) & OCRAM_CTRL_RAMIAE_IAE_MASK) +/*! @} */ + +/*! @name RAMSR - RAM Status */ +/*! @{ */ + +#define OCRAM_CTRL_RAMSR_IDONE_MASK (0x1U) +#define OCRAM_CTRL_RAMSR_IDONE_SHIFT (0U) +/*! IDONE - Initialization Done + * 0b0..An initialization was not requested, is in progress, or did not complete + * 0b1..An initialization completed successfully + */ +#define OCRAM_CTRL_RAMSR_IDONE(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_IDONE_SHIFT)) & OCRAM_CTRL_RAMSR_IDONE_MASK) + +#define OCRAM_CTRL_RAMSR_BUSERR_MASK (0x2U) +#define OCRAM_CTRL_RAMSR_BUSERR_SHIFT (1U) +/*! BUSERR - Bus Error + * 0b0..No error occurred since the last time this field was cleared + * 0b1..An error occurred + */ +#define OCRAM_CTRL_RAMSR_BUSERR(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_BUSERR_SHIFT)) & OCRAM_CTRL_RAMSR_BUSERR_MASK) + +#define OCRAM_CTRL_RAMSR_IPEND_MASK (0x4U) +#define OCRAM_CTRL_RAMSR_IPEND_SHIFT (2U) +/*! IPEND - Initialization Pending + * 0b0..Not in progress + * 0b1..In progress + */ +#define OCRAM_CTRL_RAMSR_IPEND(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_IPEND_SHIFT)) & OCRAM_CTRL_RAMSR_IPEND_MASK) + +#define OCRAM_CTRL_RAMSR_AVALID_MASK (0x8U) +#define OCRAM_CTRL_RAMSR_AVALID_SHIFT (3U) +/*! AVALID - Addresses Valid + * 0b0..Addresses do not correspond to an event + * 0b1..Addresses correspond to an event + */ +#define OCRAM_CTRL_RAMSR_AVALID(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_AVALID_SHIFT)) & OCRAM_CTRL_RAMSR_AVALID_MASK) + +#define OCRAM_CTRL_RAMSR_AERR_MASK (0x20U) +#define OCRAM_CTRL_RAMSR_AERR_SHIFT (5U) +/*! AERR - ECC Address Error + * 0b0..No error occurred + * 0b1..An error occurred + */ +#define OCRAM_CTRL_RAMSR_AERR(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_AERR_SHIFT)) & OCRAM_CTRL_RAMSR_AERR_MASK) + +#define OCRAM_CTRL_RAMSR_MLTERR_MASK (0x40U) +#define OCRAM_CTRL_RAMSR_MLTERR_SHIFT (6U) +/*! MLTERR - ECC Multi-Bit Error + * 0b0..No error occurred + * 0b1..An error occurred + */ +#define OCRAM_CTRL_RAMSR_MLTERR(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_MLTERR_SHIFT)) & OCRAM_CTRL_RAMSR_MLTERR_MASK) + +#define OCRAM_CTRL_RAMSR_SGLERR_MASK (0x80U) +#define OCRAM_CTRL_RAMSR_SGLERR_SHIFT (7U) +/*! SGLERR - ECC Single-Bit Error + * 0b0..No error occurred + * 0b1..An error occurred + */ +#define OCRAM_CTRL_RAMSR_SGLERR(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_SGLERR_SHIFT)) & OCRAM_CTRL_RAMSR_SGLERR_MASK) + +#define OCRAM_CTRL_RAMSR_SYND_MASK (0xFF00U) +#define OCRAM_CTRL_RAMSR_SYND_SHIFT (8U) +/*! SYND - ECC Syndrome Value */ +#define OCRAM_CTRL_RAMSR_SYND(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_SYND_SHIFT)) & OCRAM_CTRL_RAMSR_SYND_MASK) + +#define OCRAM_CTRL_RAMSR_EINFO_MASK (0xFF0000U) +#define OCRAM_CTRL_RAMSR_EINFO_SHIFT (16U) +/*! EINFO - Event Information */ +#define OCRAM_CTRL_RAMSR_EINFO(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSR_EINFO_SHIFT)) & OCRAM_CTRL_RAMSR_EINFO_MASK) +/*! @} */ + +/*! @name RAMMEMA - RAM ECC Address */ +/*! @{ */ + +#define OCRAM_CTRL_RAMMEMA_MEMA_MASK (0x1FFFFU) +#define OCRAM_CTRL_RAMMEMA_MEMA_SHIFT (0U) +/*! MEMA - RAM Bank Address */ +#define OCRAM_CTRL_RAMMEMA_MEMA(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMMEMA_MEMA_SHIFT)) & OCRAM_CTRL_RAMMEMA_MEMA_MASK) + +#define OCRAM_CTRL_RAMMEMA_BANK_MASK (0x1F00000U) +#define OCRAM_CTRL_RAMMEMA_BANK_SHIFT (20U) +/*! BANK - RAM Bank ID */ +#define OCRAM_CTRL_RAMMEMA_BANK(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMMEMA_BANK_SHIFT)) & OCRAM_CTRL_RAMMEMA_BANK_MASK) +/*! @} */ + +/*! @name RAMSYSA - RAM System Address */ +/*! @{ */ + +#define OCRAM_CTRL_RAMSYSA_SYSA_MASK (0xFFFFFFFFU) +#define OCRAM_CTRL_RAMSYSA_SYSA_SHIFT (0U) +/*! SYSA - System Address */ +#define OCRAM_CTRL_RAMSYSA_SYSA(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMSYSA_SYSA_SHIFT)) & OCRAM_CTRL_RAMSYSA_SYSA_MASK) +/*! @} */ + +/*! @name RAMECCNT - RAM Correctable Error Count */ +/*! @{ */ + +#define OCRAM_CTRL_RAMECCNT_ECCNT_MASK (0xFFU) +#define OCRAM_CTRL_RAMECCNT_ECCNT_SHIFT (0U) +/*! ECCNT - ECC Correctable Error Count */ +#define OCRAM_CTRL_RAMECCNT_ECCNT(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMECCNT_ECCNT_SHIFT)) & OCRAM_CTRL_RAMECCNT_ECCNT_MASK) +/*! @} */ + +/*! @name RAMEID0 - RAM Error Injection Data 0 */ +/*! @{ */ + +#define OCRAM_CTRL_RAMEID0_EID_W0_MASK (0xFFFFFFFFU) +#define OCRAM_CTRL_RAMEID0_EID_W0_SHIFT (0U) +/*! EID_W0 - Error Injection Data Word 0 */ +#define OCRAM_CTRL_RAMEID0_EID_W0(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMEID0_EID_W0_SHIFT)) & OCRAM_CTRL_RAMEID0_EID_W0_MASK) +/*! @} */ + +/*! @name RAMEID1 - RAM Error Injection Data 1 */ +/*! @{ */ + +#define OCRAM_CTRL_RAMEID1_EID_W1_MASK (0xFFFFFFFFU) +#define OCRAM_CTRL_RAMEID1_EID_W1_SHIFT (0U) +/*! EID_W1 - Error Injection Data Word 1 */ +#define OCRAM_CTRL_RAMEID1_EID_W1(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMEID1_EID_W1_SHIFT)) & OCRAM_CTRL_RAMEID1_EID_W1_MASK) +/*! @} */ + +/*! @name RAMEIDC - RAM Error Injection Data Control */ +/*! @{ */ + +#define OCRAM_CTRL_RAMEIDC_EID_CKB_MASK (0xFFU) +#define OCRAM_CTRL_RAMEIDC_EID_CKB_SHIFT (0U) +/*! EID_CKB - Error Injection Data Checkbits */ +#define OCRAM_CTRL_RAMEIDC_EID_CKB(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMEIDC_EID_CKB_SHIFT)) & OCRAM_CTRL_RAMEIDC_EID_CKB_MASK) + +#define OCRAM_CTRL_RAMEIDC_EIP_EN_MASK (0x1000000U) +#define OCRAM_CTRL_RAMEIDC_EIP_EN_SHIFT (24U) +/*! EIP_EN - Error Injection Into Pipeline Enable + * 0b0..No error injected + * 0b1..Error injected + */ +#define OCRAM_CTRL_RAMEIDC_EIP_EN(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMEIDC_EIP_EN_SHIFT)) & OCRAM_CTRL_RAMEIDC_EIP_EN_MASK) + +#define OCRAM_CTRL_RAMEIDC_EIA_EN_MASK (0x40000000U) +#define OCRAM_CTRL_RAMEIDC_EIA_EN_SHIFT (30U) +/*! EIA_EN - Error Injection Address Enable + * 0b0..Ignore RAMEIA and RAMEIAM + * 0b1..Enable RAMEIA and RAMEIAM + */ +#define OCRAM_CTRL_RAMEIDC_EIA_EN(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMEIDC_EIA_EN_SHIFT)) & OCRAM_CTRL_RAMEIDC_EIA_EN_MASK) + +#define OCRAM_CTRL_RAMEIDC_EID_EN_MASK (0x80000000U) +#define OCRAM_CTRL_RAMEIDC_EID_EN_SHIFT (31U) +/*! EID_EN - Error Injection Data Enable + * 0b0..No injection + * 0b1..Local injection + */ +#define OCRAM_CTRL_RAMEIDC_EID_EN(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMEIDC_EID_EN_SHIFT)) & OCRAM_CTRL_RAMEIDC_EID_EN_MASK) +/*! @} */ + +/*! @name RAMEIA - RAM Error Injection Base Address */ +/*! @{ */ + +#define OCRAM_CTRL_RAMEIA_EIA_MASK (0xFFFFFFFFU) +#define OCRAM_CTRL_RAMEIA_EIA_SHIFT (0U) +/*! EIA - Error Injection Base Address */ +#define OCRAM_CTRL_RAMEIA_EIA(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMEIA_EIA_SHIFT)) & OCRAM_CTRL_RAMEIA_EIA_MASK) +/*! @} */ + +/*! @name RAMEIAM - RAM Error Injection Address Mask */ +/*! @{ */ + +#define OCRAM_CTRL_RAMEIAM_EIAM_MASK (0xFFFFFFFFU) +#define OCRAM_CTRL_RAMEIAM_EIAM_SHIFT (0U) +/*! EIAM - Error Injection Address Mask */ +#define OCRAM_CTRL_RAMEIAM_EIAM(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMEIAM_EIAM_SHIFT)) & OCRAM_CTRL_RAMEIAM_EIAM_MASK) +/*! @} */ + +/*! @name RAMMAXA - RAM Maximum-Value Address */ +/*! @{ */ + +#define OCRAM_CTRL_RAMMAXA_MAXA_MASK (0xFFFFFFFFU) +#define OCRAM_CTRL_RAMMAXA_MAXA_SHIFT (0U) +/*! MAXA - Maximum Address */ +#define OCRAM_CTRL_RAMMAXA_MAXA(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMMAXA_MAXA_SHIFT)) & OCRAM_CTRL_RAMMAXA_MAXA_MASK) +/*! @} */ + +/*! @name RAMCR2 - RAM Control 2 */ +/*! @{ */ + +#define OCRAM_CTRL_RAMCR2_DEM_MASK (0x8U) +#define OCRAM_CTRL_RAMCR2_DEM_SHIFT (3U) +/*! DEM - Disable Exclusive Monitor + * 0b0..Enabled + * 0b1..Disabled + */ +#define OCRAM_CTRL_RAMCR2_DEM(x) (((uint32_t)(((uint32_t)(x)) << OCRAM_CTRL_RAMCR2_DEM_SHIFT)) & OCRAM_CTRL_RAMCR2_DEM_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group OCRAM_CTRL_Register_Masks */ + + +/* OCRAM_CTRL - Peripheral instance base addresses */ +/** Peripheral OCRAM_CTRL1 base address */ +#define OCRAM_CTRL1_BASE (0x490A0000u) +/** Peripheral OCRAM_CTRL1 base pointer */ +#define OCRAM_CTRL1 ((OCRAM_CTRL_Type *)OCRAM_CTRL1_BASE) +/** Array initializer of OCRAM_CTRL peripheral base addresses */ +#define OCRAM_CTRL_BASE_ADDRS { OCRAM_CTRL1_BASE } +/** Array initializer of OCRAM_CTRL peripheral base pointers */ +#define OCRAM_CTRL_BASE_PTRS { OCRAM_CTRL1 } + +/*! + * @} + */ /* end of group OCRAM_CTRL_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- PDM Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup PDM_Peripheral_Access_Layer PDM Peripheral Access Layer + * @{ + */ + +/** PDM - Register Layout Typedef */ +typedef struct { + __IO uint32_t CTRL_1; /**< MICFIL Control 1, offset: 0x0 */ + __IO uint32_t CTRL_2; /**< MICFIL Control 2, offset: 0x4 */ + __IO uint32_t STAT; /**< MICFIL Status, offset: 0x8 */ + uint8_t RESERVED_0[4]; + __IO uint32_t FIFO_CTRL; /**< MICFIL FIFO Control, offset: 0x10 */ + __IO uint32_t FIFO_STAT; /**< MICFIL FIFO Status, offset: 0x14 */ + uint8_t RESERVED_1[12]; + __I uint32_t DATACH[8]; /**< MICFIL Output Result, array offset: 0x24, array step: 0x4 */ + uint8_t RESERVED_2[32]; + __IO uint32_t DC_CTRL; /**< MICFIL DC Remover Control, offset: 0x64 */ + __IO uint32_t DC_OUT_CTRL; /**< MICFIL Output DC Remover Control, offset: 0x68 */ + uint8_t RESERVED_3[8]; + __IO uint32_t RANGE_CTRL; /**< MICFIL Range Control, offset: 0x74 */ + uint8_t RESERVED_4[4]; + __IO uint32_t RANGE_STAT; /**< MICFIL Range Status, offset: 0x7C */ + __IO uint32_t FSYNC_CTRL; /**< Frame Synchronization Control, offset: 0x80 */ + __I uint32_t VERID; /**< Version ID, offset: 0x84 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x88 */ + uint8_t RESERVED_5[4]; + __IO uint32_t VAD0_CTRL_1; /**< Voice Activity Detector 0 Control, offset: 0x90 */ + __IO uint32_t VAD0_CTRL_2; /**< Voice Activity Detector 0 Control, offset: 0x94 */ + __IO uint32_t VAD0_STAT; /**< Voice Activity Detector 0 Status, offset: 0x98 */ + __IO uint32_t VAD0_SCONFIG; /**< Voice Activity Detector 0 Signal Configuration, offset: 0x9C */ + __IO uint32_t VAD0_NCONFIG; /**< Voice Activity Detector 0 Noise Configuration, offset: 0xA0 */ + __I uint32_t VAD0_NDATA; /**< Voice Activity Detector 0 Noise Data, offset: 0xA4 */ + __IO uint32_t VAD0_ZCD; /**< Voice Activity Detector 0 Zero-Crossing Detector, offset: 0xA8 */ +} PDM_Type; + +/* ---------------------------------------------------------------------------- + -- PDM Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup PDM_Register_Masks PDM Register Masks + * @{ + */ + +/*! @name CTRL_1 - MICFIL Control 1 */ +/*! @{ */ + +#define PDM_CTRL_1_CH0EN_MASK (0x1U) +#define PDM_CTRL_1_CH0EN_SHIFT (0U) +/*! CH0EN - Channel 0 Enable */ +#define PDM_CTRL_1_CH0EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH0EN_SHIFT)) & PDM_CTRL_1_CH0EN_MASK) + +#define PDM_CTRL_1_CH1EN_MASK (0x2U) +#define PDM_CTRL_1_CH1EN_SHIFT (1U) +/*! CH1EN - Channel 1 Enable */ +#define PDM_CTRL_1_CH1EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH1EN_SHIFT)) & PDM_CTRL_1_CH1EN_MASK) + +#define PDM_CTRL_1_CH2EN_MASK (0x4U) +#define PDM_CTRL_1_CH2EN_SHIFT (2U) +/*! CH2EN - Channel 2 Enable */ +#define PDM_CTRL_1_CH2EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH2EN_SHIFT)) & PDM_CTRL_1_CH2EN_MASK) + +#define PDM_CTRL_1_CH3EN_MASK (0x8U) +#define PDM_CTRL_1_CH3EN_SHIFT (3U) +/*! CH3EN - Channel 3 Enable */ +#define PDM_CTRL_1_CH3EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH3EN_SHIFT)) & PDM_CTRL_1_CH3EN_MASK) + +#define PDM_CTRL_1_CH4EN_MASK (0x10U) +#define PDM_CTRL_1_CH4EN_SHIFT (4U) +/*! CH4EN - Channel 4 Enable */ +#define PDM_CTRL_1_CH4EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH4EN_SHIFT)) & PDM_CTRL_1_CH4EN_MASK) + +#define PDM_CTRL_1_CH5EN_MASK (0x20U) +#define PDM_CTRL_1_CH5EN_SHIFT (5U) +/*! CH5EN - Channel 5 Enable */ +#define PDM_CTRL_1_CH5EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH5EN_SHIFT)) & PDM_CTRL_1_CH5EN_MASK) + +#define PDM_CTRL_1_CH6EN_MASK (0x40U) +#define PDM_CTRL_1_CH6EN_SHIFT (6U) +/*! CH6EN - Channel 6 Enable */ +#define PDM_CTRL_1_CH6EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH6EN_SHIFT)) & PDM_CTRL_1_CH6EN_MASK) + +#define PDM_CTRL_1_CH7EN_MASK (0x80U) +#define PDM_CTRL_1_CH7EN_SHIFT (7U) +/*! CH7EN - Channel 7 Enable */ +#define PDM_CTRL_1_CH7EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH7EN_SHIFT)) & PDM_CTRL_1_CH7EN_MASK) + +#define PDM_CTRL_1_FSYNCEN_MASK (0x10000U) +#define PDM_CTRL_1_FSYNCEN_SHIFT (16U) +/*! FSYNCEN - Frame Synchronization Enable + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_CTRL_1_FSYNCEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_FSYNCEN_SHIFT)) & PDM_CTRL_1_FSYNCEN_MASK) + +#define PDM_CTRL_1_DECFILS_MASK (0x100000U) +#define PDM_CTRL_1_DECFILS_SHIFT (20U) +/*! DECFILS - Decimation Filter Enable in Stop + * 0b0..Stops decimation filter + * 0b1..Keeps decimation filter running + */ +#define PDM_CTRL_1_DECFILS(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DECFILS_SHIFT)) & PDM_CTRL_1_DECFILS_MASK) + +#define PDM_CTRL_1_ERREN_MASK (0x800000U) +#define PDM_CTRL_1_ERREN_SHIFT (23U) +/*! ERREN - Error Interruption Enable + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_CTRL_1_ERREN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_ERREN_SHIFT)) & PDM_CTRL_1_ERREN_MASK) + +#define PDM_CTRL_1_DISEL_MASK (0x3000000U) +#define PDM_CTRL_1_DISEL_SHIFT (24U) +/*! DISEL - DMA Interrupt Selection + * 0b00..Disables DMA and interrupt requests + * 0b01..Enables DMA requests + * 0b10..Enables interrupt requests + * 0b11..Reserved + */ +#define PDM_CTRL_1_DISEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DISEL_SHIFT)) & PDM_CTRL_1_DISEL_MASK) + +#define PDM_CTRL_1_DBGE_MASK (0x4000000U) +#define PDM_CTRL_1_DBGE_SHIFT (26U) +/*! DBGE - Module Enable in Debug + * 0b0..Disables after completing the current frame + * 0b1..Enables operation + */ +#define PDM_CTRL_1_DBGE(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DBGE_SHIFT)) & PDM_CTRL_1_DBGE_MASK) + +#define PDM_CTRL_1_SRES_MASK (0x8000000U) +#define PDM_CTRL_1_SRES_SHIFT (27U) +/*! SRES - Software Reset + * 0b0..No action + * 0b1..Software reset + */ +#define PDM_CTRL_1_SRES(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_SRES_SHIFT)) & PDM_CTRL_1_SRES_MASK) + +#define PDM_CTRL_1_DBG_MASK (0x10000000U) +#define PDM_CTRL_1_DBG_SHIFT (28U) +/*! DBG - Debug Mode + * 0b0..Normal + * 0b1..Debug + */ +#define PDM_CTRL_1_DBG(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DBG_SHIFT)) & PDM_CTRL_1_DBG_MASK) + +#define PDM_CTRL_1_PDMIEN_MASK (0x20000000U) +#define PDM_CTRL_1_PDMIEN_SHIFT (29U) +/*! PDMIEN - MICFIL Enable + * 0b0..Stops MICFIL operation + * 0b1..Starts MICFIL operation + */ +#define PDM_CTRL_1_PDMIEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_PDMIEN_SHIFT)) & PDM_CTRL_1_PDMIEN_MASK) + +#define PDM_CTRL_1_DOZEN_MASK (0x40000000U) +#define PDM_CTRL_1_DOZEN_SHIFT (30U) +/*! DOZEN - Stop Enable + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_CTRL_1_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DOZEN_SHIFT)) & PDM_CTRL_1_DOZEN_MASK) + +#define PDM_CTRL_1_MDIS_MASK (0x80000000U) +#define PDM_CTRL_1_MDIS_SHIFT (31U) +/*! MDIS - Module Disable + * 0b0..Normal mode + * 0b1..DLL mode + */ +#define PDM_CTRL_1_MDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_MDIS_SHIFT)) & PDM_CTRL_1_MDIS_MASK) +/*! @} */ + +/*! @name CTRL_2 - MICFIL Control 2 */ +/*! @{ */ + +#define PDM_CTRL_2_CLKDIV_MASK (0xFFU) +#define PDM_CTRL_2_CLKDIV_SHIFT (0U) +/*! CLKDIV - Clock Divider + * 0b00000000..Internal clock divider value = 0 + * 0b00000001..Internal clock divider value = 1 + * 0b00000010-0b11111110..... + * 0b11111111..Internal clock divider value = 255 + */ +#define PDM_CTRL_2_CLKDIV(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_CLKDIV_SHIFT)) & PDM_CTRL_2_CLKDIV_MASK) + +#define PDM_CTRL_2_CICOSR_MASK (0xF0000U) +#define PDM_CTRL_2_CICOSR_SHIFT (16U) +/*! CICOSR - CIC Decimation Rate + * 0b0000..CIC oversampling rate = 0 + * 0b0001..CIC oversampling rate = 1 + * 0b0010-0b1110..... + * 0b1111..CIC oversampling rate = 15 + */ +#define PDM_CTRL_2_CICOSR(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_CICOSR_SHIFT)) & PDM_CTRL_2_CICOSR_MASK) + +#define PDM_CTRL_2_QSEL_MASK (0xE000000U) +#define PDM_CTRL_2_QSEL_SHIFT (25U) +/*! QSEL - Quality Mode + * 0b000..Medium-Quality mode + * 0b001..High-Quality mode + * 0b100..Very-Low-Quality 2 mode + * 0b101..Very-Low-Quality 1 mode + * 0b110..Very-Low-Quality 0 mode + * 0b111..Low-Quality mode + */ +#define PDM_CTRL_2_QSEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_QSEL_SHIFT)) & PDM_CTRL_2_QSEL_MASK) +/*! @} */ + +/*! @name STAT - MICFIL Status */ +/*! @{ */ + +#define PDM_STAT_CH0F_MASK (0x1U) +#define PDM_STAT_CH0F_SHIFT (0U) +/*! CH0F - Channel 0 Output Data Flag + * 0b0..Not surpassed + * 0b1..Surpassed + */ +#define PDM_STAT_CH0F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH0F_SHIFT)) & PDM_STAT_CH0F_MASK) + +#define PDM_STAT_CH1F_MASK (0x2U) +#define PDM_STAT_CH1F_SHIFT (1U) +/*! CH1F - Channel 1 Output Data Flag + * 0b0..Not surpassed + * 0b1..Surpassed + */ +#define PDM_STAT_CH1F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH1F_SHIFT)) & PDM_STAT_CH1F_MASK) + +#define PDM_STAT_CH2F_MASK (0x4U) +#define PDM_STAT_CH2F_SHIFT (2U) +/*! CH2F - Channel 2 Output Data Flag + * 0b0..Not surpassed + * 0b1..Surpassed + */ +#define PDM_STAT_CH2F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH2F_SHIFT)) & PDM_STAT_CH2F_MASK) + +#define PDM_STAT_CH3F_MASK (0x8U) +#define PDM_STAT_CH3F_SHIFT (3U) +/*! CH3F - Channel 3 Output Data Flag + * 0b0..Not surpassed + * 0b1..Surpassed + */ +#define PDM_STAT_CH3F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH3F_SHIFT)) & PDM_STAT_CH3F_MASK) + +#define PDM_STAT_CH4F_MASK (0x10U) +#define PDM_STAT_CH4F_SHIFT (4U) +/*! CH4F - Channel 4 Output Data Flag + * 0b0..Not surpassed + * 0b1..Surpassed + */ +#define PDM_STAT_CH4F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH4F_SHIFT)) & PDM_STAT_CH4F_MASK) + +#define PDM_STAT_CH5F_MASK (0x20U) +#define PDM_STAT_CH5F_SHIFT (5U) +/*! CH5F - Channel 5 Output Data Flag + * 0b0..Not surpassed + * 0b1..Surpassed + */ +#define PDM_STAT_CH5F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH5F_SHIFT)) & PDM_STAT_CH5F_MASK) + +#define PDM_STAT_CH6F_MASK (0x40U) +#define PDM_STAT_CH6F_SHIFT (6U) +/*! CH6F - Channel 6 Output Data Flag + * 0b0..Not surpassed + * 0b1..Surpassed + */ +#define PDM_STAT_CH6F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH6F_SHIFT)) & PDM_STAT_CH6F_MASK) + +#define PDM_STAT_CH7F_MASK (0x80U) +#define PDM_STAT_CH7F_SHIFT (7U) +/*! CH7F - Channel 7 Output Data Flag + * 0b0..Not surpassed + * 0b1..Surpassed + */ +#define PDM_STAT_CH7F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH7F_SHIFT)) & PDM_STAT_CH7F_MASK) + +#define PDM_STAT_LOWFREQF_MASK (0x20000000U) +#define PDM_STAT_LOWFREQF_SHIFT (29U) +/*! LOWFREQF - Low Frequency Flag + * 0b0..CLKDIV value is OK + * 0b1..CLKDIV value is too low + */ +#define PDM_STAT_LOWFREQF(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_LOWFREQF_SHIFT)) & PDM_STAT_LOWFREQF_MASK) + +#define PDM_STAT_FIR_RDY_MASK (0x40000000U) +#define PDM_STAT_FIR_RDY_SHIFT (30U) +/*! FIR_RDY - Filter Data Ready + * 0b0..Not reliable + * 0b1..Reliable + */ +#define PDM_STAT_FIR_RDY(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_FIR_RDY_SHIFT)) & PDM_STAT_FIR_RDY_MASK) + +#define PDM_STAT_BSY_FIL_MASK (0x80000000U) +#define PDM_STAT_BSY_FIL_SHIFT (31U) +/*! BSY_FIL - Busy Flag + * 0b0..MICFIL is stopped + * 0b1..MICFIL is running + */ +#define PDM_STAT_BSY_FIL(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_BSY_FIL_SHIFT)) & PDM_STAT_BSY_FIL_MASK) +/*! @} */ + +/*! @name FIFO_CTRL - MICFIL FIFO Control */ +/*! @{ */ + +#define PDM_FIFO_CTRL_FIFOWMK_MASK (0x1FU) +#define PDM_FIFO_CTRL_FIFOWMK_SHIFT (0U) +/*! FIFOWMK - FIFO Watermark Control */ +#define PDM_FIFO_CTRL_FIFOWMK(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_CTRL_FIFOWMK_SHIFT)) & PDM_FIFO_CTRL_FIFOWMK_MASK) +/*! @} */ + +/*! @name FIFO_STAT - MICFIL FIFO Status */ +/*! @{ */ + +#define PDM_FIFO_STAT_FIFOOVF0_MASK (0x1U) +#define PDM_FIFO_STAT_FIFOOVF0_SHIFT (0U) +/*! FIFOOVF0 - FIFO Overflow Exception Flag for Channel 0 + * 0b0..No exception by FIFO overflow + * 0b1..Exception by FIFO overflow + */ +#define PDM_FIFO_STAT_FIFOOVF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF0_SHIFT)) & PDM_FIFO_STAT_FIFOOVF0_MASK) + +#define PDM_FIFO_STAT_FIFOOVF1_MASK (0x2U) +#define PDM_FIFO_STAT_FIFOOVF1_SHIFT (1U) +/*! FIFOOVF1 - FIFO Overflow Exception Flag for Channel 1 + * 0b0..No exception by FIFO overflow + * 0b1..Exception by FIFO overflow + */ +#define PDM_FIFO_STAT_FIFOOVF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF1_SHIFT)) & PDM_FIFO_STAT_FIFOOVF1_MASK) + +#define PDM_FIFO_STAT_FIFOOVF2_MASK (0x4U) +#define PDM_FIFO_STAT_FIFOOVF2_SHIFT (2U) +/*! FIFOOVF2 - FIFO Overflow Exception Flag for Channel 2 + * 0b0..No exception by FIFO overflow + * 0b1..Exception by FIFO overflow + */ +#define PDM_FIFO_STAT_FIFOOVF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF2_SHIFT)) & PDM_FIFO_STAT_FIFOOVF2_MASK) + +#define PDM_FIFO_STAT_FIFOOVF3_MASK (0x8U) +#define PDM_FIFO_STAT_FIFOOVF3_SHIFT (3U) +/*! FIFOOVF3 - FIFO Overflow Exception Flag for Channel 3 + * 0b0..No exception by FIFO overflow + * 0b1..Exception by FIFO overflow + */ +#define PDM_FIFO_STAT_FIFOOVF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF3_SHIFT)) & PDM_FIFO_STAT_FIFOOVF3_MASK) + +#define PDM_FIFO_STAT_FIFOOVF4_MASK (0x10U) +#define PDM_FIFO_STAT_FIFOOVF4_SHIFT (4U) +/*! FIFOOVF4 - FIFO Overflow Exception Flag for Channel 4 + * 0b0..No exception by FIFO overflow + * 0b1..Exception by FIFO overflow + */ +#define PDM_FIFO_STAT_FIFOOVF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF4_SHIFT)) & PDM_FIFO_STAT_FIFOOVF4_MASK) + +#define PDM_FIFO_STAT_FIFOOVF5_MASK (0x20U) +#define PDM_FIFO_STAT_FIFOOVF5_SHIFT (5U) +/*! FIFOOVF5 - FIFO Overflow Exception Flag for Channel 5 + * 0b0..No exception by FIFO overflow + * 0b1..Exception by FIFO overflow + */ +#define PDM_FIFO_STAT_FIFOOVF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF5_SHIFT)) & PDM_FIFO_STAT_FIFOOVF5_MASK) + +#define PDM_FIFO_STAT_FIFOOVF6_MASK (0x40U) +#define PDM_FIFO_STAT_FIFOOVF6_SHIFT (6U) +/*! FIFOOVF6 - FIFO Overflow Exception Flag for Channel 6 + * 0b0..No exception by FIFO overflow + * 0b1..Exception by FIFO overflow + */ +#define PDM_FIFO_STAT_FIFOOVF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF6_SHIFT)) & PDM_FIFO_STAT_FIFOOVF6_MASK) + +#define PDM_FIFO_STAT_FIFOOVF7_MASK (0x80U) +#define PDM_FIFO_STAT_FIFOOVF7_SHIFT (7U) +/*! FIFOOVF7 - FIFO Overflow Exception Flag for Channel 7 + * 0b0..No exception by FIFO overflow + * 0b1..Exception by FIFO overflow + */ +#define PDM_FIFO_STAT_FIFOOVF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF7_SHIFT)) & PDM_FIFO_STAT_FIFOOVF7_MASK) + +#define PDM_FIFO_STAT_FIFOUND0_MASK (0x100U) +#define PDM_FIFO_STAT_FIFOUND0_SHIFT (8U) +/*! FIFOUND0 - FIFO Underflow Exception Flag for Channel 0 + * 0b0..No exception by FIFO underflow + * 0b1..Exception by FIFO underflow + */ +#define PDM_FIFO_STAT_FIFOUND0(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND0_SHIFT)) & PDM_FIFO_STAT_FIFOUND0_MASK) + +#define PDM_FIFO_STAT_FIFOUND1_MASK (0x200U) +#define PDM_FIFO_STAT_FIFOUND1_SHIFT (9U) +/*! FIFOUND1 - FIFO Underflow Exception Flag for Channel 1 + * 0b0..No exception by FIFO underflow + * 0b1..Exception by FIFO underflow + */ +#define PDM_FIFO_STAT_FIFOUND1(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND1_SHIFT)) & PDM_FIFO_STAT_FIFOUND1_MASK) + +#define PDM_FIFO_STAT_FIFOUND2_MASK (0x400U) +#define PDM_FIFO_STAT_FIFOUND2_SHIFT (10U) +/*! FIFOUND2 - FIFO Underflow Exception Flag for Channel 2 + * 0b0..No exception by FIFO underflow + * 0b1..Exception by FIFO underflow + */ +#define PDM_FIFO_STAT_FIFOUND2(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND2_SHIFT)) & PDM_FIFO_STAT_FIFOUND2_MASK) + +#define PDM_FIFO_STAT_FIFOUND3_MASK (0x800U) +#define PDM_FIFO_STAT_FIFOUND3_SHIFT (11U) +/*! FIFOUND3 - FIFO Underflow Exception Flag for Channel 3 + * 0b0..No exception by FIFO underflow + * 0b1..Exception by FIFO underflow + */ +#define PDM_FIFO_STAT_FIFOUND3(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND3_SHIFT)) & PDM_FIFO_STAT_FIFOUND3_MASK) + +#define PDM_FIFO_STAT_FIFOUND4_MASK (0x1000U) +#define PDM_FIFO_STAT_FIFOUND4_SHIFT (12U) +/*! FIFOUND4 - FIFO Underflow Exception Flag for Channel 4 + * 0b0..No exception by FIFO underflow + * 0b1..Exception by FIFO underflow + */ +#define PDM_FIFO_STAT_FIFOUND4(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND4_SHIFT)) & PDM_FIFO_STAT_FIFOUND4_MASK) + +#define PDM_FIFO_STAT_FIFOUND5_MASK (0x2000U) +#define PDM_FIFO_STAT_FIFOUND5_SHIFT (13U) +/*! FIFOUND5 - FIFO Underflow Exception Flag for Channel 5 + * 0b0..No exception by FIFO underflow + * 0b1..Exception by FIFO underflow + */ +#define PDM_FIFO_STAT_FIFOUND5(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND5_SHIFT)) & PDM_FIFO_STAT_FIFOUND5_MASK) + +#define PDM_FIFO_STAT_FIFOUND6_MASK (0x4000U) +#define PDM_FIFO_STAT_FIFOUND6_SHIFT (14U) +/*! FIFOUND6 - FIFO Underflow Exception Flag for Channel 6 + * 0b0..No exception by FIFO underflow + * 0b1..Exception by FIFO underflow + */ +#define PDM_FIFO_STAT_FIFOUND6(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND6_SHIFT)) & PDM_FIFO_STAT_FIFOUND6_MASK) + +#define PDM_FIFO_STAT_FIFOUND7_MASK (0x8000U) +#define PDM_FIFO_STAT_FIFOUND7_SHIFT (15U) +/*! FIFOUND7 - FIFO Underflow Exception Flag for Channel 7 + * 0b0..No exception by FIFO underflow + * 0b1..Exception by FIFO underflow + */ +#define PDM_FIFO_STAT_FIFOUND7(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND7_SHIFT)) & PDM_FIFO_STAT_FIFOUND7_MASK) +/*! @} */ + +/*! @name DATACH - MICFIL Output Result */ +/*! @{ */ + +#define PDM_DATACH_DATA_MASK (0xFFFFFFFFU) +#define PDM_DATACH_DATA_SHIFT (0U) +/*! DATA - Channel n Data */ +#define PDM_DATACH_DATA(x) (((uint32_t)(((uint32_t)(x)) << PDM_DATACH_DATA_SHIFT)) & PDM_DATACH_DATA_MASK) +/*! @} */ + +/* The count of PDM_DATACH */ +#define PDM_DATACH_COUNT (8U) + +/*! @name DC_CTRL - MICFIL DC Remover Control */ +/*! @{ */ + +#define PDM_DC_CTRL_DCCONFIG0_MASK (0x3U) +#define PDM_DC_CTRL_DCCONFIG0_SHIFT (0U) +/*! DCCONFIG0 - Channel 0 DC Remover Configuration + * 0b00..20 Hz (PDM_CLK = 3.072 MHz) + * 0b01..13.3 Hz (PDM_CLK = 3.072 MHz) + * 0b10..40 Hz (PDM_CLK = 3.072 MHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_CTRL_DCCONFIG0(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG0_SHIFT)) & PDM_DC_CTRL_DCCONFIG0_MASK) + +#define PDM_DC_CTRL_DCCONFIG1_MASK (0xCU) +#define PDM_DC_CTRL_DCCONFIG1_SHIFT (2U) +/*! DCCONFIG1 - Channel 1 DC Remover Configuration + * 0b00..20 Hz (PDM_CLK = 3.072 MHz) + * 0b01..13.3 Hz (PDM_CLK = 3.072 MHz) + * 0b10..40 Hz (PDM_CLK = 3.072 MHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_CTRL_DCCONFIG1(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG1_SHIFT)) & PDM_DC_CTRL_DCCONFIG1_MASK) + +#define PDM_DC_CTRL_DCCONFIG2_MASK (0x30U) +#define PDM_DC_CTRL_DCCONFIG2_SHIFT (4U) +/*! DCCONFIG2 - Channel 2 DC Remover Configuration + * 0b00..20 Hz (PDM_CLK = 3.072 MHz) + * 0b01..13.3 Hz (PDM_CLK = 3.072 MHz) + * 0b10..40 Hz (PDM_CLK = 3.072 MHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_CTRL_DCCONFIG2(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG2_SHIFT)) & PDM_DC_CTRL_DCCONFIG2_MASK) + +#define PDM_DC_CTRL_DCCONFIG3_MASK (0xC0U) +#define PDM_DC_CTRL_DCCONFIG3_SHIFT (6U) +/*! DCCONFIG3 - Channel 3 DC Remover Configuration + * 0b00..20 Hz (PDM_CLK = 3.072 MHz) + * 0b01..13.3 Hz (PDM_CLK = 3.072 MHz) + * 0b10..40 Hz (PDM_CLK = 3.072 MHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_CTRL_DCCONFIG3(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG3_SHIFT)) & PDM_DC_CTRL_DCCONFIG3_MASK) + +#define PDM_DC_CTRL_DCCONFIG4_MASK (0x300U) +#define PDM_DC_CTRL_DCCONFIG4_SHIFT (8U) +/*! DCCONFIG4 - Channel 4 DC Remover Configuration + * 0b00..20 Hz (PDM_CLK = 3.072 MHz) + * 0b01..13.3 Hz (PDM_CLK = 3.072 MHz) + * 0b10..40 Hz (PDM_CLK = 3.072 MHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_CTRL_DCCONFIG4(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG4_SHIFT)) & PDM_DC_CTRL_DCCONFIG4_MASK) + +#define PDM_DC_CTRL_DCCONFIG5_MASK (0xC00U) +#define PDM_DC_CTRL_DCCONFIG5_SHIFT (10U) +/*! DCCONFIG5 - Channel 5 DC Remover Configuration + * 0b00..20 Hz (PDM_CLK = 3.072 MHz) + * 0b01..13.3 Hz (PDM_CLK = 3.072 MHz) + * 0b10..40 Hz (PDM_CLK = 3.072 MHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_CTRL_DCCONFIG5(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG5_SHIFT)) & PDM_DC_CTRL_DCCONFIG5_MASK) + +#define PDM_DC_CTRL_DCCONFIG6_MASK (0x3000U) +#define PDM_DC_CTRL_DCCONFIG6_SHIFT (12U) +/*! DCCONFIG6 - Channel 6 DC Remover Configuration + * 0b00..20 Hz (PDM_CLK = 3.072 MHz) + * 0b01..13.3 Hz (PDM_CLK = 3.072 MHz) + * 0b10..40 Hz (PDM_CLK = 3.072 MHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_CTRL_DCCONFIG6(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG6_SHIFT)) & PDM_DC_CTRL_DCCONFIG6_MASK) + +#define PDM_DC_CTRL_DCCONFIG7_MASK (0xC000U) +#define PDM_DC_CTRL_DCCONFIG7_SHIFT (14U) +/*! DCCONFIG7 - Channel 7 DC Remover Configuration + * 0b00..20 Hz (PDM_CLK = 3.072 MHz) + * 0b01..13.3 Hz (PDM_CLK = 3.072 MHz) + * 0b10..40 Hz (PDM_CLK = 3.072 MHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_CTRL_DCCONFIG7(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG7_SHIFT)) & PDM_DC_CTRL_DCCONFIG7_MASK) +/*! @} */ + +/*! @name DC_OUT_CTRL - MICFIL Output DC Remover Control */ +/*! @{ */ + +#define PDM_DC_OUT_CTRL_DCCONFIG0_MASK (0x3U) +#define PDM_DC_OUT_CTRL_DCCONFIG0_SHIFT (0U) +/*! DCCONFIG0 - Channel 0 DC Remover Configuration + * 0b00..20 Hz (FS = 48 kHz) + * 0b01..13.3 Hz (FS = 48 kHz) + * 0b10..40 Hz (FS = 48 kHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_OUT_CTRL_DCCONFIG0(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_OUT_CTRL_DCCONFIG0_SHIFT)) & PDM_DC_OUT_CTRL_DCCONFIG0_MASK) + +#define PDM_DC_OUT_CTRL_DCCONFIG1_MASK (0xCU) +#define PDM_DC_OUT_CTRL_DCCONFIG1_SHIFT (2U) +/*! DCCONFIG1 - Channel 1 DC Remover Configuration + * 0b00..20 Hz (FS = 48 kHz) + * 0b01..13.3 Hz (FS = 48 kHz) + * 0b10..40 Hz (FS = 48 kHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_OUT_CTRL_DCCONFIG1(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_OUT_CTRL_DCCONFIG1_SHIFT)) & PDM_DC_OUT_CTRL_DCCONFIG1_MASK) + +#define PDM_DC_OUT_CTRL_DCCONFIG2_MASK (0x30U) +#define PDM_DC_OUT_CTRL_DCCONFIG2_SHIFT (4U) +/*! DCCONFIG2 - Channel 2 DC Remover Configuration + * 0b00..20 Hz (FS = 48 kHz) + * 0b01..13.3 Hz (FS = 48 kHz) + * 0b10..40 Hz (FS = 48 kHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_OUT_CTRL_DCCONFIG2(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_OUT_CTRL_DCCONFIG2_SHIFT)) & PDM_DC_OUT_CTRL_DCCONFIG2_MASK) + +#define PDM_DC_OUT_CTRL_DCCONFIG3_MASK (0xC0U) +#define PDM_DC_OUT_CTRL_DCCONFIG3_SHIFT (6U) +/*! DCCONFIG3 - Channel 3 DC Remover Configuration + * 0b00..20 Hz (FS = 48 kHz) + * 0b01..13.3 Hz (FS = 48 kHz) + * 0b10..40 Hz (FS = 48 kHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_OUT_CTRL_DCCONFIG3(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_OUT_CTRL_DCCONFIG3_SHIFT)) & PDM_DC_OUT_CTRL_DCCONFIG3_MASK) + +#define PDM_DC_OUT_CTRL_DCCONFIG4_MASK (0x300U) +#define PDM_DC_OUT_CTRL_DCCONFIG4_SHIFT (8U) +/*! DCCONFIG4 - Channel 4 DC Remover Configuration + * 0b00..20 Hz (FS = 48 kHz) + * 0b01..13.3 Hz (FS = 48 kHz) + * 0b10..40 Hz (FS = 48 kHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_OUT_CTRL_DCCONFIG4(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_OUT_CTRL_DCCONFIG4_SHIFT)) & PDM_DC_OUT_CTRL_DCCONFIG4_MASK) + +#define PDM_DC_OUT_CTRL_DCCONFIG5_MASK (0xC00U) +#define PDM_DC_OUT_CTRL_DCCONFIG5_SHIFT (10U) +/*! DCCONFIG5 - Channel 5 DC Remover Configuration + * 0b00..20 Hz (FS = 48 kHz) + * 0b01..13.3 Hz (FS = 48 kHz) + * 0b10..40 Hz (FS = 48 kHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_OUT_CTRL_DCCONFIG5(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_OUT_CTRL_DCCONFIG5_SHIFT)) & PDM_DC_OUT_CTRL_DCCONFIG5_MASK) + +#define PDM_DC_OUT_CTRL_DCCONFIG6_MASK (0x3000U) +#define PDM_DC_OUT_CTRL_DCCONFIG6_SHIFT (12U) +/*! DCCONFIG6 - Channel 6 DC Remover Configuration + * 0b00..20 Hz (FS = 48 kHz) + * 0b01..13.3 Hz (FS = 48 kHz) + * 0b10..40 Hz (FS = 48 kHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_OUT_CTRL_DCCONFIG6(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_OUT_CTRL_DCCONFIG6_SHIFT)) & PDM_DC_OUT_CTRL_DCCONFIG6_MASK) + +#define PDM_DC_OUT_CTRL_DCCONFIG7_MASK (0xC000U) +#define PDM_DC_OUT_CTRL_DCCONFIG7_SHIFT (14U) +/*! DCCONFIG7 - Channel 7 DC Remover Configuration + * 0b00..20 Hz (FS = 48 kHz) + * 0b01..13.3 Hz (FS = 48 kHz) + * 0b10..40 Hz (FS = 48 kHz) + * 0b11..DC remover is bypassed + */ +#define PDM_DC_OUT_CTRL_DCCONFIG7(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_OUT_CTRL_DCCONFIG7_SHIFT)) & PDM_DC_OUT_CTRL_DCCONFIG7_MASK) +/*! @} */ + +/*! @name RANGE_CTRL - MICFIL Range Control */ +/*! @{ */ + +#define PDM_RANGE_CTRL_RANGEADJ0_MASK (0xFU) +#define PDM_RANGE_CTRL_RANGEADJ0_SHIFT (0U) +/*! RANGEADJ0 - Channel 0 Range Adjustment */ +#define PDM_RANGE_CTRL_RANGEADJ0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ0_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ0_MASK) + +#define PDM_RANGE_CTRL_RANGEADJ1_MASK (0xF0U) +#define PDM_RANGE_CTRL_RANGEADJ1_SHIFT (4U) +/*! RANGEADJ1 - Channel 1 Range Adjustment */ +#define PDM_RANGE_CTRL_RANGEADJ1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ1_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ1_MASK) + +#define PDM_RANGE_CTRL_RANGEADJ2_MASK (0xF00U) +#define PDM_RANGE_CTRL_RANGEADJ2_SHIFT (8U) +/*! RANGEADJ2 - Channel 2 Range Adjustment */ +#define PDM_RANGE_CTRL_RANGEADJ2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ2_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ2_MASK) + +#define PDM_RANGE_CTRL_RANGEADJ3_MASK (0xF000U) +#define PDM_RANGE_CTRL_RANGEADJ3_SHIFT (12U) +/*! RANGEADJ3 - Channel 3 Range Adjustment */ +#define PDM_RANGE_CTRL_RANGEADJ3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ3_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ3_MASK) + +#define PDM_RANGE_CTRL_RANGEADJ4_MASK (0xF0000U) +#define PDM_RANGE_CTRL_RANGEADJ4_SHIFT (16U) +/*! RANGEADJ4 - Channel 4 Range Adjustment */ +#define PDM_RANGE_CTRL_RANGEADJ4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ4_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ4_MASK) + +#define PDM_RANGE_CTRL_RANGEADJ5_MASK (0xF00000U) +#define PDM_RANGE_CTRL_RANGEADJ5_SHIFT (20U) +/*! RANGEADJ5 - Channel 5 Range Adjustment */ +#define PDM_RANGE_CTRL_RANGEADJ5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ5_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ5_MASK) + +#define PDM_RANGE_CTRL_RANGEADJ6_MASK (0xF000000U) +#define PDM_RANGE_CTRL_RANGEADJ6_SHIFT (24U) +/*! RANGEADJ6 - Channel 6 Range Adjustment */ +#define PDM_RANGE_CTRL_RANGEADJ6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ6_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ6_MASK) + +#define PDM_RANGE_CTRL_RANGEADJ7_MASK (0xF0000000U) +#define PDM_RANGE_CTRL_RANGEADJ7_SHIFT (28U) +/*! RANGEADJ7 - Channel 7 Range Adjustment */ +#define PDM_RANGE_CTRL_RANGEADJ7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ7_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ7_MASK) +/*! @} */ + +/*! @name RANGE_STAT - MICFIL Range Status */ +/*! @{ */ + +#define PDM_RANGE_STAT_RANGEOVF0_MASK (0x1U) +#define PDM_RANGE_STAT_RANGEOVF0_SHIFT (0U) +/*! RANGEOVF0 - Channel 0 Range Overflow Error Flag + * 0b0..No exception by range overflow + * 0b1..Exception by range overflow + */ +#define PDM_RANGE_STAT_RANGEOVF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF0_SHIFT)) & PDM_RANGE_STAT_RANGEOVF0_MASK) + +#define PDM_RANGE_STAT_RANGEOVF1_MASK (0x2U) +#define PDM_RANGE_STAT_RANGEOVF1_SHIFT (1U) +/*! RANGEOVF1 - Channel 1 Range Overflow Error Flag + * 0b0..No exception by range overflow + * 0b1..Exception by range overflow + */ +#define PDM_RANGE_STAT_RANGEOVF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF1_SHIFT)) & PDM_RANGE_STAT_RANGEOVF1_MASK) + +#define PDM_RANGE_STAT_RANGEOVF2_MASK (0x4U) +#define PDM_RANGE_STAT_RANGEOVF2_SHIFT (2U) +/*! RANGEOVF2 - Channel 2 Range Overflow Error Flag + * 0b0..No exception by range overflow + * 0b1..Exception by range overflow + */ +#define PDM_RANGE_STAT_RANGEOVF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF2_SHIFT)) & PDM_RANGE_STAT_RANGEOVF2_MASK) + +#define PDM_RANGE_STAT_RANGEOVF3_MASK (0x8U) +#define PDM_RANGE_STAT_RANGEOVF3_SHIFT (3U) +/*! RANGEOVF3 - Channel 3 Range Overflow Error Flag + * 0b0..No exception by range overflow + * 0b1..Exception by range overflow + */ +#define PDM_RANGE_STAT_RANGEOVF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF3_SHIFT)) & PDM_RANGE_STAT_RANGEOVF3_MASK) + +#define PDM_RANGE_STAT_RANGEOVF4_MASK (0x10U) +#define PDM_RANGE_STAT_RANGEOVF4_SHIFT (4U) +/*! RANGEOVF4 - Channel 4 Range Overflow Error Flag + * 0b0..No exception by range overflow + * 0b1..Exception by range overflow + */ +#define PDM_RANGE_STAT_RANGEOVF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF4_SHIFT)) & PDM_RANGE_STAT_RANGEOVF4_MASK) + +#define PDM_RANGE_STAT_RANGEOVF5_MASK (0x20U) +#define PDM_RANGE_STAT_RANGEOVF5_SHIFT (5U) +/*! RANGEOVF5 - Channel 5 Range Overflow Error Flag + * 0b0..No exception by range overflow + * 0b1..Exception by range overflow + */ +#define PDM_RANGE_STAT_RANGEOVF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF5_SHIFT)) & PDM_RANGE_STAT_RANGEOVF5_MASK) + +#define PDM_RANGE_STAT_RANGEOVF6_MASK (0x40U) +#define PDM_RANGE_STAT_RANGEOVF6_SHIFT (6U) +/*! RANGEOVF6 - Channel 6 Range Overflow Error Flag + * 0b0..No exception by range overflow + * 0b1..Exception by range overflow + */ +#define PDM_RANGE_STAT_RANGEOVF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF6_SHIFT)) & PDM_RANGE_STAT_RANGEOVF6_MASK) + +#define PDM_RANGE_STAT_RANGEOVF7_MASK (0x80U) +#define PDM_RANGE_STAT_RANGEOVF7_SHIFT (7U) +/*! RANGEOVF7 - Channel 7 Range Overflow Error Flag + * 0b0..No exception by range overflow + * 0b1..Exception by range overflow + */ +#define PDM_RANGE_STAT_RANGEOVF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF7_SHIFT)) & PDM_RANGE_STAT_RANGEOVF7_MASK) + +#define PDM_RANGE_STAT_RANGEUNF0_MASK (0x10000U) +#define PDM_RANGE_STAT_RANGEUNF0_SHIFT (16U) +/*! RANGEUNF0 - Channel 0 Range Underflow Error Flag + * 0b0..No exception by range underflow + * 0b1..Exception by range underflow + */ +#define PDM_RANGE_STAT_RANGEUNF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF0_SHIFT)) & PDM_RANGE_STAT_RANGEUNF0_MASK) + +#define PDM_RANGE_STAT_RANGEUNF1_MASK (0x20000U) +#define PDM_RANGE_STAT_RANGEUNF1_SHIFT (17U) +/*! RANGEUNF1 - Channel 1 Range Underflow Error Flag + * 0b0..No exception by range underflow + * 0b1..Exception by range underflow + */ +#define PDM_RANGE_STAT_RANGEUNF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF1_SHIFT)) & PDM_RANGE_STAT_RANGEUNF1_MASK) + +#define PDM_RANGE_STAT_RANGEUNF2_MASK (0x40000U) +#define PDM_RANGE_STAT_RANGEUNF2_SHIFT (18U) +/*! RANGEUNF2 - Channel 2 Range Underflow Error Flag + * 0b0..No exception by range underflow + * 0b1..Exception by range underflow + */ +#define PDM_RANGE_STAT_RANGEUNF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF2_SHIFT)) & PDM_RANGE_STAT_RANGEUNF2_MASK) + +#define PDM_RANGE_STAT_RANGEUNF3_MASK (0x80000U) +#define PDM_RANGE_STAT_RANGEUNF3_SHIFT (19U) +/*! RANGEUNF3 - Channel 3 Range Underflow Error Flag + * 0b0..No exception by range underflow + * 0b1..Exception by range underflow + */ +#define PDM_RANGE_STAT_RANGEUNF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF3_SHIFT)) & PDM_RANGE_STAT_RANGEUNF3_MASK) + +#define PDM_RANGE_STAT_RANGEUNF4_MASK (0x100000U) +#define PDM_RANGE_STAT_RANGEUNF4_SHIFT (20U) +/*! RANGEUNF4 - Channel 4 Range Underflow Error Flag + * 0b0..No exception by range underflow + * 0b1..Exception by range underflow + */ +#define PDM_RANGE_STAT_RANGEUNF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF4_SHIFT)) & PDM_RANGE_STAT_RANGEUNF4_MASK) + +#define PDM_RANGE_STAT_RANGEUNF5_MASK (0x200000U) +#define PDM_RANGE_STAT_RANGEUNF5_SHIFT (21U) +/*! RANGEUNF5 - Channel 5 Range Underflow Error Flag + * 0b0..No exception by range underflow + * 0b1..Exception by range underflow + */ +#define PDM_RANGE_STAT_RANGEUNF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF5_SHIFT)) & PDM_RANGE_STAT_RANGEUNF5_MASK) + +#define PDM_RANGE_STAT_RANGEUNF6_MASK (0x400000U) +#define PDM_RANGE_STAT_RANGEUNF6_SHIFT (22U) +/*! RANGEUNF6 - Channel 6 Range Underflow Error Flag + * 0b0..No exception by range underflow + * 0b1..Exception by range underflow + */ +#define PDM_RANGE_STAT_RANGEUNF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF6_SHIFT)) & PDM_RANGE_STAT_RANGEUNF6_MASK) + +#define PDM_RANGE_STAT_RANGEUNF7_MASK (0x800000U) +#define PDM_RANGE_STAT_RANGEUNF7_SHIFT (23U) +/*! RANGEUNF7 - Channel 7 Range Underflow Error Flag + * 0b0..No exception by range underflow + * 0b1..Exception by range underflow + */ +#define PDM_RANGE_STAT_RANGEUNF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF7_SHIFT)) & PDM_RANGE_STAT_RANGEUNF7_MASK) +/*! @} */ + +/*! @name FSYNC_CTRL - Frame Synchronization Control */ +/*! @{ */ + +#define PDM_FSYNC_CTRL_FSYNCLEN_MASK (0xFFFFFFFFU) +#define PDM_FSYNC_CTRL_FSYNCLEN_SHIFT (0U) +/*! FSYNCLEN - Frame Synchronization Window Length */ +#define PDM_FSYNC_CTRL_FSYNCLEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_FSYNC_CTRL_FSYNCLEN_SHIFT)) & PDM_FSYNC_CTRL_FSYNCLEN_MASK) +/*! @} */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define PDM_VERID_FEATURE_MASK (0xFFFFU) +#define PDM_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Specification Number */ +#define PDM_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << PDM_VERID_FEATURE_SHIFT)) & PDM_VERID_FEATURE_MASK) + +#define PDM_VERID_MINOR_MASK (0xFF0000U) +#define PDM_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define PDM_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << PDM_VERID_MINOR_SHIFT)) & PDM_VERID_MINOR_MASK) + +#define PDM_VERID_MAJOR_MASK (0xFF000000U) +#define PDM_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define PDM_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << PDM_VERID_MAJOR_SHIFT)) & PDM_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define PDM_PARAM_NPAIR_MASK (0xFU) +#define PDM_PARAM_NPAIR_SHIFT (0U) +/*! NPAIR - Number of Microphone Pairs + * 0b0000..None + * 0b0001..1 pair + * 0b0010..2 pairs + * 0b0011-0b1110..... + * 0b1111..15 pairs + */ +#define PDM_PARAM_NPAIR(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_NPAIR_SHIFT)) & PDM_PARAM_NPAIR_MASK) + +#define PDM_PARAM_FIFO_PTRWID_MASK (0xF0U) +#define PDM_PARAM_FIFO_PTRWID_SHIFT (4U) +/*! FIFO_PTRWID - FIFO Pointer Width + * 0b0000..0 bits + * 0b0001..1 bit + * 0b0010..2 bits + * 0b0011-0b1110..... + * 0b1111..15 bits + */ +#define PDM_PARAM_FIFO_PTRWID(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_FIFO_PTRWID_SHIFT)) & PDM_PARAM_FIFO_PTRWID_MASK) + +#define PDM_PARAM_FIL_OUT_WIDTH_24B_MASK (0x100U) +#define PDM_PARAM_FIL_OUT_WIDTH_24B_SHIFT (8U) +/*! FIL_OUT_WIDTH_24B - Filter Output Width + * 0b0..16 bits + * 0b1..24 bits + */ +#define PDM_PARAM_FIL_OUT_WIDTH_24B(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_FIL_OUT_WIDTH_24B_SHIFT)) & PDM_PARAM_FIL_OUT_WIDTH_24B_MASK) + +#define PDM_PARAM_LOW_POWER_MASK (0x200U) +#define PDM_PARAM_LOW_POWER_SHIFT (9U) +/*! LOW_POWER - Low-Power Decimation Filter + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_PARAM_LOW_POWER(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_LOW_POWER_SHIFT)) & PDM_PARAM_LOW_POWER_MASK) + +#define PDM_PARAM_DC_BYPASS_MASK (0x400U) +#define PDM_PARAM_DC_BYPASS_SHIFT (10U) +/*! DC_BYPASS - Input DC Remover Bypass + * 0b0..Active + * 0b1..Disabled + */ +#define PDM_PARAM_DC_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_DC_BYPASS_SHIFT)) & PDM_PARAM_DC_BYPASS_MASK) + +#define PDM_PARAM_DC_OUT_BYPASS_MASK (0x800U) +#define PDM_PARAM_DC_OUT_BYPASS_SHIFT (11U) +/*! DC_OUT_BYPASS - Output DC Remover Bypass + * 0b0..Active + * 0b1..Disabled + */ +#define PDM_PARAM_DC_OUT_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_DC_OUT_BYPASS_SHIFT)) & PDM_PARAM_DC_OUT_BYPASS_MASK) + +#define PDM_PARAM_HWVAD_MASK (0x10000U) +#define PDM_PARAM_HWVAD_SHIFT (16U) +/*! HWVAD - HWVAD Active + * 0b0..Disabled + * 0b1..Active + */ +#define PDM_PARAM_HWVAD(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_HWVAD_SHIFT)) & PDM_PARAM_HWVAD_MASK) + +#define PDM_PARAM_HWVAD_ENERGY_MODE_MASK (0x20000U) +#define PDM_PARAM_HWVAD_ENERGY_MODE_SHIFT (17U) +/*! HWVAD_ENERGY_MODE - HWVAD Energy Mode Active + * 0b0..Disabled + * 0b1..Active + */ +#define PDM_PARAM_HWVAD_ENERGY_MODE(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_HWVAD_ENERGY_MODE_SHIFT)) & PDM_PARAM_HWVAD_ENERGY_MODE_MASK) + +#define PDM_PARAM_HWVAD_ZCD_MASK (0x80000U) +#define PDM_PARAM_HWVAD_ZCD_SHIFT (19U) +/*! HWVAD_ZCD - HWVAD ZCD Active + * 0b0..Disabled + * 0b1..Active + */ +#define PDM_PARAM_HWVAD_ZCD(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_HWVAD_ZCD_SHIFT)) & PDM_PARAM_HWVAD_ZCD_MASK) + +#define PDM_PARAM_NUM_HWVAD_MASK (0xF000000U) +#define PDM_PARAM_NUM_HWVAD_SHIFT (24U) +/*! NUM_HWVAD - Number of HWVADs */ +#define PDM_PARAM_NUM_HWVAD(x) (((uint32_t)(((uint32_t)(x)) << PDM_PARAM_NUM_HWVAD_SHIFT)) & PDM_PARAM_NUM_HWVAD_MASK) +/*! @} */ + +/*! @name VAD0_CTRL_1 - Voice Activity Detector 0 Control */ +/*! @{ */ + +#define PDM_VAD0_CTRL_1_VADEN_MASK (0x1U) +#define PDM_VAD0_CTRL_1_VADEN_SHIFT (0U) +/*! VADEN - HWVAD Enable + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_VAD0_CTRL_1_VADEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADEN_SHIFT)) & PDM_VAD0_CTRL_1_VADEN_MASK) + +#define PDM_VAD0_CTRL_1_VADRST_MASK (0x2U) +#define PDM_VAD0_CTRL_1_VADRST_SHIFT (1U) +/*! VADRST - HWVAD Reset */ +#define PDM_VAD0_CTRL_1_VADRST(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADRST_SHIFT)) & PDM_VAD0_CTRL_1_VADRST_MASK) + +#define PDM_VAD0_CTRL_1_VADIE_MASK (0x4U) +#define PDM_VAD0_CTRL_1_VADIE_SHIFT (2U) +/*! VADIE - Interruption Enable + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_VAD0_CTRL_1_VADIE(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADIE_SHIFT)) & PDM_VAD0_CTRL_1_VADIE_MASK) + +#define PDM_VAD0_CTRL_1_VADERIE_MASK (0x8U) +#define PDM_VAD0_CTRL_1_VADERIE_SHIFT (3U) +/*! VADERIE - Error Interruption Enable + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_VAD0_CTRL_1_VADERIE(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADERIE_SHIFT)) & PDM_VAD0_CTRL_1_VADERIE_MASK) + +#define PDM_VAD0_CTRL_1_VADST10_MASK (0x10U) +#define PDM_VAD0_CTRL_1_VADST10_SHIFT (4U) +/*! VADST10 - Internal Filters Initialization + * 0b0..Normal operation + * 0b1..Filters initialized + */ +#define PDM_VAD0_CTRL_1_VADST10(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADST10_SHIFT)) & PDM_VAD0_CTRL_1_VADST10_MASK) + +#define PDM_VAD0_CTRL_1_VADINITT_MASK (0x1F00U) +#define PDM_VAD0_CTRL_1_VADINITT_SHIFT (8U) +/*! VADINITT - Initialization Time + * 0b00000..0 + * 0b00001..1 + * 0b00010-0b11110..... + * 0b11111..31 + */ +#define PDM_VAD0_CTRL_1_VADINITT(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADINITT_SHIFT)) & PDM_VAD0_CTRL_1_VADINITT_MASK) + +#define PDM_VAD0_CTRL_1_VADCICOSR_MASK (0xF0000U) +#define PDM_VAD0_CTRL_1_VADCICOSR_SHIFT (16U) +/*! VADCICOSR - CIC Oversampling Rate */ +#define PDM_VAD0_CTRL_1_VADCICOSR(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADCICOSR_SHIFT)) & PDM_VAD0_CTRL_1_VADCICOSR_MASK) + +#define PDM_VAD0_CTRL_1_VADCHSEL_MASK (0x7000000U) +#define PDM_VAD0_CTRL_1_VADCHSEL_SHIFT (24U) +/*! VADCHSEL - Channel Selector + * 0b000..PDM Microphone 0 Left + * 0b001..PDM Microphone 0 Right + * 0b010..PDM Microphone 1 Left + * 0b011-0b101..... + * 0b110..PDM Microphone 3 Left + * 0b111..PDM Microphone 3 Right + */ +#define PDM_VAD0_CTRL_1_VADCHSEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADCHSEL_SHIFT)) & PDM_VAD0_CTRL_1_VADCHSEL_MASK) +/*! @} */ + +/*! @name VAD0_CTRL_2 - Voice Activity Detector 0 Control */ +/*! @{ */ + +#define PDM_VAD0_CTRL_2_VADHPF_MASK (0x3U) +#define PDM_VAD0_CTRL_2_VADHPF_SHIFT (0U) +/*! VADHPF - High-Pass Filter + * 0b00..Filter bypassed + * 0b01..Cut-off frequency at 1750 Hz + * 0b10..Cut-off frequency at 215 Hz + * 0b11..Cut-off frequency at 102 Hz + */ +#define PDM_VAD0_CTRL_2_VADHPF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADHPF_SHIFT)) & PDM_VAD0_CTRL_2_VADHPF_MASK) + +#define PDM_VAD0_CTRL_2_VADINPGAIN_MASK (0xF00U) +#define PDM_VAD0_CTRL_2_VADINPGAIN_SHIFT (8U) +/*! VADINPGAIN - Input Gain + * 0b0000..No shift + * 0b0001..Shift 1 bit to the left + * 0b0010..Shift 2 bits to the left + * 0b0011-0b0110..... + * 0b0111..Shift 7 bits to the left + * 0b1000..Shift 8 bits to the right + * 0b1001..Shift 7 bits to the right + * 0b1010-0b1110..... + * 0b1111..Shift 1 bits to the right + */ +#define PDM_VAD0_CTRL_2_VADINPGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADINPGAIN_SHIFT)) & PDM_VAD0_CTRL_2_VADINPGAIN_MASK) + +#define PDM_VAD0_CTRL_2_VADFRAMET_MASK (0x3F0000U) +#define PDM_VAD0_CTRL_2_VADFRAMET_SHIFT (16U) +/*! VADFRAMET - Frame Time + * 0b000000..1 + * 0b000001..2 + * 0b000010-0b111110..... + * 0b111111..63 + */ +#define PDM_VAD0_CTRL_2_VADFRAMET(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFRAMET_SHIFT)) & PDM_VAD0_CTRL_2_VADFRAMET_MASK) + +#define PDM_VAD0_CTRL_2_VADFOUTDIS_MASK (0x10000000U) +#define PDM_VAD0_CTRL_2_VADFOUTDIS_SHIFT (28U) +/*! VADFOUTDIS - Force Output Disable + * 0b0..Enables + * 0b1..Disables + */ +#define PDM_VAD0_CTRL_2_VADFOUTDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFOUTDIS_SHIFT)) & PDM_VAD0_CTRL_2_VADFOUTDIS_MASK) + +#define PDM_VAD0_CTRL_2_VADPREFEN_MASK (0x40000000U) +#define PDM_VAD0_CTRL_2_VADPREFEN_SHIFT (30U) +/*! VADPREFEN - Pre Filter Enable + * 0b0..Pre-filter bypassed + * 0b1..Pre-filter enabled + */ +#define PDM_VAD0_CTRL_2_VADPREFEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADPREFEN_SHIFT)) & PDM_VAD0_CTRL_2_VADPREFEN_MASK) + +#define PDM_VAD0_CTRL_2_VADFRENDIS_MASK (0x80000000U) +#define PDM_VAD0_CTRL_2_VADFRENDIS_SHIFT (31U) +/*! VADFRENDIS - Frame Energy Disable + * 0b0..Enables + * 0b1..Disables + */ +#define PDM_VAD0_CTRL_2_VADFRENDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFRENDIS_SHIFT)) & PDM_VAD0_CTRL_2_VADFRENDIS_MASK) +/*! @} */ + +/*! @name VAD0_STAT - Voice Activity Detector 0 Status */ +/*! @{ */ + +#define PDM_VAD0_STAT_VADIF_MASK (0x1U) +#define PDM_VAD0_STAT_VADIF_SHIFT (0U) +/*! VADIF - Interrupt Flag + * 0b0..Not detected + * 0b1..Detected + */ +#define PDM_VAD0_STAT_VADIF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADIF_SHIFT)) & PDM_VAD0_STAT_VADIF_MASK) + +#define PDM_VAD0_STAT_VADINSATF_MASK (0x10000U) +#define PDM_VAD0_STAT_VADINSATF_SHIFT (16U) +/*! VADINSATF - Input Saturation Flag + * 0b0..No exception + * 0b1..Exception + */ +#define PDM_VAD0_STAT_VADINSATF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADINSATF_SHIFT)) & PDM_VAD0_STAT_VADINSATF_MASK) + +#define PDM_VAD0_STAT_VADINITF_MASK (0x80000000U) +#define PDM_VAD0_STAT_VADINITF_SHIFT (31U) +/*! VADINITF - Initialization Flag + * 0b0..Not being initialized + * 0b1..Being initialized + */ +#define PDM_VAD0_STAT_VADINITF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADINITF_SHIFT)) & PDM_VAD0_STAT_VADINITF_MASK) +/*! @} */ + +/*! @name VAD0_SCONFIG - Voice Activity Detector 0 Signal Configuration */ +/*! @{ */ + +#define PDM_VAD0_SCONFIG_VADSGAIN_MASK (0xFU) +#define PDM_VAD0_SCONFIG_VADSGAIN_SHIFT (0U) +/*! VADSGAIN - Signal Gain + * 0b0000, 0b0001..Multiplier = 1 + * 0b0010..Multiplier = 2 + * 0b0011-0b1110..... + * 0b1111..Multiplier = 15 + */ +#define PDM_VAD0_SCONFIG_VADSGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSGAIN_SHIFT)) & PDM_VAD0_SCONFIG_VADSGAIN_MASK) + +#define PDM_VAD0_SCONFIG_VADSMAXEN_MASK (0x40000000U) +#define PDM_VAD0_SCONFIG_VADSMAXEN_SHIFT (30U) +/*! VADSMAXEN - Signal Maximum Enable + * 0b0..Maximum block bypassed + * 0b1..Maximum block enabled + */ +#define PDM_VAD0_SCONFIG_VADSMAXEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSMAXEN_SHIFT)) & PDM_VAD0_SCONFIG_VADSMAXEN_MASK) + +#define PDM_VAD0_SCONFIG_VADSFILEN_MASK (0x80000000U) +#define PDM_VAD0_SCONFIG_VADSFILEN_SHIFT (31U) +/*! VADSFILEN - Signal Filter Enable + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_VAD0_SCONFIG_VADSFILEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSFILEN_SHIFT)) & PDM_VAD0_SCONFIG_VADSFILEN_MASK) +/*! @} */ + +/*! @name VAD0_NCONFIG - Voice Activity Detector 0 Noise Configuration */ +/*! @{ */ + +#define PDM_VAD0_NCONFIG_VADNGAIN_MASK (0xFU) +#define PDM_VAD0_NCONFIG_VADNGAIN_SHIFT (0U) +/*! VADNGAIN - Noise Gain + * 0b0000, 0b0001..Multiplier = 1 + * 0b0010..Multiplier = 2 + * 0b0011-0b1110..... + * 0b1111..Multiplier = 15 + */ +#define PDM_VAD0_NCONFIG_VADNGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNGAIN_SHIFT)) & PDM_VAD0_NCONFIG_VADNGAIN_MASK) + +#define PDM_VAD0_NCONFIG_VADNFILADJ_MASK (0x1F00U) +#define PDM_VAD0_NCONFIG_VADNFILADJ_SHIFT (8U) +/*! VADNFILADJ - Noise Filter Adjustment + * 0b00000..0 + * 0b00001..1 + * 0b00010-0b11110..... + * 0b11111..31 + */ +#define PDM_VAD0_NCONFIG_VADNFILADJ(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNFILADJ_SHIFT)) & PDM_VAD0_NCONFIG_VADNFILADJ_MASK) + +#define PDM_VAD0_NCONFIG_VADNOREN_MASK (0x10000000U) +#define PDM_VAD0_NCONFIG_VADNOREN_SHIFT (28U) +/*! VADNOREN - Noise OR Enable + * 0b0..Not decimated + * 0b1..Decimated + */ +#define PDM_VAD0_NCONFIG_VADNOREN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNOREN_SHIFT)) & PDM_VAD0_NCONFIG_VADNOREN_MASK) + +#define PDM_VAD0_NCONFIG_VADNDECEN_MASK (0x20000000U) +#define PDM_VAD0_NCONFIG_VADNDECEN_SHIFT (29U) +/*! VADNDECEN - Noise Decimation Enable + * 0b0..Not decimated + * 0b1..Decimated + */ +#define PDM_VAD0_NCONFIG_VADNDECEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNDECEN_SHIFT)) & PDM_VAD0_NCONFIG_VADNDECEN_MASK) + +#define PDM_VAD0_NCONFIG_VADNMINEN_MASK (0x40000000U) +#define PDM_VAD0_NCONFIG_VADNMINEN_SHIFT (30U) +/*! VADNMINEN - Noise Minimum Enable + * 0b0..Minimum block bypassed + * 0b1..Minimum block enabled + */ +#define PDM_VAD0_NCONFIG_VADNMINEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNMINEN_SHIFT)) & PDM_VAD0_NCONFIG_VADNMINEN_MASK) + +#define PDM_VAD0_NCONFIG_VADNFILAUTO_MASK (0x80000000U) +#define PDM_VAD0_NCONFIG_VADNFILAUTO_SHIFT (31U) +/*! VADNFILAUTO - Noise Filter Auto + * 0b0..Always enabled + * 0b1..Enabled or disabled based on voice activity information + */ +#define PDM_VAD0_NCONFIG_VADNFILAUTO(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNFILAUTO_SHIFT)) & PDM_VAD0_NCONFIG_VADNFILAUTO_MASK) +/*! @} */ + +/*! @name VAD0_NDATA - Voice Activity Detector 0 Noise Data */ +/*! @{ */ + +#define PDM_VAD0_NDATA_VADNDATA_MASK (0xFFFFU) +#define PDM_VAD0_NDATA_VADNDATA_SHIFT (0U) +/*! VADNDATA - Noise Data */ +#define PDM_VAD0_NDATA_VADNDATA(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NDATA_VADNDATA_SHIFT)) & PDM_VAD0_NDATA_VADNDATA_MASK) +/*! @} */ + +/*! @name VAD0_ZCD - Voice Activity Detector 0 Zero-Crossing Detector */ +/*! @{ */ + +#define PDM_VAD0_ZCD_VADZCDEN_MASK (0x1U) +#define PDM_VAD0_ZCD_VADZCDEN_SHIFT (0U) +/*! VADZCDEN - ZCD Enable + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_VAD0_ZCD_VADZCDEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDEN_SHIFT)) & PDM_VAD0_ZCD_VADZCDEN_MASK) + +#define PDM_VAD0_ZCD_VADZCDAUTO_MASK (0x4U) +#define PDM_VAD0_ZCD_VADZCDAUTO_SHIFT (2U) +/*! VADZCDAUTO - ZCD Automatic Threshold + * 0b0..Disables + * 0b1..Enables + */ +#define PDM_VAD0_ZCD_VADZCDAUTO(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDAUTO_SHIFT)) & PDM_VAD0_ZCD_VADZCDAUTO_MASK) + +#define PDM_VAD0_ZCD_VADZCDAND_MASK (0x10U) +#define PDM_VAD0_ZCD_VADZCDAND_SHIFT (4U) +/*! VADZCDAND - ZCD AND Behavior + * 0b0..OR + * 0b1..AND + */ +#define PDM_VAD0_ZCD_VADZCDAND(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDAND_SHIFT)) & PDM_VAD0_ZCD_VADZCDAND_MASK) + +#define PDM_VAD0_ZCD_VADZCDADJ_MASK (0xF00U) +#define PDM_VAD0_ZCD_VADZCDADJ_SHIFT (8U) +/*! VADZCDADJ - ZCD Adjustment + * 0b0000..0 + * 0b0001..1 + * 0b0010-0b1110..... + * 0b1111..15 + */ +#define PDM_VAD0_ZCD_VADZCDADJ(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDADJ_SHIFT)) & PDM_VAD0_ZCD_VADZCDADJ_MASK) + +#define PDM_VAD0_ZCD_VADZCDTH_MASK (0x3FF0000U) +#define PDM_VAD0_ZCD_VADZCDTH_SHIFT (16U) +/*! VADZCDTH - ZCD Threshold */ +#define PDM_VAD0_ZCD_VADZCDTH(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDTH_SHIFT)) & PDM_VAD0_ZCD_VADZCDTH_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group PDM_Register_Masks */ + + +/* PDM - Peripheral instance base addresses */ +/** Peripheral PDM base address */ +#define PDM_BASE (0x44520000u) +/** Peripheral PDM base pointer */ +#define PDM ((PDM_Type *)PDM_BASE) +/** Array initializer of PDM peripheral base addresses */ +#define PDM_BASE_ADDRS { PDM_BASE } +/** Array initializer of PDM peripheral base pointers */ +#define PDM_BASE_PTRS { PDM } + +/*! + * @} + */ /* end of group PDM_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- PLL Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup PLL_Peripheral_Access_Layer PLL Peripheral Access Layer + * @{ + */ + +/** PLL - Register Layout Typedef */ +typedef struct { + struct { /* offset: 0x0 */ + __IO uint32_t RW; /**< PLL Control, offset: 0x0 */ + __IO uint32_t SET; /**< PLL Control, offset: 0x4 */ + __IO uint32_t CLR; /**< PLL Control, offset: 0x8 */ + __IO uint32_t TOG; /**< PLL Control, offset: 0xC */ + } CTRL; + uint8_t RESERVED_0[32]; + struct { /* offset: 0x30 */ + __IO uint32_t RW; /**< Spread Spectrum, offset: 0x30, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t SET; /**< Spread Spectrum, offset: 0x34, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t CLR; /**< Spread Spectrum, offset: 0x38, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t TOG; /**< Spread Spectrum, offset: 0x3C, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + } SPREAD_SPECTRUM; + struct { /* offset: 0x40 */ + __IO uint32_t RW; /**< Numerator, offset: 0x40, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t SET; /**< Numerator, offset: 0x44, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t CLR; /**< Numerator, offset: 0x48, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t TOG; /**< Numerator, offset: 0x4C, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + } NUMERATOR; + struct { /* offset: 0x50 */ + __IO uint32_t RW; /**< Denominator, offset: 0x50, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t SET; /**< Denominator, offset: 0x54, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t CLR; /**< Denominator, offset: 0x58, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + __IO uint32_t TOG; /**< Denominator, offset: 0x5C, available only on: AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL (missing on ARMPLL) */ + } DENOMINATOR; + struct { /* offset: 0x60 */ + __IO uint32_t RW; /**< PLL Dividers, offset: 0x60 */ + __IO uint32_t SET; /**< PLL Dividers, offset: 0x64 */ + __IO uint32_t CLR; /**< PLL Dividers, offset: 0x68 */ + __IO uint32_t TOG; /**< PLL Dividers, offset: 0x6C */ + } DIV; + struct { /* offset: 0x70, array step: 0x20 */ + struct { /* offset: 0x70 */ + __IO uint32_t RW; /**< DFS Control, offset: 0x70, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ + __IO uint32_t SET; /**< DFS Control, offset: 0x74, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ + __IO uint32_t CLR; /**< DFS Control, offset: 0x78, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ + __IO uint32_t TOG; /**< DFS Control, offset: 0x7C, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ + } DFS_CTRL; + struct { /* offset: 0x80 */ + __IO uint32_t RW; /**< DFS Division_N, offset: 0x80, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ + __IO uint32_t SET; /**< DFS Division_N, offset: 0x84, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ + __IO uint32_t CLR; /**< DFS Division_N, offset: 0x88, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ + __IO uint32_t TOG; /**< DFS Division_N, offset: 0x8C, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ + } DFS_DIV; + } DFS[3]; + uint8_t RESERVED_1[32]; + __I uint32_t PLL_STATUS; /**< PLL Status, offset: 0xF0 */ + __I uint32_t DFS_STATUS; /**< DFS Status, offset: 0xF4, available only on: SYSPLL (missing on ARMPLL, AUDIOPLL, DRAMPLL, VIDEOPLL) */ +} PLL_Type; + +/* ---------------------------------------------------------------------------- + -- PLL Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup PLL_Register_Masks PLL Register Masks + * @{ + */ + +/*! @name CTRL - PLL Control */ +/*! @{ */ + +#define PLL_CTRL_POWERUP_MASK (0x1U) +#define PLL_CTRL_POWERUP_SHIFT (0U) +/*! POWERUP - Power Up + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_CTRL_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << PLL_CTRL_POWERUP_SHIFT)) & PLL_CTRL_POWERUP_MASK) + +#define PLL_CTRL_CLKMUX_EN_MASK (0x2U) +#define PLL_CTRL_CLKMUX_EN_SHIFT (1U) +/*! CLKMUX_EN - CLKMUX Enable + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_CTRL_CLKMUX_EN(x) (((uint32_t)(((uint32_t)(x)) << PLL_CTRL_CLKMUX_EN_SHIFT)) & PLL_CTRL_CLKMUX_EN_MASK) + +#define PLL_CTRL_CLKMUX_BYPASS_MASK (0x4U) +#define PLL_CTRL_CLKMUX_BYPASS_SHIFT (2U) +/*! CLKMUX_BYPASS - CLKMUX_Bypass + * 0b0..Normal mode + * 0b1..PLL Bypass mode + */ +#define PLL_CTRL_CLKMUX_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << PLL_CTRL_CLKMUX_BYPASS_SHIFT)) & PLL_CTRL_CLKMUX_BYPASS_MASK) + +#define PLL_CTRL_SPREADCTL_MASK (0x100U) +#define PLL_CTRL_SPREADCTL_SHIFT (8U) +/*! SPREADCTL - Modulation Type Select + * 0b0..Centered around nominal frequency + * 0b1..Spread below nominal frequency + */ +#define PLL_CTRL_SPREADCTL(x) (((uint32_t)(((uint32_t)(x)) << PLL_CTRL_SPREADCTL_SHIFT)) & PLL_CTRL_SPREADCTL_MASK) + +#define PLL_CTRL_HW_CTRL_SEL_MASK (0x10000U) +#define PLL_CTRL_HW_CTRL_SEL_SHIFT (16U) +/*! HW_CTRL_SEL - Hardware Control Select + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_CTRL_HW_CTRL_SEL(x) (((uint32_t)(((uint32_t)(x)) << PLL_CTRL_HW_CTRL_SEL_SHIFT)) & PLL_CTRL_HW_CTRL_SEL_MASK) + +#define PLL_CTRL_LOCK_BYPASS_MASK (0x80000000U) +#define PLL_CTRL_LOCK_BYPASS_SHIFT (31U) +/*! LOCK_BYPASS - Lock Bypass + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_CTRL_LOCK_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << PLL_CTRL_LOCK_BYPASS_SHIFT)) & PLL_CTRL_LOCK_BYPASS_MASK) +/*! @} */ + +/*! @name SPREAD_SPECTRUM - Spread Spectrum */ +/*! @{ */ + +#define PLL_SPREAD_SPECTRUM_STEP_MASK (0x7FFFU) +#define PLL_SPREAD_SPECTRUM_STEP_SHIFT (0U) +/*! STEP - Step */ +#define PLL_SPREAD_SPECTRUM_STEP(x) (((uint32_t)(((uint32_t)(x)) << PLL_SPREAD_SPECTRUM_STEP_SHIFT)) & PLL_SPREAD_SPECTRUM_STEP_MASK) + +#define PLL_SPREAD_SPECTRUM_ENABLE_MASK (0x8000U) +#define PLL_SPREAD_SPECTRUM_ENABLE_SHIFT (15U) +/*! ENABLE - Enable + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_SPREAD_SPECTRUM_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PLL_SPREAD_SPECTRUM_ENABLE_SHIFT)) & PLL_SPREAD_SPECTRUM_ENABLE_MASK) + +#define PLL_SPREAD_SPECTRUM_STOP_MASK (0xFFFF0000U) +#define PLL_SPREAD_SPECTRUM_STOP_SHIFT (16U) +/*! STOP - Stop */ +#define PLL_SPREAD_SPECTRUM_STOP(x) (((uint32_t)(((uint32_t)(x)) << PLL_SPREAD_SPECTRUM_STOP_SHIFT)) & PLL_SPREAD_SPECTRUM_STOP_MASK) +/*! @} */ + +/*! @name NUMERATOR - Numerator */ +/*! @{ */ + +#define PLL_NUMERATOR_MFN_MASK (0xFFFFFFFCU) +#define PLL_NUMERATOR_MFN_SHIFT (2U) +/*! MFN - Numerator */ +#define PLL_NUMERATOR_MFN(x) (((uint32_t)(((uint32_t)(x)) << PLL_NUMERATOR_MFN_SHIFT)) & PLL_NUMERATOR_MFN_MASK) +/*! @} */ + +/*! @name DENOMINATOR - Denominator */ +/*! @{ */ + +#define PLL_DENOMINATOR_MFD_MASK (0x3FFFFFFFU) +#define PLL_DENOMINATOR_MFD_SHIFT (0U) +/*! MFD - Denominator */ +#define PLL_DENOMINATOR_MFD(x) (((uint32_t)(((uint32_t)(x)) << PLL_DENOMINATOR_MFD_SHIFT)) & PLL_DENOMINATOR_MFD_MASK) +/*! @} */ + +/*! @name DIV - PLL Dividers */ +/*! @{ */ + +#define PLL_DIV_ODIV_MASK (0xFFU) +#define PLL_DIV_ODIV_SHIFT (0U) +/*! ODIV - Output Frequency Divider for Clock Output + * 0b00000000..Divide by 2 + * 0b00000001..Divide by 3 + * 0b00000010..Divide by 2 + * 0b00000011..Divide by 3 + * 0b00000100..Divide by 4 + * 0b00000101..Divide by 5 + * 0b00000110..Divide by 6 + * 0b00001010..Divide by 10 + * 0b10000010..Divide by 130 + * 0b11111111..Divide by 255 + */ +#define PLL_DIV_ODIV(x) (((uint32_t)(((uint32_t)(x)) << PLL_DIV_ODIV_SHIFT)) & PLL_DIV_ODIV_MASK) + +#define PLL_DIV_RDIV_MASK (0xE000U) +#define PLL_DIV_RDIV_SHIFT (13U) +/*! RDIV - Input Clock Predivider + * 0b000..Divide by 1 + * 0b001..Divide by 1 + * 0b010..Divide by 2 + * 0b011..Divide by 3 + * 0b100..Divide by 4 + * 0b101..Divide by 5 + * 0b110..Divide by 6 + * 0b111..Divide by 7 + */ +#define PLL_DIV_RDIV(x) (((uint32_t)(((uint32_t)(x)) << PLL_DIV_RDIV_SHIFT)) & PLL_DIV_RDIV_MASK) + +#define PLL_DIV_MFI_MASK (0x1FF0000U) +#define PLL_DIV_MFI_SHIFT (16U) +/*! MFI - Integer Portion of Loop Divider */ +#define PLL_DIV_MFI(x) (((uint32_t)(((uint32_t)(x)) << PLL_DIV_MFI_SHIFT)) & PLL_DIV_MFI_MASK) +/*! @} */ + +/*! @name DFS - DFS Control */ +/*! @{ */ + +#define PLL_DFS_HW_CTRL_SEL_MASK (0x10000U) +#define PLL_DFS_HW_CTRL_SEL_SHIFT (16U) +/*! HW_CTRL_SEL - Hardware Control Select + * 0b0..Controlled by register + * 0b1..Controlled by hardware inputs + */ +#define PLL_DFS_HW_CTRL_SEL(x) (((uint32_t)(((uint32_t)(x)) << PLL_DFS_HW_CTRL_SEL_SHIFT)) & PLL_DFS_HW_CTRL_SEL_MASK) + +#define PLL_DFS_BYPASS_EN_MASK (0x800000U) +#define PLL_DFS_BYPASS_EN_SHIFT (23U) +/*! BYPASS_EN - Bypass Enable + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_DFS_BYPASS_EN(x) (((uint32_t)(((uint32_t)(x)) << PLL_DFS_BYPASS_EN_SHIFT)) & PLL_DFS_BYPASS_EN_MASK) + +#define PLL_DFS_CLKOUT_DIVBY2_EN_MASK (0x20000000U) +#define PLL_DFS_CLKOUT_DIVBY2_EN_SHIFT (29U) +/*! CLKOUT_DIVBY2_EN - DFS Clock Output Divide by 2 Enable + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_DFS_CLKOUT_DIVBY2_EN(x) (((uint32_t)(((uint32_t)(x)) << PLL_DFS_CLKOUT_DIVBY2_EN_SHIFT)) & PLL_DFS_CLKOUT_DIVBY2_EN_MASK) + +#define PLL_DFS_CLKOUT_EN_MASK (0x40000000U) +#define PLL_DFS_CLKOUT_EN_SHIFT (30U) +/*! CLKOUT_EN - DFS Clock Output Enable + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_DFS_CLKOUT_EN(x) (((uint32_t)(((uint32_t)(x)) << PLL_DFS_CLKOUT_EN_SHIFT)) & PLL_DFS_CLKOUT_EN_MASK) + +#define PLL_DFS_ENABLE_MASK (0x80000000U) +#define PLL_DFS_ENABLE_SHIFT (31U) +/*! ENABLE - DFS Block Enable + * 0b0..Disable + * 0b1..Enable + */ +#define PLL_DFS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PLL_DFS_ENABLE_SHIFT)) & PLL_DFS_ENABLE_MASK) +/*! @} */ + +/*! @name DFS - DFS Division_N */ +/*! @{ */ + +#define PLL_DFS_MFN_MASK (0x7U) +#define PLL_DFS_MFN_SHIFT (0U) +/*! MFN - MFN */ +#define PLL_DFS_MFN(x) (((uint32_t)(((uint32_t)(x)) << PLL_DFS_MFN_SHIFT)) & PLL_DFS_MFN_MASK) + +#define PLL_DFS_MFI_MASK (0xFF00U) +#define PLL_DFS_MFI_SHIFT (8U) +/*! MFI - MFI */ +#define PLL_DFS_MFI(x) (((uint32_t)(((uint32_t)(x)) << PLL_DFS_MFI_SHIFT)) & PLL_DFS_MFI_MASK) +/*! @} */ + +/*! @name PLL_STATUS - PLL Status */ +/*! @{ */ + +#define PLL_PLL_STATUS_PLL_LOCK_MASK (0x1U) +#define PLL_PLL_STATUS_PLL_LOCK_SHIFT (0U) +/*! PLL_LOCK - PLL_LOCK */ +#define PLL_PLL_STATUS_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << PLL_PLL_STATUS_PLL_LOCK_SHIFT)) & PLL_PLL_STATUS_PLL_LOCK_MASK) + +#define PLL_PLL_STATUS_PLL_LOL_MASK (0x2U) +#define PLL_PLL_STATUS_PLL_LOL_SHIFT (1U) +/*! PLL_LOL - PLL_LOL */ +#define PLL_PLL_STATUS_PLL_LOL(x) (((uint32_t)(((uint32_t)(x)) << PLL_PLL_STATUS_PLL_LOL_SHIFT)) & PLL_PLL_STATUS_PLL_LOL_MASK) + +#define PLL_PLL_STATUS_ANA_MFN_MASK (0xFFFFFFFCU) +#define PLL_PLL_STATUS_ANA_MFN_SHIFT (2U) +/*! ANA_MFN - ANA_MFN */ +#define PLL_PLL_STATUS_ANA_MFN(x) (((uint32_t)(((uint32_t)(x)) << PLL_PLL_STATUS_ANA_MFN_SHIFT)) & PLL_PLL_STATUS_ANA_MFN_MASK) +/*! @} */ + +/*! @name DFS_STATUS - DFS Status */ +/*! @{ */ + +#define PLL_DFS_STATUS_DFS_OK_MASK (0x7U) +#define PLL_DFS_STATUS_DFS_OK_SHIFT (0U) +/*! DFS_OK - DFS OK + * 0b000..Invalid + * 0b001..Valid + */ +#define PLL_DFS_STATUS_DFS_OK(x) (((uint32_t)(((uint32_t)(x)) << PLL_DFS_STATUS_DFS_OK_SHIFT)) & PLL_DFS_STATUS_DFS_OK_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group PLL_Register_Masks */ + + +/* PLL - Peripheral instance base addresses */ +/** Peripheral ARMPLL base address */ +#define ARMPLL_BASE (0x44481000u) +/** Peripheral ARMPLL base pointer */ +#define ARMPLL ((PLL_Type *)ARMPLL_BASE) +/** Peripheral AUDIOPLL base address */ +#define AUDIOPLL_BASE (0x44481200u) +/** Peripheral AUDIOPLL base pointer */ +#define AUDIOPLL ((PLL_Type *)AUDIOPLL_BASE) +/** Peripheral DRAMPLL base address */ +#define DRAMPLL_BASE (0x44481300u) +/** Peripheral DRAMPLL base pointer */ +#define DRAMPLL ((PLL_Type *)DRAMPLL_BASE) +/** Peripheral SYSPLL base address */ +#define SYSPLL_BASE (0x44481100u) +/** Peripheral SYSPLL base pointer */ +#define SYSPLL ((PLL_Type *)SYSPLL_BASE) +/** Peripheral VIDEOPLL base address */ +#define VIDEOPLL_BASE (0x44481400u) +/** Peripheral VIDEOPLL base pointer */ +#define VIDEOPLL ((PLL_Type *)VIDEOPLL_BASE) +/** Array initializer of PLL peripheral base addresses */ +#define PLL_BASE_ADDRS { ARMPLL_BASE, AUDIOPLL_BASE, DRAMPLL_BASE, SYSPLL_BASE, VIDEOPLL_BASE } +/** Array initializer of PLL peripheral base pointers */ +#define PLL_BASE_PTRS { ARMPLL, AUDIOPLL, DRAMPLL, SYSPLL, VIDEOPLL } + +/*! + * @} + */ /* end of group PLL_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- RGPIO Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup RGPIO_Peripheral_Access_Layer RGPIO Peripheral Access Layer + * @{ + */ + +/** RGPIO - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< Version ID, offset: 0x0 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x4 */ + uint8_t RESERVED_0[4]; + __IO uint32_t LOCK; /**< Lock, offset: 0xC */ + __IO uint32_t PCNS; /**< Pin Control Nonsecure, offset: 0x10 */ + __IO uint32_t ICNS; /**< Interrupt Control Nonsecure, offset: 0x14 */ + __IO uint32_t PCNP; /**< Pin Control Nonprivilege, offset: 0x18 */ + __IO uint32_t ICNP; /**< Interrupt Control Nonprivilege, offset: 0x1C */ + uint8_t RESERVED_1[32]; + __IO uint32_t PDOR; /**< Port Data Output, offset: 0x40 */ + __IO uint32_t PSOR; /**< Port Set Output, offset: 0x44 */ + __IO uint32_t PCOR; /**< Port Clear Output, offset: 0x48 */ + __IO uint32_t PTOR; /**< Port Toggle Output, offset: 0x4C */ + __I uint32_t PDIR; /**< Port Data Input, offset: 0x50 */ + __IO uint32_t PDDR; /**< Port Data Direction, offset: 0x54 */ + __IO uint32_t PIDR; /**< Port Input Disable, offset: 0x58 */ + uint8_t RESERVED_2[4]; + __IO uint8_t PDR[32]; /**< Pin Data, array offset: 0x60, array step: 0x1 */ + __IO uint32_t ICR[32]; /**< Interrupt Control 0..Interrupt Control 31, array offset: 0x80, array step: 0x4 */ + __IO uint32_t GICLR; /**< Global Interrupt Control Low, offset: 0x100 */ + __IO uint32_t GICHR; /**< Global Interrupt Control High, offset: 0x104 */ + uint8_t RESERVED_3[24]; + __IO uint32_t ISFR[2]; /**< Interrupt Status Flag, array offset: 0x120, array step: 0x4 */ +} RGPIO_Type; + +/* ---------------------------------------------------------------------------- + -- RGPIO Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup RGPIO_Register_Masks RGPIO Register Masks + * @{ + */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define RGPIO_VERID_FEATURE_MASK (0xFFFFU) +#define RGPIO_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Specification Number + * 0b0000000000000000..Basic implementation + * 0b0000000000000001..Protection registers implemented + */ +#define RGPIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_VERID_FEATURE_SHIFT)) & RGPIO_VERID_FEATURE_MASK) + +#define RGPIO_VERID_MINOR_MASK (0xFF0000U) +#define RGPIO_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define RGPIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_VERID_MINOR_SHIFT)) & RGPIO_VERID_MINOR_MASK) + +#define RGPIO_VERID_MAJOR_MASK (0xFF000000U) +#define RGPIO_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define RGPIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_VERID_MAJOR_SHIFT)) & RGPIO_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define RGPIO_PARAM_IRQNUM_MASK (0xFU) +#define RGPIO_PARAM_IRQNUM_SHIFT (0U) +/*! IRQNUM - Interrupt Number */ +#define RGPIO_PARAM_IRQNUM(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PARAM_IRQNUM_SHIFT)) & RGPIO_PARAM_IRQNUM_MASK) +/*! @} */ + +/*! @name LOCK - Lock */ +/*! @{ */ + +#define RGPIO_LOCK_PCNS_MASK (0x1U) +#define RGPIO_LOCK_PCNS_SHIFT (0U) +/*! PCNS - Lock PCNS + * 0b0..Writable in Secure-Privilege state + * 0b1..Not writable until the next reset + */ +#define RGPIO_LOCK_PCNS(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_LOCK_PCNS_SHIFT)) & RGPIO_LOCK_PCNS_MASK) + +#define RGPIO_LOCK_ICNS_MASK (0x2U) +#define RGPIO_LOCK_ICNS_SHIFT (1U) +/*! ICNS - Lock ICNS + * 0b0..Writable in Secure-Privilege state + * 0b1..Not writable until the next reset + */ +#define RGPIO_LOCK_ICNS(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_LOCK_ICNS_SHIFT)) & RGPIO_LOCK_ICNS_MASK) + +#define RGPIO_LOCK_PCNP_MASK (0x4U) +#define RGPIO_LOCK_PCNP_SHIFT (2U) +/*! PCNP - Lock PCNP + * 0b0..Writable in Secure-Privilege state + * 0b1..Not writable until the next reset + */ +#define RGPIO_LOCK_PCNP(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_LOCK_PCNP_SHIFT)) & RGPIO_LOCK_PCNP_MASK) + +#define RGPIO_LOCK_ICNP_MASK (0x8U) +#define RGPIO_LOCK_ICNP_SHIFT (3U) +/*! ICNP - Lock ICNP + * 0b0..Writable in Secure-Privilege state + * 0b1..Not writable until the next reset + */ +#define RGPIO_LOCK_ICNP(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_LOCK_ICNP_SHIFT)) & RGPIO_LOCK_ICNP_MASK) +/*! @} */ + +/*! @name PCNS - Pin Control Nonsecure */ +/*! @{ */ + +#define RGPIO_PCNS_NSE0_MASK (0x1U) +#define RGPIO_PCNS_NSE0_SHIFT (0U) +/*! NSE0 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE0_SHIFT)) & RGPIO_PCNS_NSE0_MASK) + +#define RGPIO_PCNS_NSE1_MASK (0x2U) +#define RGPIO_PCNS_NSE1_SHIFT (1U) +/*! NSE1 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE1_SHIFT)) & RGPIO_PCNS_NSE1_MASK) + +#define RGPIO_PCNS_NSE2_MASK (0x4U) +#define RGPIO_PCNS_NSE2_SHIFT (2U) +/*! NSE2 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE2_SHIFT)) & RGPIO_PCNS_NSE2_MASK) + +#define RGPIO_PCNS_NSE3_MASK (0x8U) +#define RGPIO_PCNS_NSE3_SHIFT (3U) +/*! NSE3 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE3_SHIFT)) & RGPIO_PCNS_NSE3_MASK) + +#define RGPIO_PCNS_NSE4_MASK (0x10U) +#define RGPIO_PCNS_NSE4_SHIFT (4U) +/*! NSE4 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE4_SHIFT)) & RGPIO_PCNS_NSE4_MASK) + +#define RGPIO_PCNS_NSE5_MASK (0x20U) +#define RGPIO_PCNS_NSE5_SHIFT (5U) +/*! NSE5 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE5_SHIFT)) & RGPIO_PCNS_NSE5_MASK) + +#define RGPIO_PCNS_NSE6_MASK (0x40U) +#define RGPIO_PCNS_NSE6_SHIFT (6U) +/*! NSE6 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE6_SHIFT)) & RGPIO_PCNS_NSE6_MASK) + +#define RGPIO_PCNS_NSE7_MASK (0x80U) +#define RGPIO_PCNS_NSE7_SHIFT (7U) +/*! NSE7 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE7_SHIFT)) & RGPIO_PCNS_NSE7_MASK) + +#define RGPIO_PCNS_NSE8_MASK (0x100U) +#define RGPIO_PCNS_NSE8_SHIFT (8U) +/*! NSE8 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE8_SHIFT)) & RGPIO_PCNS_NSE8_MASK) + +#define RGPIO_PCNS_NSE9_MASK (0x200U) +#define RGPIO_PCNS_NSE9_SHIFT (9U) +/*! NSE9 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE9_SHIFT)) & RGPIO_PCNS_NSE9_MASK) + +#define RGPIO_PCNS_NSE10_MASK (0x400U) +#define RGPIO_PCNS_NSE10_SHIFT (10U) +/*! NSE10 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE10_SHIFT)) & RGPIO_PCNS_NSE10_MASK) + +#define RGPIO_PCNS_NSE11_MASK (0x800U) +#define RGPIO_PCNS_NSE11_SHIFT (11U) +/*! NSE11 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE11_SHIFT)) & RGPIO_PCNS_NSE11_MASK) + +#define RGPIO_PCNS_NSE12_MASK (0x1000U) +#define RGPIO_PCNS_NSE12_SHIFT (12U) +/*! NSE12 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE12_SHIFT)) & RGPIO_PCNS_NSE12_MASK) + +#define RGPIO_PCNS_NSE13_MASK (0x2000U) +#define RGPIO_PCNS_NSE13_SHIFT (13U) +/*! NSE13 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE13_SHIFT)) & RGPIO_PCNS_NSE13_MASK) + +#define RGPIO_PCNS_NSE14_MASK (0x4000U) +#define RGPIO_PCNS_NSE14_SHIFT (14U) +/*! NSE14 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE14_SHIFT)) & RGPIO_PCNS_NSE14_MASK) + +#define RGPIO_PCNS_NSE15_MASK (0x8000U) +#define RGPIO_PCNS_NSE15_SHIFT (15U) +/*! NSE15 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE15_SHIFT)) & RGPIO_PCNS_NSE15_MASK) + +#define RGPIO_PCNS_NSE16_MASK (0x10000U) +#define RGPIO_PCNS_NSE16_SHIFT (16U) +/*! NSE16 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE16_SHIFT)) & RGPIO_PCNS_NSE16_MASK) + +#define RGPIO_PCNS_NSE17_MASK (0x20000U) +#define RGPIO_PCNS_NSE17_SHIFT (17U) +/*! NSE17 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE17_SHIFT)) & RGPIO_PCNS_NSE17_MASK) + +#define RGPIO_PCNS_NSE18_MASK (0x40000U) +#define RGPIO_PCNS_NSE18_SHIFT (18U) +/*! NSE18 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE18_SHIFT)) & RGPIO_PCNS_NSE18_MASK) + +#define RGPIO_PCNS_NSE19_MASK (0x80000U) +#define RGPIO_PCNS_NSE19_SHIFT (19U) +/*! NSE19 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE19_SHIFT)) & RGPIO_PCNS_NSE19_MASK) + +#define RGPIO_PCNS_NSE20_MASK (0x100000U) +#define RGPIO_PCNS_NSE20_SHIFT (20U) +/*! NSE20 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE20_SHIFT)) & RGPIO_PCNS_NSE20_MASK) + +#define RGPIO_PCNS_NSE21_MASK (0x200000U) +#define RGPIO_PCNS_NSE21_SHIFT (21U) +/*! NSE21 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE21_SHIFT)) & RGPIO_PCNS_NSE21_MASK) + +#define RGPIO_PCNS_NSE22_MASK (0x400000U) +#define RGPIO_PCNS_NSE22_SHIFT (22U) +/*! NSE22 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE22_SHIFT)) & RGPIO_PCNS_NSE22_MASK) + +#define RGPIO_PCNS_NSE23_MASK (0x800000U) +#define RGPIO_PCNS_NSE23_SHIFT (23U) +/*! NSE23 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE23_SHIFT)) & RGPIO_PCNS_NSE23_MASK) + +#define RGPIO_PCNS_NSE24_MASK (0x1000000U) +#define RGPIO_PCNS_NSE24_SHIFT (24U) +/*! NSE24 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE24_SHIFT)) & RGPIO_PCNS_NSE24_MASK) + +#define RGPIO_PCNS_NSE25_MASK (0x2000000U) +#define RGPIO_PCNS_NSE25_SHIFT (25U) +/*! NSE25 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE25_SHIFT)) & RGPIO_PCNS_NSE25_MASK) + +#define RGPIO_PCNS_NSE26_MASK (0x4000000U) +#define RGPIO_PCNS_NSE26_SHIFT (26U) +/*! NSE26 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE26_SHIFT)) & RGPIO_PCNS_NSE26_MASK) + +#define RGPIO_PCNS_NSE27_MASK (0x8000000U) +#define RGPIO_PCNS_NSE27_SHIFT (27U) +/*! NSE27 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE27_SHIFT)) & RGPIO_PCNS_NSE27_MASK) + +#define RGPIO_PCNS_NSE28_MASK (0x10000000U) +#define RGPIO_PCNS_NSE28_SHIFT (28U) +/*! NSE28 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE28_SHIFT)) & RGPIO_PCNS_NSE28_MASK) + +#define RGPIO_PCNS_NSE29_MASK (0x20000000U) +#define RGPIO_PCNS_NSE29_SHIFT (29U) +/*! NSE29 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE29_SHIFT)) & RGPIO_PCNS_NSE29_MASK) + +#define RGPIO_PCNS_NSE30_MASK (0x40000000U) +#define RGPIO_PCNS_NSE30_SHIFT (30U) +/*! NSE30 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE30_SHIFT)) & RGPIO_PCNS_NSE30_MASK) + +#define RGPIO_PCNS_NSE31_MASK (0x80000000U) +#define RGPIO_PCNS_NSE31_SHIFT (31U) +/*! NSE31 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_PCNS_NSE31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNS_NSE31_SHIFT)) & RGPIO_PCNS_NSE31_MASK) +/*! @} */ + +/*! @name ICNS - Interrupt Control Nonsecure */ +/*! @{ */ + +#define RGPIO_ICNS_NSE0_MASK (0x1U) +#define RGPIO_ICNS_NSE0_SHIFT (0U) +/*! NSE0 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_ICNS_NSE0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ICNS_NSE0_SHIFT)) & RGPIO_ICNS_NSE0_MASK) + +#define RGPIO_ICNS_NSE1_MASK (0x2U) +#define RGPIO_ICNS_NSE1_SHIFT (1U) +/*! NSE1 - Nonsecure Enable + * 0b0..Secure access + * 0b1..Nonsecure access + */ +#define RGPIO_ICNS_NSE1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ICNS_NSE1_SHIFT)) & RGPIO_ICNS_NSE1_MASK) +/*! @} */ + +/*! @name PCNP - Pin Control Nonprivilege */ +/*! @{ */ + +#define RGPIO_PCNP_NPE0_MASK (0x1U) +#define RGPIO_PCNP_NPE0_SHIFT (0U) +/*! NPE0 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE0_SHIFT)) & RGPIO_PCNP_NPE0_MASK) + +#define RGPIO_PCNP_NPE1_MASK (0x2U) +#define RGPIO_PCNP_NPE1_SHIFT (1U) +/*! NPE1 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE1_SHIFT)) & RGPIO_PCNP_NPE1_MASK) + +#define RGPIO_PCNP_NPE2_MASK (0x4U) +#define RGPIO_PCNP_NPE2_SHIFT (2U) +/*! NPE2 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE2_SHIFT)) & RGPIO_PCNP_NPE2_MASK) + +#define RGPIO_PCNP_NPE3_MASK (0x8U) +#define RGPIO_PCNP_NPE3_SHIFT (3U) +/*! NPE3 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE3_SHIFT)) & RGPIO_PCNP_NPE3_MASK) + +#define RGPIO_PCNP_NPE4_MASK (0x10U) +#define RGPIO_PCNP_NPE4_SHIFT (4U) +/*! NPE4 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE4_SHIFT)) & RGPIO_PCNP_NPE4_MASK) + +#define RGPIO_PCNP_NPE5_MASK (0x20U) +#define RGPIO_PCNP_NPE5_SHIFT (5U) +/*! NPE5 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE5_SHIFT)) & RGPIO_PCNP_NPE5_MASK) + +#define RGPIO_PCNP_NPE6_MASK (0x40U) +#define RGPIO_PCNP_NPE6_SHIFT (6U) +/*! NPE6 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE6_SHIFT)) & RGPIO_PCNP_NPE6_MASK) + +#define RGPIO_PCNP_NPE7_MASK (0x80U) +#define RGPIO_PCNP_NPE7_SHIFT (7U) +/*! NPE7 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE7_SHIFT)) & RGPIO_PCNP_NPE7_MASK) + +#define RGPIO_PCNP_NPE8_MASK (0x100U) +#define RGPIO_PCNP_NPE8_SHIFT (8U) +/*! NPE8 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE8_SHIFT)) & RGPIO_PCNP_NPE8_MASK) + +#define RGPIO_PCNP_NPE9_MASK (0x200U) +#define RGPIO_PCNP_NPE9_SHIFT (9U) +/*! NPE9 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE9_SHIFT)) & RGPIO_PCNP_NPE9_MASK) + +#define RGPIO_PCNP_NPE10_MASK (0x400U) +#define RGPIO_PCNP_NPE10_SHIFT (10U) +/*! NPE10 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE10_SHIFT)) & RGPIO_PCNP_NPE10_MASK) + +#define RGPIO_PCNP_NPE11_MASK (0x800U) +#define RGPIO_PCNP_NPE11_SHIFT (11U) +/*! NPE11 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE11_SHIFT)) & RGPIO_PCNP_NPE11_MASK) + +#define RGPIO_PCNP_NPE12_MASK (0x1000U) +#define RGPIO_PCNP_NPE12_SHIFT (12U) +/*! NPE12 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE12_SHIFT)) & RGPIO_PCNP_NPE12_MASK) + +#define RGPIO_PCNP_NPE13_MASK (0x2000U) +#define RGPIO_PCNP_NPE13_SHIFT (13U) +/*! NPE13 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE13_SHIFT)) & RGPIO_PCNP_NPE13_MASK) + +#define RGPIO_PCNP_NPE14_MASK (0x4000U) +#define RGPIO_PCNP_NPE14_SHIFT (14U) +/*! NPE14 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE14_SHIFT)) & RGPIO_PCNP_NPE14_MASK) + +#define RGPIO_PCNP_NPE15_MASK (0x8000U) +#define RGPIO_PCNP_NPE15_SHIFT (15U) +/*! NPE15 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE15_SHIFT)) & RGPIO_PCNP_NPE15_MASK) + +#define RGPIO_PCNP_NPE16_MASK (0x10000U) +#define RGPIO_PCNP_NPE16_SHIFT (16U) +/*! NPE16 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE16_SHIFT)) & RGPIO_PCNP_NPE16_MASK) + +#define RGPIO_PCNP_NPE17_MASK (0x20000U) +#define RGPIO_PCNP_NPE17_SHIFT (17U) +/*! NPE17 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE17_SHIFT)) & RGPIO_PCNP_NPE17_MASK) + +#define RGPIO_PCNP_NPE18_MASK (0x40000U) +#define RGPIO_PCNP_NPE18_SHIFT (18U) +/*! NPE18 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE18_SHIFT)) & RGPIO_PCNP_NPE18_MASK) + +#define RGPIO_PCNP_NPE19_MASK (0x80000U) +#define RGPIO_PCNP_NPE19_SHIFT (19U) +/*! NPE19 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE19_SHIFT)) & RGPIO_PCNP_NPE19_MASK) + +#define RGPIO_PCNP_NPE20_MASK (0x100000U) +#define RGPIO_PCNP_NPE20_SHIFT (20U) +/*! NPE20 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE20_SHIFT)) & RGPIO_PCNP_NPE20_MASK) + +#define RGPIO_PCNP_NPE21_MASK (0x200000U) +#define RGPIO_PCNP_NPE21_SHIFT (21U) +/*! NPE21 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE21_SHIFT)) & RGPIO_PCNP_NPE21_MASK) + +#define RGPIO_PCNP_NPE22_MASK (0x400000U) +#define RGPIO_PCNP_NPE22_SHIFT (22U) +/*! NPE22 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE22_SHIFT)) & RGPIO_PCNP_NPE22_MASK) + +#define RGPIO_PCNP_NPE23_MASK (0x800000U) +#define RGPIO_PCNP_NPE23_SHIFT (23U) +/*! NPE23 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE23_SHIFT)) & RGPIO_PCNP_NPE23_MASK) + +#define RGPIO_PCNP_NPE24_MASK (0x1000000U) +#define RGPIO_PCNP_NPE24_SHIFT (24U) +/*! NPE24 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE24_SHIFT)) & RGPIO_PCNP_NPE24_MASK) + +#define RGPIO_PCNP_NPE25_MASK (0x2000000U) +#define RGPIO_PCNP_NPE25_SHIFT (25U) +/*! NPE25 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE25_SHIFT)) & RGPIO_PCNP_NPE25_MASK) + +#define RGPIO_PCNP_NPE26_MASK (0x4000000U) +#define RGPIO_PCNP_NPE26_SHIFT (26U) +/*! NPE26 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE26_SHIFT)) & RGPIO_PCNP_NPE26_MASK) + +#define RGPIO_PCNP_NPE27_MASK (0x8000000U) +#define RGPIO_PCNP_NPE27_SHIFT (27U) +/*! NPE27 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE27_SHIFT)) & RGPIO_PCNP_NPE27_MASK) + +#define RGPIO_PCNP_NPE28_MASK (0x10000000U) +#define RGPIO_PCNP_NPE28_SHIFT (28U) +/*! NPE28 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE28_SHIFT)) & RGPIO_PCNP_NPE28_MASK) + +#define RGPIO_PCNP_NPE29_MASK (0x20000000U) +#define RGPIO_PCNP_NPE29_SHIFT (29U) +/*! NPE29 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE29_SHIFT)) & RGPIO_PCNP_NPE29_MASK) + +#define RGPIO_PCNP_NPE30_MASK (0x40000000U) +#define RGPIO_PCNP_NPE30_SHIFT (30U) +/*! NPE30 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE30_SHIFT)) & RGPIO_PCNP_NPE30_MASK) + +#define RGPIO_PCNP_NPE31_MASK (0x80000000U) +#define RGPIO_PCNP_NPE31_SHIFT (31U) +/*! NPE31 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_PCNP_NPE31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCNP_NPE31_SHIFT)) & RGPIO_PCNP_NPE31_MASK) +/*! @} */ + +/*! @name ICNP - Interrupt Control Nonprivilege */ +/*! @{ */ + +#define RGPIO_ICNP_NPE0_MASK (0x1U) +#define RGPIO_ICNP_NPE0_SHIFT (0U) +/*! NPE0 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_ICNP_NPE0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ICNP_NPE0_SHIFT)) & RGPIO_ICNP_NPE0_MASK) + +#define RGPIO_ICNP_NPE1_MASK (0x2U) +#define RGPIO_ICNP_NPE1_SHIFT (1U) +/*! NPE1 - Nonprivilege Enable + * 0b0..Privilege access + * 0b1..Nonprivilege access + */ +#define RGPIO_ICNP_NPE1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ICNP_NPE1_SHIFT)) & RGPIO_ICNP_NPE1_MASK) +/*! @} */ + +/*! @name PDOR - Port Data Output */ +/*! @{ */ + +#define RGPIO_PDOR_PDO0_MASK (0x1U) +#define RGPIO_PDOR_PDO0_SHIFT (0U) +/*! PDO0 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO0_SHIFT)) & RGPIO_PDOR_PDO0_MASK) + +#define RGPIO_PDOR_PDO1_MASK (0x2U) +#define RGPIO_PDOR_PDO1_SHIFT (1U) +/*! PDO1 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO1_SHIFT)) & RGPIO_PDOR_PDO1_MASK) + +#define RGPIO_PDOR_PDO2_MASK (0x4U) +#define RGPIO_PDOR_PDO2_SHIFT (2U) +/*! PDO2 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO2_SHIFT)) & RGPIO_PDOR_PDO2_MASK) + +#define RGPIO_PDOR_PDO3_MASK (0x8U) +#define RGPIO_PDOR_PDO3_SHIFT (3U) +/*! PDO3 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO3_SHIFT)) & RGPIO_PDOR_PDO3_MASK) + +#define RGPIO_PDOR_PDO4_MASK (0x10U) +#define RGPIO_PDOR_PDO4_SHIFT (4U) +/*! PDO4 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO4_SHIFT)) & RGPIO_PDOR_PDO4_MASK) + +#define RGPIO_PDOR_PDO5_MASK (0x20U) +#define RGPIO_PDOR_PDO5_SHIFT (5U) +/*! PDO5 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO5_SHIFT)) & RGPIO_PDOR_PDO5_MASK) + +#define RGPIO_PDOR_PDO6_MASK (0x40U) +#define RGPIO_PDOR_PDO6_SHIFT (6U) +/*! PDO6 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO6_SHIFT)) & RGPIO_PDOR_PDO6_MASK) + +#define RGPIO_PDOR_PDO7_MASK (0x80U) +#define RGPIO_PDOR_PDO7_SHIFT (7U) +/*! PDO7 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO7_SHIFT)) & RGPIO_PDOR_PDO7_MASK) + +#define RGPIO_PDOR_PDO8_MASK (0x100U) +#define RGPIO_PDOR_PDO8_SHIFT (8U) +/*! PDO8 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO8_SHIFT)) & RGPIO_PDOR_PDO8_MASK) + +#define RGPIO_PDOR_PDO9_MASK (0x200U) +#define RGPIO_PDOR_PDO9_SHIFT (9U) +/*! PDO9 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO9_SHIFT)) & RGPIO_PDOR_PDO9_MASK) + +#define RGPIO_PDOR_PDO10_MASK (0x400U) +#define RGPIO_PDOR_PDO10_SHIFT (10U) +/*! PDO10 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO10_SHIFT)) & RGPIO_PDOR_PDO10_MASK) + +#define RGPIO_PDOR_PDO11_MASK (0x800U) +#define RGPIO_PDOR_PDO11_SHIFT (11U) +/*! PDO11 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO11_SHIFT)) & RGPIO_PDOR_PDO11_MASK) + +#define RGPIO_PDOR_PDO12_MASK (0x1000U) +#define RGPIO_PDOR_PDO12_SHIFT (12U) +/*! PDO12 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO12_SHIFT)) & RGPIO_PDOR_PDO12_MASK) + +#define RGPIO_PDOR_PDO13_MASK (0x2000U) +#define RGPIO_PDOR_PDO13_SHIFT (13U) +/*! PDO13 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO13_SHIFT)) & RGPIO_PDOR_PDO13_MASK) + +#define RGPIO_PDOR_PDO14_MASK (0x4000U) +#define RGPIO_PDOR_PDO14_SHIFT (14U) +/*! PDO14 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO14_SHIFT)) & RGPIO_PDOR_PDO14_MASK) + +#define RGPIO_PDOR_PDO15_MASK (0x8000U) +#define RGPIO_PDOR_PDO15_SHIFT (15U) +/*! PDO15 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO15_SHIFT)) & RGPIO_PDOR_PDO15_MASK) + +#define RGPIO_PDOR_PDO16_MASK (0x10000U) +#define RGPIO_PDOR_PDO16_SHIFT (16U) +/*! PDO16 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO16_SHIFT)) & RGPIO_PDOR_PDO16_MASK) + +#define RGPIO_PDOR_PDO17_MASK (0x20000U) +#define RGPIO_PDOR_PDO17_SHIFT (17U) +/*! PDO17 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO17_SHIFT)) & RGPIO_PDOR_PDO17_MASK) + +#define RGPIO_PDOR_PDO18_MASK (0x40000U) +#define RGPIO_PDOR_PDO18_SHIFT (18U) +/*! PDO18 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO18_SHIFT)) & RGPIO_PDOR_PDO18_MASK) + +#define RGPIO_PDOR_PDO19_MASK (0x80000U) +#define RGPIO_PDOR_PDO19_SHIFT (19U) +/*! PDO19 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO19_SHIFT)) & RGPIO_PDOR_PDO19_MASK) + +#define RGPIO_PDOR_PDO20_MASK (0x100000U) +#define RGPIO_PDOR_PDO20_SHIFT (20U) +/*! PDO20 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO20_SHIFT)) & RGPIO_PDOR_PDO20_MASK) + +#define RGPIO_PDOR_PDO21_MASK (0x200000U) +#define RGPIO_PDOR_PDO21_SHIFT (21U) +/*! PDO21 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO21_SHIFT)) & RGPIO_PDOR_PDO21_MASK) + +#define RGPIO_PDOR_PDO22_MASK (0x400000U) +#define RGPIO_PDOR_PDO22_SHIFT (22U) +/*! PDO22 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO22_SHIFT)) & RGPIO_PDOR_PDO22_MASK) + +#define RGPIO_PDOR_PDO23_MASK (0x800000U) +#define RGPIO_PDOR_PDO23_SHIFT (23U) +/*! PDO23 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO23_SHIFT)) & RGPIO_PDOR_PDO23_MASK) + +#define RGPIO_PDOR_PDO24_MASK (0x1000000U) +#define RGPIO_PDOR_PDO24_SHIFT (24U) +/*! PDO24 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO24_SHIFT)) & RGPIO_PDOR_PDO24_MASK) + +#define RGPIO_PDOR_PDO25_MASK (0x2000000U) +#define RGPIO_PDOR_PDO25_SHIFT (25U) +/*! PDO25 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO25_SHIFT)) & RGPIO_PDOR_PDO25_MASK) + +#define RGPIO_PDOR_PDO26_MASK (0x4000000U) +#define RGPIO_PDOR_PDO26_SHIFT (26U) +/*! PDO26 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO26_SHIFT)) & RGPIO_PDOR_PDO26_MASK) + +#define RGPIO_PDOR_PDO27_MASK (0x8000000U) +#define RGPIO_PDOR_PDO27_SHIFT (27U) +/*! PDO27 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO27_SHIFT)) & RGPIO_PDOR_PDO27_MASK) + +#define RGPIO_PDOR_PDO28_MASK (0x10000000U) +#define RGPIO_PDOR_PDO28_SHIFT (28U) +/*! PDO28 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO28_SHIFT)) & RGPIO_PDOR_PDO28_MASK) + +#define RGPIO_PDOR_PDO29_MASK (0x20000000U) +#define RGPIO_PDOR_PDO29_SHIFT (29U) +/*! PDO29 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO29_SHIFT)) & RGPIO_PDOR_PDO29_MASK) + +#define RGPIO_PDOR_PDO30_MASK (0x40000000U) +#define RGPIO_PDOR_PDO30_SHIFT (30U) +/*! PDO30 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO30_SHIFT)) & RGPIO_PDOR_PDO30_MASK) + +#define RGPIO_PDOR_PDO31_MASK (0x80000000U) +#define RGPIO_PDOR_PDO31_SHIFT (31U) +/*! PDO31 - Port Data Output + * 0b0..Logic level 0 + * 0b1..Logic level 1 + */ +#define RGPIO_PDOR_PDO31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDOR_PDO31_SHIFT)) & RGPIO_PDOR_PDO31_MASK) +/*! @} */ + +/*! @name PSOR - Port Set Output */ +/*! @{ */ + +#define RGPIO_PSOR_PTSO0_MASK (0x1U) +#define RGPIO_PSOR_PTSO0_SHIFT (0U) +/*! PTSO0 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO0_SHIFT)) & RGPIO_PSOR_PTSO0_MASK) + +#define RGPIO_PSOR_PTSO1_MASK (0x2U) +#define RGPIO_PSOR_PTSO1_SHIFT (1U) +/*! PTSO1 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO1_SHIFT)) & RGPIO_PSOR_PTSO1_MASK) + +#define RGPIO_PSOR_PTSO2_MASK (0x4U) +#define RGPIO_PSOR_PTSO2_SHIFT (2U) +/*! PTSO2 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO2_SHIFT)) & RGPIO_PSOR_PTSO2_MASK) + +#define RGPIO_PSOR_PTSO3_MASK (0x8U) +#define RGPIO_PSOR_PTSO3_SHIFT (3U) +/*! PTSO3 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO3_SHIFT)) & RGPIO_PSOR_PTSO3_MASK) + +#define RGPIO_PSOR_PTSO4_MASK (0x10U) +#define RGPIO_PSOR_PTSO4_SHIFT (4U) +/*! PTSO4 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO4_SHIFT)) & RGPIO_PSOR_PTSO4_MASK) + +#define RGPIO_PSOR_PTSO5_MASK (0x20U) +#define RGPIO_PSOR_PTSO5_SHIFT (5U) +/*! PTSO5 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO5_SHIFT)) & RGPIO_PSOR_PTSO5_MASK) + +#define RGPIO_PSOR_PTSO6_MASK (0x40U) +#define RGPIO_PSOR_PTSO6_SHIFT (6U) +/*! PTSO6 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO6_SHIFT)) & RGPIO_PSOR_PTSO6_MASK) + +#define RGPIO_PSOR_PTSO7_MASK (0x80U) +#define RGPIO_PSOR_PTSO7_SHIFT (7U) +/*! PTSO7 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO7_SHIFT)) & RGPIO_PSOR_PTSO7_MASK) + +#define RGPIO_PSOR_PTSO8_MASK (0x100U) +#define RGPIO_PSOR_PTSO8_SHIFT (8U) +/*! PTSO8 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO8_SHIFT)) & RGPIO_PSOR_PTSO8_MASK) + +#define RGPIO_PSOR_PTSO9_MASK (0x200U) +#define RGPIO_PSOR_PTSO9_SHIFT (9U) +/*! PTSO9 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO9_SHIFT)) & RGPIO_PSOR_PTSO9_MASK) + +#define RGPIO_PSOR_PTSO10_MASK (0x400U) +#define RGPIO_PSOR_PTSO10_SHIFT (10U) +/*! PTSO10 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO10_SHIFT)) & RGPIO_PSOR_PTSO10_MASK) + +#define RGPIO_PSOR_PTSO11_MASK (0x800U) +#define RGPIO_PSOR_PTSO11_SHIFT (11U) +/*! PTSO11 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO11_SHIFT)) & RGPIO_PSOR_PTSO11_MASK) + +#define RGPIO_PSOR_PTSO12_MASK (0x1000U) +#define RGPIO_PSOR_PTSO12_SHIFT (12U) +/*! PTSO12 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO12_SHIFT)) & RGPIO_PSOR_PTSO12_MASK) + +#define RGPIO_PSOR_PTSO13_MASK (0x2000U) +#define RGPIO_PSOR_PTSO13_SHIFT (13U) +/*! PTSO13 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO13_SHIFT)) & RGPIO_PSOR_PTSO13_MASK) + +#define RGPIO_PSOR_PTSO14_MASK (0x4000U) +#define RGPIO_PSOR_PTSO14_SHIFT (14U) +/*! PTSO14 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO14_SHIFT)) & RGPIO_PSOR_PTSO14_MASK) + +#define RGPIO_PSOR_PTSO15_MASK (0x8000U) +#define RGPIO_PSOR_PTSO15_SHIFT (15U) +/*! PTSO15 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO15_SHIFT)) & RGPIO_PSOR_PTSO15_MASK) + +#define RGPIO_PSOR_PTSO16_MASK (0x10000U) +#define RGPIO_PSOR_PTSO16_SHIFT (16U) +/*! PTSO16 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO16_SHIFT)) & RGPIO_PSOR_PTSO16_MASK) + +#define RGPIO_PSOR_PTSO17_MASK (0x20000U) +#define RGPIO_PSOR_PTSO17_SHIFT (17U) +/*! PTSO17 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO17_SHIFT)) & RGPIO_PSOR_PTSO17_MASK) + +#define RGPIO_PSOR_PTSO18_MASK (0x40000U) +#define RGPIO_PSOR_PTSO18_SHIFT (18U) +/*! PTSO18 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO18_SHIFT)) & RGPIO_PSOR_PTSO18_MASK) + +#define RGPIO_PSOR_PTSO19_MASK (0x80000U) +#define RGPIO_PSOR_PTSO19_SHIFT (19U) +/*! PTSO19 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO19_SHIFT)) & RGPIO_PSOR_PTSO19_MASK) + +#define RGPIO_PSOR_PTSO20_MASK (0x100000U) +#define RGPIO_PSOR_PTSO20_SHIFT (20U) +/*! PTSO20 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO20_SHIFT)) & RGPIO_PSOR_PTSO20_MASK) + +#define RGPIO_PSOR_PTSO21_MASK (0x200000U) +#define RGPIO_PSOR_PTSO21_SHIFT (21U) +/*! PTSO21 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO21_SHIFT)) & RGPIO_PSOR_PTSO21_MASK) + +#define RGPIO_PSOR_PTSO22_MASK (0x400000U) +#define RGPIO_PSOR_PTSO22_SHIFT (22U) +/*! PTSO22 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO22_SHIFT)) & RGPIO_PSOR_PTSO22_MASK) + +#define RGPIO_PSOR_PTSO23_MASK (0x800000U) +#define RGPIO_PSOR_PTSO23_SHIFT (23U) +/*! PTSO23 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO23_SHIFT)) & RGPIO_PSOR_PTSO23_MASK) + +#define RGPIO_PSOR_PTSO24_MASK (0x1000000U) +#define RGPIO_PSOR_PTSO24_SHIFT (24U) +/*! PTSO24 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO24_SHIFT)) & RGPIO_PSOR_PTSO24_MASK) + +#define RGPIO_PSOR_PTSO25_MASK (0x2000000U) +#define RGPIO_PSOR_PTSO25_SHIFT (25U) +/*! PTSO25 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO25_SHIFT)) & RGPIO_PSOR_PTSO25_MASK) + +#define RGPIO_PSOR_PTSO26_MASK (0x4000000U) +#define RGPIO_PSOR_PTSO26_SHIFT (26U) +/*! PTSO26 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO26_SHIFT)) & RGPIO_PSOR_PTSO26_MASK) + +#define RGPIO_PSOR_PTSO27_MASK (0x8000000U) +#define RGPIO_PSOR_PTSO27_SHIFT (27U) +/*! PTSO27 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO27_SHIFT)) & RGPIO_PSOR_PTSO27_MASK) + +#define RGPIO_PSOR_PTSO28_MASK (0x10000000U) +#define RGPIO_PSOR_PTSO28_SHIFT (28U) +/*! PTSO28 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO28_SHIFT)) & RGPIO_PSOR_PTSO28_MASK) + +#define RGPIO_PSOR_PTSO29_MASK (0x20000000U) +#define RGPIO_PSOR_PTSO29_SHIFT (29U) +/*! PTSO29 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO29_SHIFT)) & RGPIO_PSOR_PTSO29_MASK) + +#define RGPIO_PSOR_PTSO30_MASK (0x40000000U) +#define RGPIO_PSOR_PTSO30_SHIFT (30U) +/*! PTSO30 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO30_SHIFT)) & RGPIO_PSOR_PTSO30_MASK) + +#define RGPIO_PSOR_PTSO31_MASK (0x80000000U) +#define RGPIO_PSOR_PTSO31_SHIFT (31U) +/*! PTSO31 - Port Set Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 1 + */ +#define RGPIO_PSOR_PTSO31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PSOR_PTSO31_SHIFT)) & RGPIO_PSOR_PTSO31_MASK) +/*! @} */ + +/*! @name PCOR - Port Clear Output */ +/*! @{ */ + +#define RGPIO_PCOR_PTCO0_MASK (0x1U) +#define RGPIO_PCOR_PTCO0_SHIFT (0U) +/*! PTCO0 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO0_SHIFT)) & RGPIO_PCOR_PTCO0_MASK) + +#define RGPIO_PCOR_PTCO1_MASK (0x2U) +#define RGPIO_PCOR_PTCO1_SHIFT (1U) +/*! PTCO1 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO1_SHIFT)) & RGPIO_PCOR_PTCO1_MASK) + +#define RGPIO_PCOR_PTCO2_MASK (0x4U) +#define RGPIO_PCOR_PTCO2_SHIFT (2U) +/*! PTCO2 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO2_SHIFT)) & RGPIO_PCOR_PTCO2_MASK) + +#define RGPIO_PCOR_PTCO3_MASK (0x8U) +#define RGPIO_PCOR_PTCO3_SHIFT (3U) +/*! PTCO3 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO3_SHIFT)) & RGPIO_PCOR_PTCO3_MASK) + +#define RGPIO_PCOR_PTCO4_MASK (0x10U) +#define RGPIO_PCOR_PTCO4_SHIFT (4U) +/*! PTCO4 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO4_SHIFT)) & RGPIO_PCOR_PTCO4_MASK) + +#define RGPIO_PCOR_PTCO5_MASK (0x20U) +#define RGPIO_PCOR_PTCO5_SHIFT (5U) +/*! PTCO5 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO5_SHIFT)) & RGPIO_PCOR_PTCO5_MASK) + +#define RGPIO_PCOR_PTCO6_MASK (0x40U) +#define RGPIO_PCOR_PTCO6_SHIFT (6U) +/*! PTCO6 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO6_SHIFT)) & RGPIO_PCOR_PTCO6_MASK) + +#define RGPIO_PCOR_PTCO7_MASK (0x80U) +#define RGPIO_PCOR_PTCO7_SHIFT (7U) +/*! PTCO7 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO7_SHIFT)) & RGPIO_PCOR_PTCO7_MASK) + +#define RGPIO_PCOR_PTCO8_MASK (0x100U) +#define RGPIO_PCOR_PTCO8_SHIFT (8U) +/*! PTCO8 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO8_SHIFT)) & RGPIO_PCOR_PTCO8_MASK) + +#define RGPIO_PCOR_PTCO9_MASK (0x200U) +#define RGPIO_PCOR_PTCO9_SHIFT (9U) +/*! PTCO9 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO9_SHIFT)) & RGPIO_PCOR_PTCO9_MASK) + +#define RGPIO_PCOR_PTCO10_MASK (0x400U) +#define RGPIO_PCOR_PTCO10_SHIFT (10U) +/*! PTCO10 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO10_SHIFT)) & RGPIO_PCOR_PTCO10_MASK) + +#define RGPIO_PCOR_PTCO11_MASK (0x800U) +#define RGPIO_PCOR_PTCO11_SHIFT (11U) +/*! PTCO11 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO11_SHIFT)) & RGPIO_PCOR_PTCO11_MASK) + +#define RGPIO_PCOR_PTCO12_MASK (0x1000U) +#define RGPIO_PCOR_PTCO12_SHIFT (12U) +/*! PTCO12 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO12_SHIFT)) & RGPIO_PCOR_PTCO12_MASK) + +#define RGPIO_PCOR_PTCO13_MASK (0x2000U) +#define RGPIO_PCOR_PTCO13_SHIFT (13U) +/*! PTCO13 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO13_SHIFT)) & RGPIO_PCOR_PTCO13_MASK) + +#define RGPIO_PCOR_PTCO14_MASK (0x4000U) +#define RGPIO_PCOR_PTCO14_SHIFT (14U) +/*! PTCO14 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO14_SHIFT)) & RGPIO_PCOR_PTCO14_MASK) + +#define RGPIO_PCOR_PTCO15_MASK (0x8000U) +#define RGPIO_PCOR_PTCO15_SHIFT (15U) +/*! PTCO15 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO15_SHIFT)) & RGPIO_PCOR_PTCO15_MASK) + +#define RGPIO_PCOR_PTCO16_MASK (0x10000U) +#define RGPIO_PCOR_PTCO16_SHIFT (16U) +/*! PTCO16 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO16_SHIFT)) & RGPIO_PCOR_PTCO16_MASK) + +#define RGPIO_PCOR_PTCO17_MASK (0x20000U) +#define RGPIO_PCOR_PTCO17_SHIFT (17U) +/*! PTCO17 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO17_SHIFT)) & RGPIO_PCOR_PTCO17_MASK) + +#define RGPIO_PCOR_PTCO18_MASK (0x40000U) +#define RGPIO_PCOR_PTCO18_SHIFT (18U) +/*! PTCO18 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO18_SHIFT)) & RGPIO_PCOR_PTCO18_MASK) + +#define RGPIO_PCOR_PTCO19_MASK (0x80000U) +#define RGPIO_PCOR_PTCO19_SHIFT (19U) +/*! PTCO19 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO19_SHIFT)) & RGPIO_PCOR_PTCO19_MASK) + +#define RGPIO_PCOR_PTCO20_MASK (0x100000U) +#define RGPIO_PCOR_PTCO20_SHIFT (20U) +/*! PTCO20 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO20_SHIFT)) & RGPIO_PCOR_PTCO20_MASK) + +#define RGPIO_PCOR_PTCO21_MASK (0x200000U) +#define RGPIO_PCOR_PTCO21_SHIFT (21U) +/*! PTCO21 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO21_SHIFT)) & RGPIO_PCOR_PTCO21_MASK) + +#define RGPIO_PCOR_PTCO22_MASK (0x400000U) +#define RGPIO_PCOR_PTCO22_SHIFT (22U) +/*! PTCO22 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO22_SHIFT)) & RGPIO_PCOR_PTCO22_MASK) + +#define RGPIO_PCOR_PTCO23_MASK (0x800000U) +#define RGPIO_PCOR_PTCO23_SHIFT (23U) +/*! PTCO23 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO23_SHIFT)) & RGPIO_PCOR_PTCO23_MASK) + +#define RGPIO_PCOR_PTCO24_MASK (0x1000000U) +#define RGPIO_PCOR_PTCO24_SHIFT (24U) +/*! PTCO24 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO24_SHIFT)) & RGPIO_PCOR_PTCO24_MASK) + +#define RGPIO_PCOR_PTCO25_MASK (0x2000000U) +#define RGPIO_PCOR_PTCO25_SHIFT (25U) +/*! PTCO25 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO25_SHIFT)) & RGPIO_PCOR_PTCO25_MASK) + +#define RGPIO_PCOR_PTCO26_MASK (0x4000000U) +#define RGPIO_PCOR_PTCO26_SHIFT (26U) +/*! PTCO26 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO26_SHIFT)) & RGPIO_PCOR_PTCO26_MASK) + +#define RGPIO_PCOR_PTCO27_MASK (0x8000000U) +#define RGPIO_PCOR_PTCO27_SHIFT (27U) +/*! PTCO27 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO27_SHIFT)) & RGPIO_PCOR_PTCO27_MASK) + +#define RGPIO_PCOR_PTCO28_MASK (0x10000000U) +#define RGPIO_PCOR_PTCO28_SHIFT (28U) +/*! PTCO28 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO28_SHIFT)) & RGPIO_PCOR_PTCO28_MASK) + +#define RGPIO_PCOR_PTCO29_MASK (0x20000000U) +#define RGPIO_PCOR_PTCO29_SHIFT (29U) +/*! PTCO29 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO29_SHIFT)) & RGPIO_PCOR_PTCO29_MASK) + +#define RGPIO_PCOR_PTCO30_MASK (0x40000000U) +#define RGPIO_PCOR_PTCO30_SHIFT (30U) +/*! PTCO30 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO30_SHIFT)) & RGPIO_PCOR_PTCO30_MASK) + +#define RGPIO_PCOR_PTCO31_MASK (0x80000000U) +#define RGPIO_PCOR_PTCO31_SHIFT (31U) +/*! PTCO31 - Port Clear Output + * 0b0..No change + * 0b1..Corresponding field in PDOR becomes 0 + */ +#define RGPIO_PCOR_PTCO31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PCOR_PTCO31_SHIFT)) & RGPIO_PCOR_PTCO31_MASK) +/*! @} */ + +/*! @name PTOR - Port Toggle Output */ +/*! @{ */ + +#define RGPIO_PTOR_PTTO0_MASK (0x1U) +#define RGPIO_PTOR_PTTO0_SHIFT (0U) +/*! PTTO0 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO0_SHIFT)) & RGPIO_PTOR_PTTO0_MASK) + +#define RGPIO_PTOR_PTTO1_MASK (0x2U) +#define RGPIO_PTOR_PTTO1_SHIFT (1U) +/*! PTTO1 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO1_SHIFT)) & RGPIO_PTOR_PTTO1_MASK) + +#define RGPIO_PTOR_PTTO2_MASK (0x4U) +#define RGPIO_PTOR_PTTO2_SHIFT (2U) +/*! PTTO2 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO2_SHIFT)) & RGPIO_PTOR_PTTO2_MASK) + +#define RGPIO_PTOR_PTTO3_MASK (0x8U) +#define RGPIO_PTOR_PTTO3_SHIFT (3U) +/*! PTTO3 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO3_SHIFT)) & RGPIO_PTOR_PTTO3_MASK) + +#define RGPIO_PTOR_PTTO4_MASK (0x10U) +#define RGPIO_PTOR_PTTO4_SHIFT (4U) +/*! PTTO4 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO4_SHIFT)) & RGPIO_PTOR_PTTO4_MASK) + +#define RGPIO_PTOR_PTTO5_MASK (0x20U) +#define RGPIO_PTOR_PTTO5_SHIFT (5U) +/*! PTTO5 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO5_SHIFT)) & RGPIO_PTOR_PTTO5_MASK) + +#define RGPIO_PTOR_PTTO6_MASK (0x40U) +#define RGPIO_PTOR_PTTO6_SHIFT (6U) +/*! PTTO6 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO6_SHIFT)) & RGPIO_PTOR_PTTO6_MASK) + +#define RGPIO_PTOR_PTTO7_MASK (0x80U) +#define RGPIO_PTOR_PTTO7_SHIFT (7U) +/*! PTTO7 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO7_SHIFT)) & RGPIO_PTOR_PTTO7_MASK) + +#define RGPIO_PTOR_PTTO8_MASK (0x100U) +#define RGPIO_PTOR_PTTO8_SHIFT (8U) +/*! PTTO8 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO8_SHIFT)) & RGPIO_PTOR_PTTO8_MASK) + +#define RGPIO_PTOR_PTTO9_MASK (0x200U) +#define RGPIO_PTOR_PTTO9_SHIFT (9U) +/*! PTTO9 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO9_SHIFT)) & RGPIO_PTOR_PTTO9_MASK) + +#define RGPIO_PTOR_PTTO10_MASK (0x400U) +#define RGPIO_PTOR_PTTO10_SHIFT (10U) +/*! PTTO10 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO10_SHIFT)) & RGPIO_PTOR_PTTO10_MASK) + +#define RGPIO_PTOR_PTTO11_MASK (0x800U) +#define RGPIO_PTOR_PTTO11_SHIFT (11U) +/*! PTTO11 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO11_SHIFT)) & RGPIO_PTOR_PTTO11_MASK) + +#define RGPIO_PTOR_PTTO12_MASK (0x1000U) +#define RGPIO_PTOR_PTTO12_SHIFT (12U) +/*! PTTO12 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO12_SHIFT)) & RGPIO_PTOR_PTTO12_MASK) + +#define RGPIO_PTOR_PTTO13_MASK (0x2000U) +#define RGPIO_PTOR_PTTO13_SHIFT (13U) +/*! PTTO13 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO13_SHIFT)) & RGPIO_PTOR_PTTO13_MASK) + +#define RGPIO_PTOR_PTTO14_MASK (0x4000U) +#define RGPIO_PTOR_PTTO14_SHIFT (14U) +/*! PTTO14 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO14_SHIFT)) & RGPIO_PTOR_PTTO14_MASK) + +#define RGPIO_PTOR_PTTO15_MASK (0x8000U) +#define RGPIO_PTOR_PTTO15_SHIFT (15U) +/*! PTTO15 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO15_SHIFT)) & RGPIO_PTOR_PTTO15_MASK) + +#define RGPIO_PTOR_PTTO16_MASK (0x10000U) +#define RGPIO_PTOR_PTTO16_SHIFT (16U) +/*! PTTO16 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO16_SHIFT)) & RGPIO_PTOR_PTTO16_MASK) + +#define RGPIO_PTOR_PTTO17_MASK (0x20000U) +#define RGPIO_PTOR_PTTO17_SHIFT (17U) +/*! PTTO17 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO17_SHIFT)) & RGPIO_PTOR_PTTO17_MASK) + +#define RGPIO_PTOR_PTTO18_MASK (0x40000U) +#define RGPIO_PTOR_PTTO18_SHIFT (18U) +/*! PTTO18 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO18_SHIFT)) & RGPIO_PTOR_PTTO18_MASK) + +#define RGPIO_PTOR_PTTO19_MASK (0x80000U) +#define RGPIO_PTOR_PTTO19_SHIFT (19U) +/*! PTTO19 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO19_SHIFT)) & RGPIO_PTOR_PTTO19_MASK) + +#define RGPIO_PTOR_PTTO20_MASK (0x100000U) +#define RGPIO_PTOR_PTTO20_SHIFT (20U) +/*! PTTO20 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO20_SHIFT)) & RGPIO_PTOR_PTTO20_MASK) + +#define RGPIO_PTOR_PTTO21_MASK (0x200000U) +#define RGPIO_PTOR_PTTO21_SHIFT (21U) +/*! PTTO21 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO21_SHIFT)) & RGPIO_PTOR_PTTO21_MASK) + +#define RGPIO_PTOR_PTTO22_MASK (0x400000U) +#define RGPIO_PTOR_PTTO22_SHIFT (22U) +/*! PTTO22 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO22_SHIFT)) & RGPIO_PTOR_PTTO22_MASK) + +#define RGPIO_PTOR_PTTO23_MASK (0x800000U) +#define RGPIO_PTOR_PTTO23_SHIFT (23U) +/*! PTTO23 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO23_SHIFT)) & RGPIO_PTOR_PTTO23_MASK) + +#define RGPIO_PTOR_PTTO24_MASK (0x1000000U) +#define RGPIO_PTOR_PTTO24_SHIFT (24U) +/*! PTTO24 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO24_SHIFT)) & RGPIO_PTOR_PTTO24_MASK) + +#define RGPIO_PTOR_PTTO25_MASK (0x2000000U) +#define RGPIO_PTOR_PTTO25_SHIFT (25U) +/*! PTTO25 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO25_SHIFT)) & RGPIO_PTOR_PTTO25_MASK) + +#define RGPIO_PTOR_PTTO26_MASK (0x4000000U) +#define RGPIO_PTOR_PTTO26_SHIFT (26U) +/*! PTTO26 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO26_SHIFT)) & RGPIO_PTOR_PTTO26_MASK) + +#define RGPIO_PTOR_PTTO27_MASK (0x8000000U) +#define RGPIO_PTOR_PTTO27_SHIFT (27U) +/*! PTTO27 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO27_SHIFT)) & RGPIO_PTOR_PTTO27_MASK) + +#define RGPIO_PTOR_PTTO28_MASK (0x10000000U) +#define RGPIO_PTOR_PTTO28_SHIFT (28U) +/*! PTTO28 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO28_SHIFT)) & RGPIO_PTOR_PTTO28_MASK) + +#define RGPIO_PTOR_PTTO29_MASK (0x20000000U) +#define RGPIO_PTOR_PTTO29_SHIFT (29U) +/*! PTTO29 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO29_SHIFT)) & RGPIO_PTOR_PTTO29_MASK) + +#define RGPIO_PTOR_PTTO30_MASK (0x40000000U) +#define RGPIO_PTOR_PTTO30_SHIFT (30U) +/*! PTTO30 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO30_SHIFT)) & RGPIO_PTOR_PTTO30_MASK) + +#define RGPIO_PTOR_PTTO31_MASK (0x80000000U) +#define RGPIO_PTOR_PTTO31_SHIFT (31U) +/*! PTTO31 - Port Toggle Output + * 0b0..No change + * 0b1..Set to the inverse of its current logic state + */ +#define RGPIO_PTOR_PTTO31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PTOR_PTTO31_SHIFT)) & RGPIO_PTOR_PTTO31_MASK) +/*! @} */ + +/*! @name PDIR - Port Data Input */ +/*! @{ */ + +#define RGPIO_PDIR_PDI0_MASK (0x1U) +#define RGPIO_PDIR_PDI0_SHIFT (0U) +/*! PDI0 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI0_SHIFT)) & RGPIO_PDIR_PDI0_MASK) + +#define RGPIO_PDIR_PDI1_MASK (0x2U) +#define RGPIO_PDIR_PDI1_SHIFT (1U) +/*! PDI1 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI1_SHIFT)) & RGPIO_PDIR_PDI1_MASK) + +#define RGPIO_PDIR_PDI2_MASK (0x4U) +#define RGPIO_PDIR_PDI2_SHIFT (2U) +/*! PDI2 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI2_SHIFT)) & RGPIO_PDIR_PDI2_MASK) + +#define RGPIO_PDIR_PDI3_MASK (0x8U) +#define RGPIO_PDIR_PDI3_SHIFT (3U) +/*! PDI3 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI3_SHIFT)) & RGPIO_PDIR_PDI3_MASK) + +#define RGPIO_PDIR_PDI4_MASK (0x10U) +#define RGPIO_PDIR_PDI4_SHIFT (4U) +/*! PDI4 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI4_SHIFT)) & RGPIO_PDIR_PDI4_MASK) + +#define RGPIO_PDIR_PDI5_MASK (0x20U) +#define RGPIO_PDIR_PDI5_SHIFT (5U) +/*! PDI5 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI5_SHIFT)) & RGPIO_PDIR_PDI5_MASK) + +#define RGPIO_PDIR_PDI6_MASK (0x40U) +#define RGPIO_PDIR_PDI6_SHIFT (6U) +/*! PDI6 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI6_SHIFT)) & RGPIO_PDIR_PDI6_MASK) + +#define RGPIO_PDIR_PDI7_MASK (0x80U) +#define RGPIO_PDIR_PDI7_SHIFT (7U) +/*! PDI7 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI7_SHIFT)) & RGPIO_PDIR_PDI7_MASK) + +#define RGPIO_PDIR_PDI8_MASK (0x100U) +#define RGPIO_PDIR_PDI8_SHIFT (8U) +/*! PDI8 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI8_SHIFT)) & RGPIO_PDIR_PDI8_MASK) + +#define RGPIO_PDIR_PDI9_MASK (0x200U) +#define RGPIO_PDIR_PDI9_SHIFT (9U) +/*! PDI9 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI9_SHIFT)) & RGPIO_PDIR_PDI9_MASK) + +#define RGPIO_PDIR_PDI10_MASK (0x400U) +#define RGPIO_PDIR_PDI10_SHIFT (10U) +/*! PDI10 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI10_SHIFT)) & RGPIO_PDIR_PDI10_MASK) + +#define RGPIO_PDIR_PDI11_MASK (0x800U) +#define RGPIO_PDIR_PDI11_SHIFT (11U) +/*! PDI11 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI11_SHIFT)) & RGPIO_PDIR_PDI11_MASK) + +#define RGPIO_PDIR_PDI12_MASK (0x1000U) +#define RGPIO_PDIR_PDI12_SHIFT (12U) +/*! PDI12 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI12_SHIFT)) & RGPIO_PDIR_PDI12_MASK) + +#define RGPIO_PDIR_PDI13_MASK (0x2000U) +#define RGPIO_PDIR_PDI13_SHIFT (13U) +/*! PDI13 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI13_SHIFT)) & RGPIO_PDIR_PDI13_MASK) + +#define RGPIO_PDIR_PDI14_MASK (0x4000U) +#define RGPIO_PDIR_PDI14_SHIFT (14U) +/*! PDI14 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI14_SHIFT)) & RGPIO_PDIR_PDI14_MASK) + +#define RGPIO_PDIR_PDI15_MASK (0x8000U) +#define RGPIO_PDIR_PDI15_SHIFT (15U) +/*! PDI15 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI15_SHIFT)) & RGPIO_PDIR_PDI15_MASK) + +#define RGPIO_PDIR_PDI16_MASK (0x10000U) +#define RGPIO_PDIR_PDI16_SHIFT (16U) +/*! PDI16 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI16_SHIFT)) & RGPIO_PDIR_PDI16_MASK) + +#define RGPIO_PDIR_PDI17_MASK (0x20000U) +#define RGPIO_PDIR_PDI17_SHIFT (17U) +/*! PDI17 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI17_SHIFT)) & RGPIO_PDIR_PDI17_MASK) + +#define RGPIO_PDIR_PDI18_MASK (0x40000U) +#define RGPIO_PDIR_PDI18_SHIFT (18U) +/*! PDI18 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI18_SHIFT)) & RGPIO_PDIR_PDI18_MASK) + +#define RGPIO_PDIR_PDI19_MASK (0x80000U) +#define RGPIO_PDIR_PDI19_SHIFT (19U) +/*! PDI19 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI19_SHIFT)) & RGPIO_PDIR_PDI19_MASK) + +#define RGPIO_PDIR_PDI20_MASK (0x100000U) +#define RGPIO_PDIR_PDI20_SHIFT (20U) +/*! PDI20 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI20_SHIFT)) & RGPIO_PDIR_PDI20_MASK) + +#define RGPIO_PDIR_PDI21_MASK (0x200000U) +#define RGPIO_PDIR_PDI21_SHIFT (21U) +/*! PDI21 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI21_SHIFT)) & RGPIO_PDIR_PDI21_MASK) + +#define RGPIO_PDIR_PDI22_MASK (0x400000U) +#define RGPIO_PDIR_PDI22_SHIFT (22U) +/*! PDI22 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI22_SHIFT)) & RGPIO_PDIR_PDI22_MASK) + +#define RGPIO_PDIR_PDI23_MASK (0x800000U) +#define RGPIO_PDIR_PDI23_SHIFT (23U) +/*! PDI23 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI23_SHIFT)) & RGPIO_PDIR_PDI23_MASK) + +#define RGPIO_PDIR_PDI24_MASK (0x1000000U) +#define RGPIO_PDIR_PDI24_SHIFT (24U) +/*! PDI24 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI24_SHIFT)) & RGPIO_PDIR_PDI24_MASK) + +#define RGPIO_PDIR_PDI25_MASK (0x2000000U) +#define RGPIO_PDIR_PDI25_SHIFT (25U) +/*! PDI25 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI25_SHIFT)) & RGPIO_PDIR_PDI25_MASK) + +#define RGPIO_PDIR_PDI26_MASK (0x4000000U) +#define RGPIO_PDIR_PDI26_SHIFT (26U) +/*! PDI26 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI26_SHIFT)) & RGPIO_PDIR_PDI26_MASK) + +#define RGPIO_PDIR_PDI27_MASK (0x8000000U) +#define RGPIO_PDIR_PDI27_SHIFT (27U) +/*! PDI27 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI27_SHIFT)) & RGPIO_PDIR_PDI27_MASK) + +#define RGPIO_PDIR_PDI28_MASK (0x10000000U) +#define RGPIO_PDIR_PDI28_SHIFT (28U) +/*! PDI28 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI28_SHIFT)) & RGPIO_PDIR_PDI28_MASK) + +#define RGPIO_PDIR_PDI29_MASK (0x20000000U) +#define RGPIO_PDIR_PDI29_SHIFT (29U) +/*! PDI29 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI29_SHIFT)) & RGPIO_PDIR_PDI29_MASK) + +#define RGPIO_PDIR_PDI30_MASK (0x40000000U) +#define RGPIO_PDIR_PDI30_SHIFT (30U) +/*! PDI30 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI30_SHIFT)) & RGPIO_PDIR_PDI30_MASK) + +#define RGPIO_PDIR_PDI31_MASK (0x80000000U) +#define RGPIO_PDIR_PDI31_SHIFT (31U) +/*! PDI31 - Port Data Input + * 0b0..Logic 0 + * 0b1..Logic 1 + */ +#define RGPIO_PDIR_PDI31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDIR_PDI31_SHIFT)) & RGPIO_PDIR_PDI31_MASK) +/*! @} */ + +/*! @name PDDR - Port Data Direction */ +/*! @{ */ + +#define RGPIO_PDDR_PDD0_MASK (0x1U) +#define RGPIO_PDDR_PDD0_SHIFT (0U) +/*! PDD0 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD0_SHIFT)) & RGPIO_PDDR_PDD0_MASK) + +#define RGPIO_PDDR_PDD1_MASK (0x2U) +#define RGPIO_PDDR_PDD1_SHIFT (1U) +/*! PDD1 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD1_SHIFT)) & RGPIO_PDDR_PDD1_MASK) + +#define RGPIO_PDDR_PDD2_MASK (0x4U) +#define RGPIO_PDDR_PDD2_SHIFT (2U) +/*! PDD2 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD2_SHIFT)) & RGPIO_PDDR_PDD2_MASK) + +#define RGPIO_PDDR_PDD3_MASK (0x8U) +#define RGPIO_PDDR_PDD3_SHIFT (3U) +/*! PDD3 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD3_SHIFT)) & RGPIO_PDDR_PDD3_MASK) + +#define RGPIO_PDDR_PDD4_MASK (0x10U) +#define RGPIO_PDDR_PDD4_SHIFT (4U) +/*! PDD4 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD4_SHIFT)) & RGPIO_PDDR_PDD4_MASK) + +#define RGPIO_PDDR_PDD5_MASK (0x20U) +#define RGPIO_PDDR_PDD5_SHIFT (5U) +/*! PDD5 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD5_SHIFT)) & RGPIO_PDDR_PDD5_MASK) + +#define RGPIO_PDDR_PDD6_MASK (0x40U) +#define RGPIO_PDDR_PDD6_SHIFT (6U) +/*! PDD6 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD6_SHIFT)) & RGPIO_PDDR_PDD6_MASK) + +#define RGPIO_PDDR_PDD7_MASK (0x80U) +#define RGPIO_PDDR_PDD7_SHIFT (7U) +/*! PDD7 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD7_SHIFT)) & RGPIO_PDDR_PDD7_MASK) + +#define RGPIO_PDDR_PDD8_MASK (0x100U) +#define RGPIO_PDDR_PDD8_SHIFT (8U) +/*! PDD8 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD8_SHIFT)) & RGPIO_PDDR_PDD8_MASK) + +#define RGPIO_PDDR_PDD9_MASK (0x200U) +#define RGPIO_PDDR_PDD9_SHIFT (9U) +/*! PDD9 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD9_SHIFT)) & RGPIO_PDDR_PDD9_MASK) + +#define RGPIO_PDDR_PDD10_MASK (0x400U) +#define RGPIO_PDDR_PDD10_SHIFT (10U) +/*! PDD10 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD10_SHIFT)) & RGPIO_PDDR_PDD10_MASK) + +#define RGPIO_PDDR_PDD11_MASK (0x800U) +#define RGPIO_PDDR_PDD11_SHIFT (11U) +/*! PDD11 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD11_SHIFT)) & RGPIO_PDDR_PDD11_MASK) + +#define RGPIO_PDDR_PDD12_MASK (0x1000U) +#define RGPIO_PDDR_PDD12_SHIFT (12U) +/*! PDD12 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD12_SHIFT)) & RGPIO_PDDR_PDD12_MASK) + +#define RGPIO_PDDR_PDD13_MASK (0x2000U) +#define RGPIO_PDDR_PDD13_SHIFT (13U) +/*! PDD13 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD13_SHIFT)) & RGPIO_PDDR_PDD13_MASK) + +#define RGPIO_PDDR_PDD14_MASK (0x4000U) +#define RGPIO_PDDR_PDD14_SHIFT (14U) +/*! PDD14 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD14_SHIFT)) & RGPIO_PDDR_PDD14_MASK) + +#define RGPIO_PDDR_PDD15_MASK (0x8000U) +#define RGPIO_PDDR_PDD15_SHIFT (15U) +/*! PDD15 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD15_SHIFT)) & RGPIO_PDDR_PDD15_MASK) + +#define RGPIO_PDDR_PDD16_MASK (0x10000U) +#define RGPIO_PDDR_PDD16_SHIFT (16U) +/*! PDD16 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD16_SHIFT)) & RGPIO_PDDR_PDD16_MASK) + +#define RGPIO_PDDR_PDD17_MASK (0x20000U) +#define RGPIO_PDDR_PDD17_SHIFT (17U) +/*! PDD17 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD17_SHIFT)) & RGPIO_PDDR_PDD17_MASK) + +#define RGPIO_PDDR_PDD18_MASK (0x40000U) +#define RGPIO_PDDR_PDD18_SHIFT (18U) +/*! PDD18 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD18_SHIFT)) & RGPIO_PDDR_PDD18_MASK) + +#define RGPIO_PDDR_PDD19_MASK (0x80000U) +#define RGPIO_PDDR_PDD19_SHIFT (19U) +/*! PDD19 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD19_SHIFT)) & RGPIO_PDDR_PDD19_MASK) + +#define RGPIO_PDDR_PDD20_MASK (0x100000U) +#define RGPIO_PDDR_PDD20_SHIFT (20U) +/*! PDD20 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD20_SHIFT)) & RGPIO_PDDR_PDD20_MASK) + +#define RGPIO_PDDR_PDD21_MASK (0x200000U) +#define RGPIO_PDDR_PDD21_SHIFT (21U) +/*! PDD21 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD21_SHIFT)) & RGPIO_PDDR_PDD21_MASK) + +#define RGPIO_PDDR_PDD22_MASK (0x400000U) +#define RGPIO_PDDR_PDD22_SHIFT (22U) +/*! PDD22 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD22_SHIFT)) & RGPIO_PDDR_PDD22_MASK) + +#define RGPIO_PDDR_PDD23_MASK (0x800000U) +#define RGPIO_PDDR_PDD23_SHIFT (23U) +/*! PDD23 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD23_SHIFT)) & RGPIO_PDDR_PDD23_MASK) + +#define RGPIO_PDDR_PDD24_MASK (0x1000000U) +#define RGPIO_PDDR_PDD24_SHIFT (24U) +/*! PDD24 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD24_SHIFT)) & RGPIO_PDDR_PDD24_MASK) + +#define RGPIO_PDDR_PDD25_MASK (0x2000000U) +#define RGPIO_PDDR_PDD25_SHIFT (25U) +/*! PDD25 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD25_SHIFT)) & RGPIO_PDDR_PDD25_MASK) + +#define RGPIO_PDDR_PDD26_MASK (0x4000000U) +#define RGPIO_PDDR_PDD26_SHIFT (26U) +/*! PDD26 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD26_SHIFT)) & RGPIO_PDDR_PDD26_MASK) + +#define RGPIO_PDDR_PDD27_MASK (0x8000000U) +#define RGPIO_PDDR_PDD27_SHIFT (27U) +/*! PDD27 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD27_SHIFT)) & RGPIO_PDDR_PDD27_MASK) + +#define RGPIO_PDDR_PDD28_MASK (0x10000000U) +#define RGPIO_PDDR_PDD28_SHIFT (28U) +/*! PDD28 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD28_SHIFT)) & RGPIO_PDDR_PDD28_MASK) + +#define RGPIO_PDDR_PDD29_MASK (0x20000000U) +#define RGPIO_PDDR_PDD29_SHIFT (29U) +/*! PDD29 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD29_SHIFT)) & RGPIO_PDDR_PDD29_MASK) + +#define RGPIO_PDDR_PDD30_MASK (0x40000000U) +#define RGPIO_PDDR_PDD30_SHIFT (30U) +/*! PDD30 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD30_SHIFT)) & RGPIO_PDDR_PDD30_MASK) + +#define RGPIO_PDDR_PDD31_MASK (0x80000000U) +#define RGPIO_PDDR_PDD31_SHIFT (31U) +/*! PDD31 - Port Data Direction + * 0b0..Input + * 0b1..Output + */ +#define RGPIO_PDDR_PDD31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PDDR_PDD31_SHIFT)) & RGPIO_PDDR_PDD31_MASK) +/*! @} */ + +/*! @name PIDR - Port Input Disable */ +/*! @{ */ + +#define RGPIO_PIDR_PID0_MASK (0x1U) +#define RGPIO_PIDR_PID0_SHIFT (0U) +/*! PID0 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID0_SHIFT)) & RGPIO_PIDR_PID0_MASK) + +#define RGPIO_PIDR_PID1_MASK (0x2U) +#define RGPIO_PIDR_PID1_SHIFT (1U) +/*! PID1 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID1_SHIFT)) & RGPIO_PIDR_PID1_MASK) + +#define RGPIO_PIDR_PID2_MASK (0x4U) +#define RGPIO_PIDR_PID2_SHIFT (2U) +/*! PID2 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID2_SHIFT)) & RGPIO_PIDR_PID2_MASK) + +#define RGPIO_PIDR_PID3_MASK (0x8U) +#define RGPIO_PIDR_PID3_SHIFT (3U) +/*! PID3 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID3_SHIFT)) & RGPIO_PIDR_PID3_MASK) + +#define RGPIO_PIDR_PID4_MASK (0x10U) +#define RGPIO_PIDR_PID4_SHIFT (4U) +/*! PID4 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID4_SHIFT)) & RGPIO_PIDR_PID4_MASK) + +#define RGPIO_PIDR_PID5_MASK (0x20U) +#define RGPIO_PIDR_PID5_SHIFT (5U) +/*! PID5 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID5_SHIFT)) & RGPIO_PIDR_PID5_MASK) + +#define RGPIO_PIDR_PID6_MASK (0x40U) +#define RGPIO_PIDR_PID6_SHIFT (6U) +/*! PID6 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID6_SHIFT)) & RGPIO_PIDR_PID6_MASK) + +#define RGPIO_PIDR_PID7_MASK (0x80U) +#define RGPIO_PIDR_PID7_SHIFT (7U) +/*! PID7 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID7_SHIFT)) & RGPIO_PIDR_PID7_MASK) + +#define RGPIO_PIDR_PID8_MASK (0x100U) +#define RGPIO_PIDR_PID8_SHIFT (8U) +/*! PID8 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID8_SHIFT)) & RGPIO_PIDR_PID8_MASK) + +#define RGPIO_PIDR_PID9_MASK (0x200U) +#define RGPIO_PIDR_PID9_SHIFT (9U) +/*! PID9 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID9_SHIFT)) & RGPIO_PIDR_PID9_MASK) + +#define RGPIO_PIDR_PID10_MASK (0x400U) +#define RGPIO_PIDR_PID10_SHIFT (10U) +/*! PID10 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID10_SHIFT)) & RGPIO_PIDR_PID10_MASK) + +#define RGPIO_PIDR_PID11_MASK (0x800U) +#define RGPIO_PIDR_PID11_SHIFT (11U) +/*! PID11 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID11_SHIFT)) & RGPIO_PIDR_PID11_MASK) + +#define RGPIO_PIDR_PID12_MASK (0x1000U) +#define RGPIO_PIDR_PID12_SHIFT (12U) +/*! PID12 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID12_SHIFT)) & RGPIO_PIDR_PID12_MASK) + +#define RGPIO_PIDR_PID13_MASK (0x2000U) +#define RGPIO_PIDR_PID13_SHIFT (13U) +/*! PID13 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID13_SHIFT)) & RGPIO_PIDR_PID13_MASK) + +#define RGPIO_PIDR_PID14_MASK (0x4000U) +#define RGPIO_PIDR_PID14_SHIFT (14U) +/*! PID14 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID14_SHIFT)) & RGPIO_PIDR_PID14_MASK) + +#define RGPIO_PIDR_PID15_MASK (0x8000U) +#define RGPIO_PIDR_PID15_SHIFT (15U) +/*! PID15 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID15_SHIFT)) & RGPIO_PIDR_PID15_MASK) + +#define RGPIO_PIDR_PID16_MASK (0x10000U) +#define RGPIO_PIDR_PID16_SHIFT (16U) +/*! PID16 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID16_SHIFT)) & RGPIO_PIDR_PID16_MASK) + +#define RGPIO_PIDR_PID17_MASK (0x20000U) +#define RGPIO_PIDR_PID17_SHIFT (17U) +/*! PID17 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID17_SHIFT)) & RGPIO_PIDR_PID17_MASK) + +#define RGPIO_PIDR_PID18_MASK (0x40000U) +#define RGPIO_PIDR_PID18_SHIFT (18U) +/*! PID18 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID18_SHIFT)) & RGPIO_PIDR_PID18_MASK) + +#define RGPIO_PIDR_PID19_MASK (0x80000U) +#define RGPIO_PIDR_PID19_SHIFT (19U) +/*! PID19 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID19_SHIFT)) & RGPIO_PIDR_PID19_MASK) + +#define RGPIO_PIDR_PID20_MASK (0x100000U) +#define RGPIO_PIDR_PID20_SHIFT (20U) +/*! PID20 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID20_SHIFT)) & RGPIO_PIDR_PID20_MASK) + +#define RGPIO_PIDR_PID21_MASK (0x200000U) +#define RGPIO_PIDR_PID21_SHIFT (21U) +/*! PID21 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID21_SHIFT)) & RGPIO_PIDR_PID21_MASK) + +#define RGPIO_PIDR_PID22_MASK (0x400000U) +#define RGPIO_PIDR_PID22_SHIFT (22U) +/*! PID22 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID22_SHIFT)) & RGPIO_PIDR_PID22_MASK) + +#define RGPIO_PIDR_PID23_MASK (0x800000U) +#define RGPIO_PIDR_PID23_SHIFT (23U) +/*! PID23 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID23_SHIFT)) & RGPIO_PIDR_PID23_MASK) + +#define RGPIO_PIDR_PID24_MASK (0x1000000U) +#define RGPIO_PIDR_PID24_SHIFT (24U) +/*! PID24 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID24_SHIFT)) & RGPIO_PIDR_PID24_MASK) + +#define RGPIO_PIDR_PID25_MASK (0x2000000U) +#define RGPIO_PIDR_PID25_SHIFT (25U) +/*! PID25 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID25_SHIFT)) & RGPIO_PIDR_PID25_MASK) + +#define RGPIO_PIDR_PID26_MASK (0x4000000U) +#define RGPIO_PIDR_PID26_SHIFT (26U) +/*! PID26 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID26_SHIFT)) & RGPIO_PIDR_PID26_MASK) + +#define RGPIO_PIDR_PID27_MASK (0x8000000U) +#define RGPIO_PIDR_PID27_SHIFT (27U) +/*! PID27 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID27_SHIFT)) & RGPIO_PIDR_PID27_MASK) + +#define RGPIO_PIDR_PID28_MASK (0x10000000U) +#define RGPIO_PIDR_PID28_SHIFT (28U) +/*! PID28 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID28_SHIFT)) & RGPIO_PIDR_PID28_MASK) + +#define RGPIO_PIDR_PID29_MASK (0x20000000U) +#define RGPIO_PIDR_PID29_SHIFT (29U) +/*! PID29 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID29_SHIFT)) & RGPIO_PIDR_PID29_MASK) + +#define RGPIO_PIDR_PID30_MASK (0x40000000U) +#define RGPIO_PIDR_PID30_SHIFT (30U) +/*! PID30 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID30_SHIFT)) & RGPIO_PIDR_PID30_MASK) + +#define RGPIO_PIDR_PID31_MASK (0x80000000U) +#define RGPIO_PIDR_PID31_SHIFT (31U) +/*! PID31 - Port Input Disable + * 0b0..Configured for general-purpose input + * 0b1..Disabled for general-purpose input + */ +#define RGPIO_PIDR_PID31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_PIDR_PID31_SHIFT)) & RGPIO_PIDR_PID31_MASK) +/*! @} */ + +/*! @name PDR - Pin Data */ +/*! @{ */ + +#define RGPIO_PDR_PD_MASK (0x1U) +#define RGPIO_PDR_PD_SHIFT (0U) +/*! PD - Pin Data (I/O) + * 0b0..Logic zero + * 0b1..Logic one + */ +#define RGPIO_PDR_PD(x) (((uint8_t)(((uint8_t)(x)) << RGPIO_PDR_PD_SHIFT)) & RGPIO_PDR_PD_MASK) +/*! @} */ + +/* The count of RGPIO_PDR */ +#define RGPIO_PDR_COUNT (32U) + +/*! @name ICR - Interrupt Control 0..Interrupt Control 31 */ +/*! @{ */ + +#define RGPIO_ICR_IRQC_MASK (0xF0000U) +#define RGPIO_ICR_IRQC_SHIFT (16U) +/*! IRQC - Interrupt Configuration + * 0b0000..ISF is disabled + * 0b0001..ISF and DMA request on rising edge + * 0b0010..ISF and DMA request on falling edge + * 0b0011..ISF and DMA request on either edge + * 0b0100..Reserved + * 0b0101..ISF sets on rising edge + * 0b0110..ISF sets on falling edge + * 0b0111..ISF sets on either edge + * 0b1000..ISF and interrupt when logic 0 + * 0b1001..ISF and interrupt on rising edge + * 0b1010..ISF and interrupt on falling edge + * 0b1011..ISF and Interrupt on either edge + * 0b1100..ISF and interrupt when logic 1 + * 0b1101..Reserved + * 0b1110..Reserved + * 0b1111..Reserved + */ +#define RGPIO_ICR_IRQC(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ICR_IRQC_SHIFT)) & RGPIO_ICR_IRQC_MASK) + +#define RGPIO_ICR_IRQS_MASK (0x100000U) +#define RGPIO_ICR_IRQS_SHIFT (20U) +/*! IRQS - Interrupt Select + * 0b0..Interrupt, or DMA request 0 + * 0b1..Interrupt, or DMA request 1 + */ +#define RGPIO_ICR_IRQS(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ICR_IRQS_SHIFT)) & RGPIO_ICR_IRQS_MASK) + +#define RGPIO_ICR_LK_MASK (0x800000U) +#define RGPIO_ICR_LK_SHIFT (23U) +/*! LK - Lock + * 0b0..Not locked + * 0b1..Locked + */ +#define RGPIO_ICR_LK(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ICR_LK_SHIFT)) & RGPIO_ICR_LK_MASK) + +#define RGPIO_ICR_ISF_MASK (0x1000000U) +#define RGPIO_ICR_ISF_SHIFT (24U) +/*! ISF - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ICR_ISF(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ICR_ISF_SHIFT)) & RGPIO_ICR_ISF_MASK) +/*! @} */ + +/* The count of RGPIO_ICR */ +#define RGPIO_ICR_COUNT (32U) + +/*! @name GICLR - Global Interrupt Control Low */ +/*! @{ */ + +#define RGPIO_GICLR_GIWE0_MASK (0x1U) +#define RGPIO_GICLR_GIWE0_SHIFT (0U) +/*! GIWE0 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE0_SHIFT)) & RGPIO_GICLR_GIWE0_MASK) + +#define RGPIO_GICLR_GIWE1_MASK (0x2U) +#define RGPIO_GICLR_GIWE1_SHIFT (1U) +/*! GIWE1 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE1_SHIFT)) & RGPIO_GICLR_GIWE1_MASK) + +#define RGPIO_GICLR_GIWE2_MASK (0x4U) +#define RGPIO_GICLR_GIWE2_SHIFT (2U) +/*! GIWE2 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE2_SHIFT)) & RGPIO_GICLR_GIWE2_MASK) + +#define RGPIO_GICLR_GIWE3_MASK (0x8U) +#define RGPIO_GICLR_GIWE3_SHIFT (3U) +/*! GIWE3 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE3_SHIFT)) & RGPIO_GICLR_GIWE3_MASK) + +#define RGPIO_GICLR_GIWE4_MASK (0x10U) +#define RGPIO_GICLR_GIWE4_SHIFT (4U) +/*! GIWE4 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE4_SHIFT)) & RGPIO_GICLR_GIWE4_MASK) + +#define RGPIO_GICLR_GIWE5_MASK (0x20U) +#define RGPIO_GICLR_GIWE5_SHIFT (5U) +/*! GIWE5 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE5_SHIFT)) & RGPIO_GICLR_GIWE5_MASK) + +#define RGPIO_GICLR_GIWE6_MASK (0x40U) +#define RGPIO_GICLR_GIWE6_SHIFT (6U) +/*! GIWE6 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE6_SHIFT)) & RGPIO_GICLR_GIWE6_MASK) + +#define RGPIO_GICLR_GIWE7_MASK (0x80U) +#define RGPIO_GICLR_GIWE7_SHIFT (7U) +/*! GIWE7 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE7_SHIFT)) & RGPIO_GICLR_GIWE7_MASK) + +#define RGPIO_GICLR_GIWE8_MASK (0x100U) +#define RGPIO_GICLR_GIWE8_SHIFT (8U) +/*! GIWE8 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE8_SHIFT)) & RGPIO_GICLR_GIWE8_MASK) + +#define RGPIO_GICLR_GIWE9_MASK (0x200U) +#define RGPIO_GICLR_GIWE9_SHIFT (9U) +/*! GIWE9 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE9_SHIFT)) & RGPIO_GICLR_GIWE9_MASK) + +#define RGPIO_GICLR_GIWE10_MASK (0x400U) +#define RGPIO_GICLR_GIWE10_SHIFT (10U) +/*! GIWE10 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE10_SHIFT)) & RGPIO_GICLR_GIWE10_MASK) + +#define RGPIO_GICLR_GIWE11_MASK (0x800U) +#define RGPIO_GICLR_GIWE11_SHIFT (11U) +/*! GIWE11 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE11_SHIFT)) & RGPIO_GICLR_GIWE11_MASK) + +#define RGPIO_GICLR_GIWE12_MASK (0x1000U) +#define RGPIO_GICLR_GIWE12_SHIFT (12U) +/*! GIWE12 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE12_SHIFT)) & RGPIO_GICLR_GIWE12_MASK) + +#define RGPIO_GICLR_GIWE13_MASK (0x2000U) +#define RGPIO_GICLR_GIWE13_SHIFT (13U) +/*! GIWE13 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE13_SHIFT)) & RGPIO_GICLR_GIWE13_MASK) + +#define RGPIO_GICLR_GIWE14_MASK (0x4000U) +#define RGPIO_GICLR_GIWE14_SHIFT (14U) +/*! GIWE14 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE14_SHIFT)) & RGPIO_GICLR_GIWE14_MASK) + +#define RGPIO_GICLR_GIWE15_MASK (0x8000U) +#define RGPIO_GICLR_GIWE15_SHIFT (15U) +/*! GIWE15 - Global Interrupt Write Enable + * 0b0..Not updated + * 0b1..Updated + */ +#define RGPIO_GICLR_GIWE15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWE15_SHIFT)) & RGPIO_GICLR_GIWE15_MASK) + +#define RGPIO_GICLR_GIWD_MASK (0xFFFF0000U) +#define RGPIO_GICLR_GIWD_SHIFT (16U) +/*! GIWD - Global Interrupt Write Data */ +#define RGPIO_GICLR_GIWD(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICLR_GIWD_SHIFT)) & RGPIO_GICLR_GIWD_MASK) +/*! @} */ + +/*! @name GICHR - Global Interrupt Control High */ +/*! @{ */ + +#define RGPIO_GICHR_GIWE16_MASK (0x1U) +#define RGPIO_GICHR_GIWE16_SHIFT (0U) +/*! GIWE16 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE16_SHIFT)) & RGPIO_GICHR_GIWE16_MASK) + +#define RGPIO_GICHR_GIWE17_MASK (0x2U) +#define RGPIO_GICHR_GIWE17_SHIFT (1U) +/*! GIWE17 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE17_SHIFT)) & RGPIO_GICHR_GIWE17_MASK) + +#define RGPIO_GICHR_GIWE18_MASK (0x4U) +#define RGPIO_GICHR_GIWE18_SHIFT (2U) +/*! GIWE18 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE18_SHIFT)) & RGPIO_GICHR_GIWE18_MASK) + +#define RGPIO_GICHR_GIWE19_MASK (0x8U) +#define RGPIO_GICHR_GIWE19_SHIFT (3U) +/*! GIWE19 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE19_SHIFT)) & RGPIO_GICHR_GIWE19_MASK) + +#define RGPIO_GICHR_GIWE20_MASK (0x10U) +#define RGPIO_GICHR_GIWE20_SHIFT (4U) +/*! GIWE20 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE20_SHIFT)) & RGPIO_GICHR_GIWE20_MASK) + +#define RGPIO_GICHR_GIWE21_MASK (0x20U) +#define RGPIO_GICHR_GIWE21_SHIFT (5U) +/*! GIWE21 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE21_SHIFT)) & RGPIO_GICHR_GIWE21_MASK) + +#define RGPIO_GICHR_GIWE22_MASK (0x40U) +#define RGPIO_GICHR_GIWE22_SHIFT (6U) +/*! GIWE22 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE22_SHIFT)) & RGPIO_GICHR_GIWE22_MASK) + +#define RGPIO_GICHR_GIWE23_MASK (0x80U) +#define RGPIO_GICHR_GIWE23_SHIFT (7U) +/*! GIWE23 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE23_SHIFT)) & RGPIO_GICHR_GIWE23_MASK) + +#define RGPIO_GICHR_GIWE24_MASK (0x100U) +#define RGPIO_GICHR_GIWE24_SHIFT (8U) +/*! GIWE24 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE24_SHIFT)) & RGPIO_GICHR_GIWE24_MASK) + +#define RGPIO_GICHR_GIWE25_MASK (0x200U) +#define RGPIO_GICHR_GIWE25_SHIFT (9U) +/*! GIWE25 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE25_SHIFT)) & RGPIO_GICHR_GIWE25_MASK) + +#define RGPIO_GICHR_GIWE26_MASK (0x400U) +#define RGPIO_GICHR_GIWE26_SHIFT (10U) +/*! GIWE26 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE26_SHIFT)) & RGPIO_GICHR_GIWE26_MASK) + +#define RGPIO_GICHR_GIWE27_MASK (0x800U) +#define RGPIO_GICHR_GIWE27_SHIFT (11U) +/*! GIWE27 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE27_SHIFT)) & RGPIO_GICHR_GIWE27_MASK) + +#define RGPIO_GICHR_GIWE28_MASK (0x1000U) +#define RGPIO_GICHR_GIWE28_SHIFT (12U) +/*! GIWE28 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE28_SHIFT)) & RGPIO_GICHR_GIWE28_MASK) + +#define RGPIO_GICHR_GIWE29_MASK (0x2000U) +#define RGPIO_GICHR_GIWE29_SHIFT (13U) +/*! GIWE29 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE29_SHIFT)) & RGPIO_GICHR_GIWE29_MASK) + +#define RGPIO_GICHR_GIWE30_MASK (0x4000U) +#define RGPIO_GICHR_GIWE30_SHIFT (14U) +/*! GIWE30 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE30_SHIFT)) & RGPIO_GICHR_GIWE30_MASK) + +#define RGPIO_GICHR_GIWE31_MASK (0x8000U) +#define RGPIO_GICHR_GIWE31_SHIFT (15U) +/*! GIWE31 - Global Interrupt Write Enable + * 0b0..Not updated. + * 0b1..Updated + */ +#define RGPIO_GICHR_GIWE31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWE31_SHIFT)) & RGPIO_GICHR_GIWE31_MASK) + +#define RGPIO_GICHR_GIWD_MASK (0xFFFF0000U) +#define RGPIO_GICHR_GIWD_SHIFT (16U) +/*! GIWD - Global Interrupt Write Data */ +#define RGPIO_GICHR_GIWD(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_GICHR_GIWD_SHIFT)) & RGPIO_GICHR_GIWD_MASK) +/*! @} */ + +/*! @name ISFR - Interrupt Status Flag */ +/*! @{ */ + +#define RGPIO_ISFR_ISF0_MASK (0x1U) +#define RGPIO_ISFR_ISF0_SHIFT (0U) +/*! ISF0 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF0(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF0_SHIFT)) & RGPIO_ISFR_ISF0_MASK) + +#define RGPIO_ISFR_ISF1_MASK (0x2U) +#define RGPIO_ISFR_ISF1_SHIFT (1U) +/*! ISF1 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF1(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF1_SHIFT)) & RGPIO_ISFR_ISF1_MASK) + +#define RGPIO_ISFR_ISF2_MASK (0x4U) +#define RGPIO_ISFR_ISF2_SHIFT (2U) +/*! ISF2 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF2(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF2_SHIFT)) & RGPIO_ISFR_ISF2_MASK) + +#define RGPIO_ISFR_ISF3_MASK (0x8U) +#define RGPIO_ISFR_ISF3_SHIFT (3U) +/*! ISF3 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF3(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF3_SHIFT)) & RGPIO_ISFR_ISF3_MASK) + +#define RGPIO_ISFR_ISF4_MASK (0x10U) +#define RGPIO_ISFR_ISF4_SHIFT (4U) +/*! ISF4 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF4(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF4_SHIFT)) & RGPIO_ISFR_ISF4_MASK) + +#define RGPIO_ISFR_ISF5_MASK (0x20U) +#define RGPIO_ISFR_ISF5_SHIFT (5U) +/*! ISF5 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF5(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF5_SHIFT)) & RGPIO_ISFR_ISF5_MASK) + +#define RGPIO_ISFR_ISF6_MASK (0x40U) +#define RGPIO_ISFR_ISF6_SHIFT (6U) +/*! ISF6 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF6(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF6_SHIFT)) & RGPIO_ISFR_ISF6_MASK) + +#define RGPIO_ISFR_ISF7_MASK (0x80U) +#define RGPIO_ISFR_ISF7_SHIFT (7U) +/*! ISF7 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF7(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF7_SHIFT)) & RGPIO_ISFR_ISF7_MASK) + +#define RGPIO_ISFR_ISF8_MASK (0x100U) +#define RGPIO_ISFR_ISF8_SHIFT (8U) +/*! ISF8 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF8(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF8_SHIFT)) & RGPIO_ISFR_ISF8_MASK) + +#define RGPIO_ISFR_ISF9_MASK (0x200U) +#define RGPIO_ISFR_ISF9_SHIFT (9U) +/*! ISF9 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF9(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF9_SHIFT)) & RGPIO_ISFR_ISF9_MASK) + +#define RGPIO_ISFR_ISF10_MASK (0x400U) +#define RGPIO_ISFR_ISF10_SHIFT (10U) +/*! ISF10 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF10(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF10_SHIFT)) & RGPIO_ISFR_ISF10_MASK) + +#define RGPIO_ISFR_ISF11_MASK (0x800U) +#define RGPIO_ISFR_ISF11_SHIFT (11U) +/*! ISF11 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF11(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF11_SHIFT)) & RGPIO_ISFR_ISF11_MASK) + +#define RGPIO_ISFR_ISF12_MASK (0x1000U) +#define RGPIO_ISFR_ISF12_SHIFT (12U) +/*! ISF12 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF12(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF12_SHIFT)) & RGPIO_ISFR_ISF12_MASK) + +#define RGPIO_ISFR_ISF13_MASK (0x2000U) +#define RGPIO_ISFR_ISF13_SHIFT (13U) +/*! ISF13 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF13(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF13_SHIFT)) & RGPIO_ISFR_ISF13_MASK) + +#define RGPIO_ISFR_ISF14_MASK (0x4000U) +#define RGPIO_ISFR_ISF14_SHIFT (14U) +/*! ISF14 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF14(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF14_SHIFT)) & RGPIO_ISFR_ISF14_MASK) + +#define RGPIO_ISFR_ISF15_MASK (0x8000U) +#define RGPIO_ISFR_ISF15_SHIFT (15U) +/*! ISF15 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF15(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF15_SHIFT)) & RGPIO_ISFR_ISF15_MASK) + +#define RGPIO_ISFR_ISF16_MASK (0x10000U) +#define RGPIO_ISFR_ISF16_SHIFT (16U) +/*! ISF16 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF16(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF16_SHIFT)) & RGPIO_ISFR_ISF16_MASK) + +#define RGPIO_ISFR_ISF17_MASK (0x20000U) +#define RGPIO_ISFR_ISF17_SHIFT (17U) +/*! ISF17 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF17(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF17_SHIFT)) & RGPIO_ISFR_ISF17_MASK) + +#define RGPIO_ISFR_ISF18_MASK (0x40000U) +#define RGPIO_ISFR_ISF18_SHIFT (18U) +/*! ISF18 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF18(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF18_SHIFT)) & RGPIO_ISFR_ISF18_MASK) + +#define RGPIO_ISFR_ISF19_MASK (0x80000U) +#define RGPIO_ISFR_ISF19_SHIFT (19U) +/*! ISF19 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF19(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF19_SHIFT)) & RGPIO_ISFR_ISF19_MASK) + +#define RGPIO_ISFR_ISF20_MASK (0x100000U) +#define RGPIO_ISFR_ISF20_SHIFT (20U) +/*! ISF20 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF20(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF20_SHIFT)) & RGPIO_ISFR_ISF20_MASK) + +#define RGPIO_ISFR_ISF21_MASK (0x200000U) +#define RGPIO_ISFR_ISF21_SHIFT (21U) +/*! ISF21 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF21(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF21_SHIFT)) & RGPIO_ISFR_ISF21_MASK) + +#define RGPIO_ISFR_ISF22_MASK (0x400000U) +#define RGPIO_ISFR_ISF22_SHIFT (22U) +/*! ISF22 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF22(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF22_SHIFT)) & RGPIO_ISFR_ISF22_MASK) + +#define RGPIO_ISFR_ISF23_MASK (0x800000U) +#define RGPIO_ISFR_ISF23_SHIFT (23U) +/*! ISF23 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF23(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF23_SHIFT)) & RGPIO_ISFR_ISF23_MASK) + +#define RGPIO_ISFR_ISF24_MASK (0x1000000U) +#define RGPIO_ISFR_ISF24_SHIFT (24U) +/*! ISF24 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF24(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF24_SHIFT)) & RGPIO_ISFR_ISF24_MASK) + +#define RGPIO_ISFR_ISF25_MASK (0x2000000U) +#define RGPIO_ISFR_ISF25_SHIFT (25U) +/*! ISF25 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF25(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF25_SHIFT)) & RGPIO_ISFR_ISF25_MASK) + +#define RGPIO_ISFR_ISF26_MASK (0x4000000U) +#define RGPIO_ISFR_ISF26_SHIFT (26U) +/*! ISF26 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF26(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF26_SHIFT)) & RGPIO_ISFR_ISF26_MASK) + +#define RGPIO_ISFR_ISF27_MASK (0x8000000U) +#define RGPIO_ISFR_ISF27_SHIFT (27U) +/*! ISF27 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF27(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF27_SHIFT)) & RGPIO_ISFR_ISF27_MASK) + +#define RGPIO_ISFR_ISF28_MASK (0x10000000U) +#define RGPIO_ISFR_ISF28_SHIFT (28U) +/*! ISF28 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF28(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF28_SHIFT)) & RGPIO_ISFR_ISF28_MASK) + +#define RGPIO_ISFR_ISF29_MASK (0x20000000U) +#define RGPIO_ISFR_ISF29_SHIFT (29U) +/*! ISF29 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF29(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF29_SHIFT)) & RGPIO_ISFR_ISF29_MASK) + +#define RGPIO_ISFR_ISF30_MASK (0x40000000U) +#define RGPIO_ISFR_ISF30_SHIFT (30U) +/*! ISF30 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF30(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF30_SHIFT)) & RGPIO_ISFR_ISF30_MASK) + +#define RGPIO_ISFR_ISF31_MASK (0x80000000U) +#define RGPIO_ISFR_ISF31_SHIFT (31U) +/*! ISF31 - Interrupt Status Flag + * 0b0..Not detected + * 0b0..No effect + * 0b1..Detected + * 0b1..Clear the flag + */ +#define RGPIO_ISFR_ISF31(x) (((uint32_t)(((uint32_t)(x)) << RGPIO_ISFR_ISF31_SHIFT)) & RGPIO_ISFR_ISF31_MASK) +/*! @} */ + +/* The count of RGPIO_ISFR */ +#define RGPIO_ISFR_COUNT (2U) + + +/*! + * @} + */ /* end of group RGPIO_Register_Masks */ + + +/* RGPIO - Peripheral instance base addresses */ +/** Peripheral GPIO1 base address */ +#define GPIO1_BASE (0x47400000u) +/** Peripheral GPIO1 base pointer */ +#define GPIO1 ((RGPIO_Type *)GPIO1_BASE) +/** Peripheral GPIO2 base address */ +#define GPIO2_BASE (0x43810000u) +/** Peripheral GPIO2 base pointer */ +#define GPIO2 ((RGPIO_Type *)GPIO2_BASE) +/** Peripheral GPIO3 base address */ +#define GPIO3_BASE (0x43820000u) +/** Peripheral GPIO3 base pointer */ +#define GPIO3 ((RGPIO_Type *)GPIO3_BASE) +/** Peripheral GPIO4 base address */ +#define GPIO4_BASE (0x43830000u) +/** Peripheral GPIO4 base pointer */ +#define GPIO4 ((RGPIO_Type *)GPIO4_BASE) +/** Array initializer of RGPIO peripheral base addresses */ +#define RGPIO_BASE_ADDRS { GPIO1_BASE, GPIO2_BASE, GPIO3_BASE, GPIO4_BASE } +/** Array initializer of RGPIO peripheral base pointers */ +#define RGPIO_BASE_PTRS { GPIO1, GPIO2, GPIO3, GPIO4 } +/** Interrupt vectors for the RGPIO peripheral type */ +#define RGPIO_IRQS { GPIO1_0_IRQn, GPIO2_0_IRQn, GPIO3_0_IRQn, GPIO4_0_IRQn } + +/*! + * @} + */ /* end of group RGPIO_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- SEMA42 Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SEMA42_Peripheral_Access_Layer SEMA42 Peripheral Access Layer + * @{ + */ + +/** SEMA42 - Register Layout Typedef */ +typedef struct { + __IO uint8_t GATE3; /**< Gate, offset: 0x0 */ + __IO uint8_t GATE2; /**< Gate, offset: 0x1 */ + __IO uint8_t GATE1; /**< Gate, offset: 0x2 */ + __IO uint8_t GATE0; /**< Gate, offset: 0x3 */ + __IO uint8_t GATE7; /**< Gate, offset: 0x4 */ + __IO uint8_t GATE6; /**< Gate, offset: 0x5 */ + __IO uint8_t GATE5; /**< Gate, offset: 0x6 */ + __IO uint8_t GATE4; /**< Gate, offset: 0x7 */ + __IO uint8_t GATE11; /**< Gate, offset: 0x8 */ + __IO uint8_t GATE10; /**< Gate, offset: 0x9 */ + __IO uint8_t GATE9; /**< Gate, offset: 0xA */ + __IO uint8_t GATE8; /**< Gate, offset: 0xB */ + __IO uint8_t GATE15; /**< Gate, offset: 0xC */ + __IO uint8_t GATE14; /**< Gate, offset: 0xD */ + __IO uint8_t GATE13; /**< Gate, offset: 0xE */ + __IO uint8_t GATE12; /**< Gate, offset: 0xF */ + __IO uint8_t GATE19; /**< Gate, offset: 0x10 */ + __IO uint8_t GATE18; /**< Gate, offset: 0x11 */ + __IO uint8_t GATE17; /**< Gate, offset: 0x12 */ + __IO uint8_t GATE16; /**< Gate, offset: 0x13 */ + __IO uint8_t GATE23; /**< Gate, offset: 0x14 */ + __IO uint8_t GATE22; /**< Gate, offset: 0x15 */ + __IO uint8_t GATE21; /**< Gate, offset: 0x16 */ + __IO uint8_t GATE20; /**< Gate, offset: 0x17 */ + __IO uint8_t GATE27; /**< Gate, offset: 0x18 */ + __IO uint8_t GATE26; /**< Gate, offset: 0x19 */ + __IO uint8_t GATE25; /**< Gate, offset: 0x1A */ + __IO uint8_t GATE24; /**< Gate, offset: 0x1B */ + __IO uint8_t GATE31; /**< Gate, offset: 0x1C */ + __IO uint8_t GATE30; /**< Gate, offset: 0x1D */ + __IO uint8_t GATE29; /**< Gate, offset: 0x1E */ + __IO uint8_t GATE28; /**< Gate, offset: 0x1F */ + __IO uint8_t GATE35; /**< Gate, offset: 0x20 */ + __IO uint8_t GATE34; /**< Gate, offset: 0x21 */ + __IO uint8_t GATE33; /**< Gate, offset: 0x22 */ + __IO uint8_t GATE32; /**< Gate, offset: 0x23 */ + __IO uint8_t GATE39; /**< Gate, offset: 0x24 */ + __IO uint8_t GATE38; /**< Gate, offset: 0x25 */ + __IO uint8_t GATE37; /**< Gate, offset: 0x26 */ + __IO uint8_t GATE36; /**< Gate, offset: 0x27 */ + __IO uint8_t GATE43; /**< Gate, offset: 0x28 */ + __IO uint8_t GATE42; /**< Gate, offset: 0x29 */ + __IO uint8_t GATE41; /**< Gate, offset: 0x2A */ + __IO uint8_t GATE40; /**< Gate, offset: 0x2B */ + __IO uint8_t GATE47; /**< Gate, offset: 0x2C */ + __IO uint8_t GATE46; /**< Gate, offset: 0x2D */ + __IO uint8_t GATE45; /**< Gate, offset: 0x2E */ + __IO uint8_t GATE44; /**< Gate, offset: 0x2F */ + __IO uint8_t GATE51; /**< Gate, offset: 0x30 */ + __IO uint8_t GATE50; /**< Gate, offset: 0x31 */ + __IO uint8_t GATE49; /**< Gate, offset: 0x32 */ + __IO uint8_t GATE48; /**< Gate, offset: 0x33 */ + __IO uint8_t GATE55; /**< Gate, offset: 0x34 */ + __IO uint8_t GATE54; /**< Gate, offset: 0x35 */ + __IO uint8_t GATE53; /**< Gate, offset: 0x36 */ + __IO uint8_t GATE52; /**< Gate, offset: 0x37 */ + __IO uint8_t GATE59; /**< Gate, offset: 0x38 */ + __IO uint8_t GATE58; /**< Gate, offset: 0x39 */ + __IO uint8_t GATE57; /**< Gate, offset: 0x3A */ + __IO uint8_t GATE56; /**< Gate, offset: 0x3B */ + __IO uint8_t GATE63; /**< Gate, offset: 0x3C */ + __IO uint8_t GATE62; /**< Gate, offset: 0x3D */ + __IO uint8_t GATE61; /**< Gate, offset: 0x3E */ + __IO uint8_t GATE60; /**< Gate, offset: 0x3F */ + uint8_t RESERVED_0[2]; + union { /* offset: 0x42 */ + __I uint16_t RSTGT_R; /**< Reset Gate Read, offset: 0x42 */ + __O uint16_t RSTGT_W; /**< Reset Gate Write, offset: 0x42 */ + }; +} SEMA42_Type; + +/* ---------------------------------------------------------------------------- + -- SEMA42 Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SEMA42_Register_Masks SEMA42 Register Masks + * @{ + */ + +/*! @name GATE3 - Gate */ +/*! @{ */ + +#define SEMA42_GATE3_GTFSM_MASK (0xFU) +#define SEMA42_GATE3_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE3_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE3_GTFSM_SHIFT)) & SEMA42_GATE3_GTFSM_MASK) +/*! @} */ + +/*! @name GATE2 - Gate */ +/*! @{ */ + +#define SEMA42_GATE2_GTFSM_MASK (0xFU) +#define SEMA42_GATE2_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE2_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE2_GTFSM_SHIFT)) & SEMA42_GATE2_GTFSM_MASK) +/*! @} */ + +/*! @name GATE1 - Gate */ +/*! @{ */ + +#define SEMA42_GATE1_GTFSM_MASK (0xFU) +#define SEMA42_GATE1_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE1_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE1_GTFSM_SHIFT)) & SEMA42_GATE1_GTFSM_MASK) +/*! @} */ + +/*! @name GATE0 - Gate */ +/*! @{ */ + +#define SEMA42_GATE0_GTFSM_MASK (0xFU) +#define SEMA42_GATE0_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE0_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE0_GTFSM_SHIFT)) & SEMA42_GATE0_GTFSM_MASK) +/*! @} */ + +/*! @name GATE7 - Gate */ +/*! @{ */ + +#define SEMA42_GATE7_GTFSM_MASK (0xFU) +#define SEMA42_GATE7_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE7_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE7_GTFSM_SHIFT)) & SEMA42_GATE7_GTFSM_MASK) +/*! @} */ + +/*! @name GATE6 - Gate */ +/*! @{ */ + +#define SEMA42_GATE6_GTFSM_MASK (0xFU) +#define SEMA42_GATE6_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE6_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE6_GTFSM_SHIFT)) & SEMA42_GATE6_GTFSM_MASK) +/*! @} */ + +/*! @name GATE5 - Gate */ +/*! @{ */ + +#define SEMA42_GATE5_GTFSM_MASK (0xFU) +#define SEMA42_GATE5_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE5_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE5_GTFSM_SHIFT)) & SEMA42_GATE5_GTFSM_MASK) +/*! @} */ + +/*! @name GATE4 - Gate */ +/*! @{ */ + +#define SEMA42_GATE4_GTFSM_MASK (0xFU) +#define SEMA42_GATE4_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE4_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE4_GTFSM_SHIFT)) & SEMA42_GATE4_GTFSM_MASK) +/*! @} */ + +/*! @name GATE11 - Gate */ +/*! @{ */ + +#define SEMA42_GATE11_GTFSM_MASK (0xFU) +#define SEMA42_GATE11_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE11_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE11_GTFSM_SHIFT)) & SEMA42_GATE11_GTFSM_MASK) +/*! @} */ + +/*! @name GATE10 - Gate */ +/*! @{ */ + +#define SEMA42_GATE10_GTFSM_MASK (0xFU) +#define SEMA42_GATE10_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE10_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE10_GTFSM_SHIFT)) & SEMA42_GATE10_GTFSM_MASK) +/*! @} */ + +/*! @name GATE9 - Gate */ +/*! @{ */ + +#define SEMA42_GATE9_GTFSM_MASK (0xFU) +#define SEMA42_GATE9_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE9_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE9_GTFSM_SHIFT)) & SEMA42_GATE9_GTFSM_MASK) +/*! @} */ + +/*! @name GATE8 - Gate */ +/*! @{ */ + +#define SEMA42_GATE8_GTFSM_MASK (0xFU) +#define SEMA42_GATE8_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE8_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE8_GTFSM_SHIFT)) & SEMA42_GATE8_GTFSM_MASK) +/*! @} */ + +/*! @name GATE15 - Gate */ +/*! @{ */ + +#define SEMA42_GATE15_GTFSM_MASK (0xFU) +#define SEMA42_GATE15_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE15_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE15_GTFSM_SHIFT)) & SEMA42_GATE15_GTFSM_MASK) +/*! @} */ + +/*! @name GATE14 - Gate */ +/*! @{ */ + +#define SEMA42_GATE14_GTFSM_MASK (0xFU) +#define SEMA42_GATE14_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE14_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE14_GTFSM_SHIFT)) & SEMA42_GATE14_GTFSM_MASK) +/*! @} */ + +/*! @name GATE13 - Gate */ +/*! @{ */ + +#define SEMA42_GATE13_GTFSM_MASK (0xFU) +#define SEMA42_GATE13_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE13_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE13_GTFSM_SHIFT)) & SEMA42_GATE13_GTFSM_MASK) +/*! @} */ + +/*! @name GATE12 - Gate */ +/*! @{ */ + +#define SEMA42_GATE12_GTFSM_MASK (0xFU) +#define SEMA42_GATE12_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE12_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE12_GTFSM_SHIFT)) & SEMA42_GATE12_GTFSM_MASK) +/*! @} */ + +/*! @name GATE19 - Gate */ +/*! @{ */ + +#define SEMA42_GATE19_GTFSM_MASK (0xFU) +#define SEMA42_GATE19_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE19_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE19_GTFSM_SHIFT)) & SEMA42_GATE19_GTFSM_MASK) +/*! @} */ + +/*! @name GATE18 - Gate */ +/*! @{ */ + +#define SEMA42_GATE18_GTFSM_MASK (0xFU) +#define SEMA42_GATE18_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE18_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE18_GTFSM_SHIFT)) & SEMA42_GATE18_GTFSM_MASK) +/*! @} */ + +/*! @name GATE17 - Gate */ +/*! @{ */ + +#define SEMA42_GATE17_GTFSM_MASK (0xFU) +#define SEMA42_GATE17_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE17_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE17_GTFSM_SHIFT)) & SEMA42_GATE17_GTFSM_MASK) +/*! @} */ + +/*! @name GATE16 - Gate */ +/*! @{ */ + +#define SEMA42_GATE16_GTFSM_MASK (0xFU) +#define SEMA42_GATE16_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE16_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE16_GTFSM_SHIFT)) & SEMA42_GATE16_GTFSM_MASK) +/*! @} */ + +/*! @name GATE23 - Gate */ +/*! @{ */ + +#define SEMA42_GATE23_GTFSM_MASK (0xFU) +#define SEMA42_GATE23_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE23_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE23_GTFSM_SHIFT)) & SEMA42_GATE23_GTFSM_MASK) +/*! @} */ + +/*! @name GATE22 - Gate */ +/*! @{ */ + +#define SEMA42_GATE22_GTFSM_MASK (0xFU) +#define SEMA42_GATE22_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE22_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE22_GTFSM_SHIFT)) & SEMA42_GATE22_GTFSM_MASK) +/*! @} */ + +/*! @name GATE21 - Gate */ +/*! @{ */ + +#define SEMA42_GATE21_GTFSM_MASK (0xFU) +#define SEMA42_GATE21_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE21_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE21_GTFSM_SHIFT)) & SEMA42_GATE21_GTFSM_MASK) +/*! @} */ + +/*! @name GATE20 - Gate */ +/*! @{ */ + +#define SEMA42_GATE20_GTFSM_MASK (0xFU) +#define SEMA42_GATE20_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE20_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE20_GTFSM_SHIFT)) & SEMA42_GATE20_GTFSM_MASK) +/*! @} */ + +/*! @name GATE27 - Gate */ +/*! @{ */ + +#define SEMA42_GATE27_GTFSM_MASK (0xFU) +#define SEMA42_GATE27_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE27_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE27_GTFSM_SHIFT)) & SEMA42_GATE27_GTFSM_MASK) +/*! @} */ + +/*! @name GATE26 - Gate */ +/*! @{ */ + +#define SEMA42_GATE26_GTFSM_MASK (0xFU) +#define SEMA42_GATE26_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE26_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE26_GTFSM_SHIFT)) & SEMA42_GATE26_GTFSM_MASK) +/*! @} */ + +/*! @name GATE25 - Gate */ +/*! @{ */ + +#define SEMA42_GATE25_GTFSM_MASK (0xFU) +#define SEMA42_GATE25_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE25_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE25_GTFSM_SHIFT)) & SEMA42_GATE25_GTFSM_MASK) +/*! @} */ + +/*! @name GATE24 - Gate */ +/*! @{ */ + +#define SEMA42_GATE24_GTFSM_MASK (0xFU) +#define SEMA42_GATE24_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE24_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE24_GTFSM_SHIFT)) & SEMA42_GATE24_GTFSM_MASK) +/*! @} */ + +/*! @name GATE31 - Gate */ +/*! @{ */ + +#define SEMA42_GATE31_GTFSM_MASK (0xFU) +#define SEMA42_GATE31_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE31_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE31_GTFSM_SHIFT)) & SEMA42_GATE31_GTFSM_MASK) +/*! @} */ + +/*! @name GATE30 - Gate */ +/*! @{ */ + +#define SEMA42_GATE30_GTFSM_MASK (0xFU) +#define SEMA42_GATE30_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE30_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE30_GTFSM_SHIFT)) & SEMA42_GATE30_GTFSM_MASK) +/*! @} */ + +/*! @name GATE29 - Gate */ +/*! @{ */ + +#define SEMA42_GATE29_GTFSM_MASK (0xFU) +#define SEMA42_GATE29_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE29_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE29_GTFSM_SHIFT)) & SEMA42_GATE29_GTFSM_MASK) +/*! @} */ + +/*! @name GATE28 - Gate */ +/*! @{ */ + +#define SEMA42_GATE28_GTFSM_MASK (0xFU) +#define SEMA42_GATE28_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE28_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE28_GTFSM_SHIFT)) & SEMA42_GATE28_GTFSM_MASK) +/*! @} */ + +/*! @name GATE35 - Gate */ +/*! @{ */ + +#define SEMA42_GATE35_GTFSM_MASK (0xFU) +#define SEMA42_GATE35_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE35_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE35_GTFSM_SHIFT)) & SEMA42_GATE35_GTFSM_MASK) +/*! @} */ + +/*! @name GATE34 - Gate */ +/*! @{ */ + +#define SEMA42_GATE34_GTFSM_MASK (0xFU) +#define SEMA42_GATE34_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE34_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE34_GTFSM_SHIFT)) & SEMA42_GATE34_GTFSM_MASK) +/*! @} */ + +/*! @name GATE33 - Gate */ +/*! @{ */ + +#define SEMA42_GATE33_GTFSM_MASK (0xFU) +#define SEMA42_GATE33_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE33_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE33_GTFSM_SHIFT)) & SEMA42_GATE33_GTFSM_MASK) +/*! @} */ + +/*! @name GATE32 - Gate */ +/*! @{ */ + +#define SEMA42_GATE32_GTFSM_MASK (0xFU) +#define SEMA42_GATE32_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE32_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE32_GTFSM_SHIFT)) & SEMA42_GATE32_GTFSM_MASK) +/*! @} */ + +/*! @name GATE39 - Gate */ +/*! @{ */ + +#define SEMA42_GATE39_GTFSM_MASK (0xFU) +#define SEMA42_GATE39_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE39_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE39_GTFSM_SHIFT)) & SEMA42_GATE39_GTFSM_MASK) +/*! @} */ + +/*! @name GATE38 - Gate */ +/*! @{ */ + +#define SEMA42_GATE38_GTFSM_MASK (0xFU) +#define SEMA42_GATE38_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE38_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE38_GTFSM_SHIFT)) & SEMA42_GATE38_GTFSM_MASK) +/*! @} */ + +/*! @name GATE37 - Gate */ +/*! @{ */ + +#define SEMA42_GATE37_GTFSM_MASK (0xFU) +#define SEMA42_GATE37_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE37_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE37_GTFSM_SHIFT)) & SEMA42_GATE37_GTFSM_MASK) +/*! @} */ + +/*! @name GATE36 - Gate */ +/*! @{ */ + +#define SEMA42_GATE36_GTFSM_MASK (0xFU) +#define SEMA42_GATE36_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE36_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE36_GTFSM_SHIFT)) & SEMA42_GATE36_GTFSM_MASK) +/*! @} */ + +/*! @name GATE43 - Gate */ +/*! @{ */ + +#define SEMA42_GATE43_GTFSM_MASK (0xFU) +#define SEMA42_GATE43_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE43_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE43_GTFSM_SHIFT)) & SEMA42_GATE43_GTFSM_MASK) +/*! @} */ + +/*! @name GATE42 - Gate */ +/*! @{ */ + +#define SEMA42_GATE42_GTFSM_MASK (0xFU) +#define SEMA42_GATE42_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE42_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE42_GTFSM_SHIFT)) & SEMA42_GATE42_GTFSM_MASK) +/*! @} */ + +/*! @name GATE41 - Gate */ +/*! @{ */ + +#define SEMA42_GATE41_GTFSM_MASK (0xFU) +#define SEMA42_GATE41_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE41_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE41_GTFSM_SHIFT)) & SEMA42_GATE41_GTFSM_MASK) +/*! @} */ + +/*! @name GATE40 - Gate */ +/*! @{ */ + +#define SEMA42_GATE40_GTFSM_MASK (0xFU) +#define SEMA42_GATE40_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE40_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE40_GTFSM_SHIFT)) & SEMA42_GATE40_GTFSM_MASK) +/*! @} */ + +/*! @name GATE47 - Gate */ +/*! @{ */ + +#define SEMA42_GATE47_GTFSM_MASK (0xFU) +#define SEMA42_GATE47_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE47_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE47_GTFSM_SHIFT)) & SEMA42_GATE47_GTFSM_MASK) +/*! @} */ + +/*! @name GATE46 - Gate */ +/*! @{ */ + +#define SEMA42_GATE46_GTFSM_MASK (0xFU) +#define SEMA42_GATE46_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE46_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE46_GTFSM_SHIFT)) & SEMA42_GATE46_GTFSM_MASK) +/*! @} */ + +/*! @name GATE45 - Gate */ +/*! @{ */ + +#define SEMA42_GATE45_GTFSM_MASK (0xFU) +#define SEMA42_GATE45_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE45_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE45_GTFSM_SHIFT)) & SEMA42_GATE45_GTFSM_MASK) +/*! @} */ + +/*! @name GATE44 - Gate */ +/*! @{ */ + +#define SEMA42_GATE44_GTFSM_MASK (0xFU) +#define SEMA42_GATE44_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE44_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE44_GTFSM_SHIFT)) & SEMA42_GATE44_GTFSM_MASK) +/*! @} */ + +/*! @name GATE51 - Gate */ +/*! @{ */ + +#define SEMA42_GATE51_GTFSM_MASK (0xFU) +#define SEMA42_GATE51_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE51_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE51_GTFSM_SHIFT)) & SEMA42_GATE51_GTFSM_MASK) +/*! @} */ + +/*! @name GATE50 - Gate */ +/*! @{ */ + +#define SEMA42_GATE50_GTFSM_MASK (0xFU) +#define SEMA42_GATE50_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE50_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE50_GTFSM_SHIFT)) & SEMA42_GATE50_GTFSM_MASK) +/*! @} */ + +/*! @name GATE49 - Gate */ +/*! @{ */ + +#define SEMA42_GATE49_GTFSM_MASK (0xFU) +#define SEMA42_GATE49_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE49_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE49_GTFSM_SHIFT)) & SEMA42_GATE49_GTFSM_MASK) +/*! @} */ + +/*! @name GATE48 - Gate */ +/*! @{ */ + +#define SEMA42_GATE48_GTFSM_MASK (0xFU) +#define SEMA42_GATE48_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE48_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE48_GTFSM_SHIFT)) & SEMA42_GATE48_GTFSM_MASK) +/*! @} */ + +/*! @name GATE55 - Gate */ +/*! @{ */ + +#define SEMA42_GATE55_GTFSM_MASK (0xFU) +#define SEMA42_GATE55_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE55_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE55_GTFSM_SHIFT)) & SEMA42_GATE55_GTFSM_MASK) +/*! @} */ + +/*! @name GATE54 - Gate */ +/*! @{ */ + +#define SEMA42_GATE54_GTFSM_MASK (0xFU) +#define SEMA42_GATE54_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE54_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE54_GTFSM_SHIFT)) & SEMA42_GATE54_GTFSM_MASK) +/*! @} */ + +/*! @name GATE53 - Gate */ +/*! @{ */ + +#define SEMA42_GATE53_GTFSM_MASK (0xFU) +#define SEMA42_GATE53_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE53_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE53_GTFSM_SHIFT)) & SEMA42_GATE53_GTFSM_MASK) +/*! @} */ + +/*! @name GATE52 - Gate */ +/*! @{ */ + +#define SEMA42_GATE52_GTFSM_MASK (0xFU) +#define SEMA42_GATE52_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE52_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE52_GTFSM_SHIFT)) & SEMA42_GATE52_GTFSM_MASK) +/*! @} */ + +/*! @name GATE59 - Gate */ +/*! @{ */ + +#define SEMA42_GATE59_GTFSM_MASK (0xFU) +#define SEMA42_GATE59_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE59_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE59_GTFSM_SHIFT)) & SEMA42_GATE59_GTFSM_MASK) +/*! @} */ + +/*! @name GATE58 - Gate */ +/*! @{ */ + +#define SEMA42_GATE58_GTFSM_MASK (0xFU) +#define SEMA42_GATE58_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE58_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE58_GTFSM_SHIFT)) & SEMA42_GATE58_GTFSM_MASK) +/*! @} */ + +/*! @name GATE57 - Gate */ +/*! @{ */ + +#define SEMA42_GATE57_GTFSM_MASK (0xFU) +#define SEMA42_GATE57_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE57_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE57_GTFSM_SHIFT)) & SEMA42_GATE57_GTFSM_MASK) +/*! @} */ + +/*! @name GATE56 - Gate */ +/*! @{ */ + +#define SEMA42_GATE56_GTFSM_MASK (0xFU) +#define SEMA42_GATE56_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE56_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE56_GTFSM_SHIFT)) & SEMA42_GATE56_GTFSM_MASK) +/*! @} */ + +/*! @name GATE63 - Gate */ +/*! @{ */ + +#define SEMA42_GATE63_GTFSM_MASK (0xFU) +#define SEMA42_GATE63_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE63_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE63_GTFSM_SHIFT)) & SEMA42_GATE63_GTFSM_MASK) +/*! @} */ + +/*! @name GATE62 - Gate */ +/*! @{ */ + +#define SEMA42_GATE62_GTFSM_MASK (0xFU) +#define SEMA42_GATE62_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE62_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE62_GTFSM_SHIFT)) & SEMA42_GATE62_GTFSM_MASK) +/*! @} */ + +/*! @name GATE61 - Gate */ +/*! @{ */ + +#define SEMA42_GATE61_GTFSM_MASK (0xFU) +#define SEMA42_GATE61_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE61_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE61_GTFSM_SHIFT)) & SEMA42_GATE61_GTFSM_MASK) +/*! @} */ + +/*! @name GATE60 - Gate */ +/*! @{ */ + +#define SEMA42_GATE60_GTFSM_MASK (0xFU) +#define SEMA42_GATE60_GTFSM_SHIFT (0U) +/*! GTFSM - Gate Finite State Machine + * 0b0000..The gate is unlocked (free). + * 0b0001..Domain 0 locked the gate. + * 0b0010..Domain 1 locked the gate. + * 0b0011..Domain 2 locked the gate. + * 0b0100..Domain 3 locked the gate. + * 0b0101..Domain 4 locked the gate. + * 0b0110..Domain 5 locked the gate. + * 0b0111..Domain 6 locked the gate. + * 0b1000..Domain 7 locked the gate. + * 0b1001..Domain 8 locked the gate. + * 0b1010..Domain 9 locked the gate. + * 0b1011..Domain 10 locked the gate. + * 0b1100..Domain 11 locked the gate. + * 0b1101..Domain 12 locked the gate. + * 0b1110..Domain 13 locked the gate. + * 0b1111..Domain 14 locked the gate. + */ +#define SEMA42_GATE60_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE60_GTFSM_SHIFT)) & SEMA42_GATE60_GTFSM_MASK) +/*! @} */ + +/*! @name RSTGT_R - Reset Gate Read */ +/*! @{ */ + +#define SEMA42_RSTGT_R_RSTGTN_MASK (0xFFU) +#define SEMA42_RSTGT_R_RSTGTN_SHIFT (0U) +/*! RSTGTN - Reset Gate Number */ +#define SEMA42_RSTGT_R_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGTN_SHIFT)) & SEMA42_RSTGT_R_RSTGTN_MASK) + +#define SEMA42_RSTGT_R_RSTGMS_MASK (0xF00U) +#define SEMA42_RSTGT_R_RSTGMS_SHIFT (8U) +/*! RSTGMS - Reset Gate Domain */ +#define SEMA42_RSTGT_R_RSTGMS(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGMS_SHIFT)) & SEMA42_RSTGT_R_RSTGMS_MASK) + +#define SEMA42_RSTGT_R_RSTGSM_MASK (0x3000U) +#define SEMA42_RSTGT_R_RSTGSM_SHIFT (12U) +/*! RSTGSM - Reset Gate Finite State Machine + * 0b00..Idle, waiting for the first data pattern write. + * 0b01..Waiting for the second data pattern write + * 0b10..The 2-write sequence has completed. Generate the specified gate reset(s). After the reset is performed, + * this machine returns to the idle (waiting for first data pattern write) state. + * 0b11..This state encoding is never used and therefore reserved. + */ +#define SEMA42_RSTGT_R_RSTGSM(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGSM_SHIFT)) & SEMA42_RSTGT_R_RSTGSM_MASK) +/*! @} */ + +/*! @name RSTGT_W - Reset Gate Write */ +/*! @{ */ + +#define SEMA42_RSTGT_W_RSTGTN_MASK (0xFFU) +#define SEMA42_RSTGT_W_RSTGTN_SHIFT (0U) +/*! RSTGTN - Reset Gate Number */ +#define SEMA42_RSTGT_W_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_W_RSTGTN_SHIFT)) & SEMA42_RSTGT_W_RSTGTN_MASK) + +#define SEMA42_RSTGT_W_RSTGDP_MASK (0xFF00U) +#define SEMA42_RSTGT_W_RSTGDP_SHIFT (8U) +/*! RSTGDP - Reset Gate Data Pattern */ +#define SEMA42_RSTGT_W_RSTGDP(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_W_RSTGDP_SHIFT)) & SEMA42_RSTGT_W_RSTGDP_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group SEMA42_Register_Masks */ + + +/* SEMA42 - Peripheral instance base addresses */ +/** Peripheral SEMA42_1 base address */ +#define SEMA42_1_BASE (0x44260000u) +/** Peripheral SEMA42_1 base pointer */ +#define SEMA42_1 ((SEMA42_Type *)SEMA42_1_BASE) +/** Peripheral SEMA42_2 base address */ +#define SEMA42_2_BASE (0x42450000u) +/** Peripheral SEMA42_2 base pointer */ +#define SEMA42_2 ((SEMA42_Type *)SEMA42_2_BASE) +/** Array initializer of SEMA42 peripheral base addresses */ +#define SEMA42_BASE_ADDRS { 0u, SEMA42_1_BASE, SEMA42_2_BASE } +/** Array initializer of SEMA42 peripheral base pointers */ +#define SEMA42_BASE_PTRS { (SEMA42_Type *)0u, SEMA42_1, SEMA42_2 } + +/*! + * @} + */ /* end of group SEMA42_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- SPDIF Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SPDIF_Peripheral_Access_Layer SPDIF Peripheral Access Layer + * @{ + */ + +/** SPDIF - Register Layout Typedef */ +typedef struct { + __IO uint32_t VERSION; /**< Version control register, offset: 0x0 */ + uint8_t RESERVED_0[12]; + struct { /* offset: 0x10 */ + __IO uint32_t RW; /**< External control register, offset: 0x10 */ + __IO uint32_t SET; /**< External control register, offset: 0x14 */ + __IO uint32_t CLR; /**< External control register, offset: 0x18 */ + __IO uint32_t TOG; /**< External control register, offset: 0x1C */ + } EXT_CTRL; + struct { /* offset: 0x20 */ + __IO uint32_t RW; /**< External Status register, offset: 0x20 */ + __IO uint32_t SET; /**< External Status register, offset: 0x24 */ + __IO uint32_t CLR; /**< External Status register, offset: 0x28 */ + __IO uint32_t TOG; /**< External Status register, offset: 0x2C */ + } EXT_STATUS; + struct { /* offset: 0x30 */ + __IO uint32_t RW; /**< Interrupt enables for interrupt 0, offset: 0x30 */ + __IO uint32_t SET; /**< Interrupt enables for interrupt 0, offset: 0x34 */ + __IO uint32_t CLR; /**< Interrupt enables for interrupt 0, offset: 0x38 */ + __IO uint32_t TOG; /**< Interrupt enables for interrupt 0, offset: 0x3C */ + } EXT_IER0; + struct { /* offset: 0x40 */ + __IO uint32_t RW; /**< Interrupt enables for interrupt 1, offset: 0x40 */ + __IO uint32_t SET; /**< Interrupt enables for interrupt 1, offset: 0x44 */ + __IO uint32_t CLR; /**< Interrupt enables for interrupt 1, offset: 0x48 */ + __IO uint32_t TOG; /**< Interrupt enables for interrupt 1, offset: 0x4C */ + } EXT_IER1; + struct { /* offset: 0x50 */ + __IO uint32_t RW; /**< External Interrupt Status register, offset: 0x50 */ + __IO uint32_t SET; /**< External Interrupt Status register, offset: 0x54 */ + __IO uint32_t CLR; /**< External Interrupt Status register, offset: 0x58 */ + __IO uint32_t TOG; /**< External Interrupt Status register, offset: 0x5C */ + } EXT_ISR; + uint8_t RESERVED_1[72]; + __I uint32_t DPATH_STATUS; /**< Audio XCVR datapath status, offset: 0xA8 */ + uint8_t RESERVED_2[4]; + __IO uint32_t CLK_CTRL; /**< Clock control register, offset: 0xB0 */ + uint8_t RESERVED_3[204]; + struct { /* offset: 0x180 */ + __IO uint32_t RW; /**< Data path control register, offset: 0x180 */ + __IO uint32_t SET; /**< Data path control register, offset: 0x184 */ + __IO uint32_t CLR; /**< Data path control register, offset: 0x188 */ + __IO uint32_t TOG; /**< Data path control register, offset: 0x18C */ + } RX_DATAPATH_CTRL; + __I uint32_t RX_CS_DATA_BITS[6]; /**< Channel staus bits, array offset: 0x190, array step: 0x4 */ + __I uint32_t RX_USER_DATA_BITS[6]; /**< User data bits, array offset: 0x1A8, array step: 0x4 */ + struct { /* offset: 0x1C0 */ + __IO uint32_t RW; /**< Receive Datapath counter control register, offset: 0x1C0 */ + __IO uint32_t SET; /**< Receive Datapath counter control register, offset: 0x1C4 */ + __IO uint32_t CLR; /**< Receive Datapath counter control register, offset: 0x1C8 */ + __IO uint32_t TOG; /**< Receive Datapath counter control register, offset: 0x1CC */ + } RX_DPATH_CNTR_CTRL; + __I uint32_t RX_DPATH_TSCR; /**< Receive Datapath Timestamp Counter Register, offset: 0x1D0 */ + __I uint32_t RX_DPATH_BCR; /**< Receive Datapath Bit counter register, offset: 0x1D4 */ + __I uint32_t RX_DPATH_BCTR; /**< Receive datapath Bit count timestamp register., offset: 0x1D8 */ + __I uint32_t RX_DPATH_BCRR; /**< Receive datapath Bit read timestamp register., offset: 0x1DC */ + struct { /* offset: 0x1E0 */ + __IO uint32_t RW; /**< Preamble match value register, offset: 0x1E0 */ + __IO uint32_t SET; /**< Preamble match value register, offset: 0x1E4 */ + __IO uint32_t CLR; /**< Preamble match value register, offset: 0x1E8 */ + __IO uint32_t TOG; /**< Preamble match value register, offset: 0x1EC */ + } PRE_MATCH_VAL; + struct { /* offset: 0x1F0 */ + __IO uint32_t RW; /**< Preamble match value register, offset: 0x1F0 */ + __IO uint32_t SET; /**< Preamble match value register, offset: 0x1F4 */ + __IO uint32_t CLR; /**< Preamble match value register, offset: 0x1F8 */ + __IO uint32_t TOG; /**< Preamble match value register, offset: 0x1FC */ + } DTS_PRE_MATCH_VAL; + __IO uint32_t RX_DPATH_PRE_ERR; /**< Error count for IEC60958-1 Block Synchronization., offset: 0x200 */ + __IO uint32_t RX_DPATH_PARITY_ERR; /**< Parity Error count for IEC60958-1 Blocks., offset: 0x204 */ + uint8_t RESERVED_4[8]; + __I uint32_t RX_DPATH_PKT_CNT; /**< Receive Data packet count., offset: 0x210 */ + uint8_t RESERVED_5[4]; + __I uint32_t PRE_MATCH_OFFSET; /**< Preamble match offset value register, offset: 0x218 */ + uint8_t RESERVED_6[4]; + struct { /* offset: 0x220 */ + __IO uint32_t RW; /**< Transmit Data path control register, offset: 0x220 */ + __IO uint32_t SET; /**< Transmit Data path control register, offset: 0x224 */ + __IO uint32_t CLR; /**< Transmit Data path control register, offset: 0x228 */ + __IO uint32_t TOG; /**< Transmit Data path control register, offset: 0x22C */ + } TX_DATAPATH_CTRL; + __IO uint32_t TX_CS_DATA_BITS[6]; /**< Channel staus bits, array offset: 0x230, array step: 0x4 */ + __IO uint32_t TX_USER_DATA_BITS[6]; /**< User data bits, array offset: 0x248, array step: 0x4 */ + struct { /* offset: 0x260 */ + __IO uint32_t RW; /**< Transmit datapath counter control register, offset: 0x260 */ + __IO uint32_t SET; /**< Transmit datapath counter control register, offset: 0x264 */ + __IO uint32_t CLR; /**< Transmit datapath counter control register, offset: 0x268 */ + __IO uint32_t TOG; /**< Transmit datapath counter control register, offset: 0x26C */ + } TX_DPATH_CNTR_CTRL; + __I uint32_t TX_DPATH_TSCR; /**< Transmit Datapath Timestamp Counter Register, offset: 0x270 */ + __I uint32_t TX_DPATH_BCR; /**< Transmit Datapath Bit counter register, offset: 0x274 */ + __I uint32_t TX_DPATH_BCTR; /**< Transmit datapath Bit count timestamp register., offset: 0x278 */ + __I uint32_t TX_DPATH_BCRR; /**< Transmmit datapath Bit read timestamp register., offset: 0x27C */ +} SPDIF_Type; + +/* ---------------------------------------------------------------------------- + -- SPDIF Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SPDIF_Register_Masks SPDIF Register Masks + * @{ + */ + +/*! @name VERSION - Version control register */ +/*! @{ */ + +#define SPDIF_VERSION_VERID_MASK (0xFFFFFFFFU) +#define SPDIF_VERSION_VERID_SHIFT (0U) +/*! VERID - Version ID */ +#define SPDIF_VERSION_VERID(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_VERSION_VERID_SHIFT)) & SPDIF_VERSION_VERID_MASK) +/*! @} */ + +/*! @name EXT_CTRL - External control register */ +/*! @{ */ + +#define SPDIF_EXT_CTRL_TX_FIFO_WMARK_MASK (0x7FU) +#define SPDIF_EXT_CTRL_TX_FIFO_WMARK_SHIFT (0U) +/*! TX_FIFO_WMARK - Audio Transmit FIFO Watermark Level */ +#define SPDIF_EXT_CTRL_TX_FIFO_WMARK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_CTRL_TX_FIFO_WMARK_SHIFT)) & SPDIF_EXT_CTRL_TX_FIFO_WMARK_MASK) + +#define SPDIF_EXT_CTRL_RX_FIFO_WMARK_MASK (0x7F00U) +#define SPDIF_EXT_CTRL_RX_FIFO_WMARK_SHIFT (8U) +/*! RX_FIFO_WMARK - Audio Receive FIFO Watermark Level */ +#define SPDIF_EXT_CTRL_RX_FIFO_WMARK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_CTRL_RX_FIFO_WMARK_SHIFT)) & SPDIF_EXT_CTRL_RX_FIFO_WMARK_MASK) + +#define SPDIF_EXT_CTRL_EN_SPDIF_WAKEUP_MASK (0x100000U) +#define SPDIF_EXT_CTRL_EN_SPDIF_WAKEUP_SHIFT (20U) +/*! EN_SPDIF_WAKEUP - Enable SPDIF wakeup interrupt */ +#define SPDIF_EXT_CTRL_EN_SPDIF_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_CTRL_EN_SPDIF_WAKEUP_SHIFT)) & SPDIF_EXT_CTRL_EN_SPDIF_WAKEUP_MASK) + +#define SPDIF_EXT_CTRL_SDMA_WR_REQ_DIS_MASK (0x1000000U) +#define SPDIF_EXT_CTRL_SDMA_WR_REQ_DIS_SHIFT (24U) +/*! SDMA_WR_REQ_DIS - SDMA WR REQ disable */ +#define SPDIF_EXT_CTRL_SDMA_WR_REQ_DIS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_CTRL_SDMA_WR_REQ_DIS_SHIFT)) & SPDIF_EXT_CTRL_SDMA_WR_REQ_DIS_MASK) + +#define SPDIF_EXT_CTRL_SDMA_RD_REQ_DIS_MASK (0x2000000U) +#define SPDIF_EXT_CTRL_SDMA_RD_REQ_DIS_SHIFT (25U) +/*! SDMA_RD_REQ_DIS - SDMA RD REQ disable */ +#define SPDIF_EXT_CTRL_SDMA_RD_REQ_DIS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_CTRL_SDMA_RD_REQ_DIS_SHIFT)) & SPDIF_EXT_CTRL_SDMA_RD_REQ_DIS_MASK) + +#define SPDIF_EXT_CTRL_TX_DPATH_RESET_MASK (0x8000000U) +#define SPDIF_EXT_CTRL_TX_DPATH_RESET_SHIFT (27U) +/*! TX_DPATH_RESET - Soft reset to SPDIF Transmit datapath */ +#define SPDIF_EXT_CTRL_TX_DPATH_RESET(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_CTRL_TX_DPATH_RESET_SHIFT)) & SPDIF_EXT_CTRL_TX_DPATH_RESET_MASK) + +#define SPDIF_EXT_CTRL_RX_DPATH_RESET_MASK (0x10000000U) +#define SPDIF_EXT_CTRL_RX_DPATH_RESET_SHIFT (28U) +/*! RX_DPATH_RESET - Soft reset to SPDIF Receive datapath */ +#define SPDIF_EXT_CTRL_RX_DPATH_RESET(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_CTRL_RX_DPATH_RESET_SHIFT)) & SPDIF_EXT_CTRL_RX_DPATH_RESET_MASK) +/*! @} */ + +/*! @name EXT_STATUS - External Status register */ +/*! @{ */ + +#define SPDIF_EXT_STATUS_NO_TX_FIFO_ENTRIES_MASK (0xFFU) +#define SPDIF_EXT_STATUS_NO_TX_FIFO_ENTRIES_SHIFT (0U) +/*! NO_TX_FIFO_ENTRIES - TX FIFO entries */ +#define SPDIF_EXT_STATUS_NO_TX_FIFO_ENTRIES(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_STATUS_NO_TX_FIFO_ENTRIES_SHIFT)) & SPDIF_EXT_STATUS_NO_TX_FIFO_ENTRIES_MASK) + +#define SPDIF_EXT_STATUS_NO_RX_FIFO_ENTRIES_MASK (0xFF00U) +#define SPDIF_EXT_STATUS_NO_RX_FIFO_ENTRIES_SHIFT (8U) +/*! NO_RX_FIFO_ENTRIES - RX FIFO entries */ +#define SPDIF_EXT_STATUS_NO_RX_FIFO_ENTRIES(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_STATUS_NO_RX_FIFO_ENTRIES_SHIFT)) & SPDIF_EXT_STATUS_NO_RX_FIFO_ENTRIES_MASK) + +#define SPDIF_EXT_STATUS_TX_PIPE_EMPTY_MASK (0x200000U) +#define SPDIF_EXT_STATUS_TX_PIPE_EMPTY_SHIFT (21U) +/*! TX_PIPE_EMPTY - Indicates TX pipe status. */ +#define SPDIF_EXT_STATUS_TX_PIPE_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_STATUS_TX_PIPE_EMPTY_SHIFT)) & SPDIF_EXT_STATUS_TX_PIPE_EMPTY_MASK) + +#define SPDIF_EXT_STATUS_PREV_UD_0_MASK (0x400000U) +#define SPDIF_EXT_STATUS_PREV_UD_0_SHIFT (22U) +/*! PREV_UD_0 - Last User data received was all 0 */ +#define SPDIF_EXT_STATUS_PREV_UD_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_STATUS_PREV_UD_0_SHIFT)) & SPDIF_EXT_STATUS_PREV_UD_0_MASK) +/*! @} */ + +/*! @name EXT_IER0 - Interrupt enables for interrupt 0 */ +/*! @{ */ + +#define SPDIF_EXT_IER0_NEW_CS_IE_0_MASK (0x1U) +#define SPDIF_EXT_IER0_NEW_CS_IE_0_SHIFT (0U) +/*! NEW_CS_IE_0 - Enable for New channel status block received interrupt */ +#define SPDIF_EXT_IER0_NEW_CS_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_NEW_CS_IE_0_SHIFT)) & SPDIF_EXT_IER0_NEW_CS_IE_0_MASK) + +#define SPDIF_EXT_IER0_UD_IE_0_MASK (0x2U) +#define SPDIF_EXT_IER0_UD_IE_0_SHIFT (1U) +/*! UD_IE_0 - Enable for user data received interrupt */ +#define SPDIF_EXT_IER0_UD_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_UD_IE_0_SHIFT)) & SPDIF_EXT_IER0_UD_IE_0_MASK) + +#define SPDIF_EXT_IER0_MUTE_IE_0_MASK (0x4U) +#define SPDIF_EXT_IER0_MUTE_IE_0_SHIFT (2U) +/*! MUTE_IE_0 - Enable for Mute detected interrupt */ +#define SPDIF_EXT_IER0_MUTE_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_MUTE_IE_0_SHIFT)) & SPDIF_EXT_IER0_MUTE_IE_0_MASK) + +#define SPDIF_EXT_IER0_PREAMBLE_MISMATCH_IE_0_MASK (0x20U) +#define SPDIF_EXT_IER0_PREAMBLE_MISMATCH_IE_0_SHIFT (5U) +/*! PREAMBLE_MISMATCH_IE_0 - Preamble mismatch interrupt enable. */ +#define SPDIF_EXT_IER0_PREAMBLE_MISMATCH_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_PREAMBLE_MISMATCH_IE_0_SHIFT)) & SPDIF_EXT_IER0_PREAMBLE_MISMATCH_IE_0_MASK) + +#define SPDIF_EXT_IER0_FIFO_OFLOW_UFLOW_ERR_IE_0_MASK (0x40U) +#define SPDIF_EXT_IER0_FIFO_OFLOW_UFLOW_ERR_IE_0_SHIFT (6U) +/*! FIFO_OFLOW_UFLOW_ERR_IE_0 - Receive FIFO overflow error interrupt enable. */ +#define SPDIF_EXT_IER0_FIFO_OFLOW_UFLOW_ERR_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_FIFO_OFLOW_UFLOW_ERR_IE_0_SHIFT)) & SPDIF_EXT_IER0_FIFO_OFLOW_UFLOW_ERR_IE_0_MASK) + +#define SPDIF_EXT_IER0_RX_NO_DATA_REC_IE_0_MASK (0x200U) +#define SPDIF_EXT_IER0_RX_NO_DATA_REC_IE_0_SHIFT (9U) +/*! RX_NO_DATA_REC_IE_0 - Indicates no data is received. */ +#define SPDIF_EXT_IER0_RX_NO_DATA_REC_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_RX_NO_DATA_REC_IE_0_SHIFT)) & SPDIF_EXT_IER0_RX_NO_DATA_REC_IE_0_MASK) + +#define SPDIF_EXT_IER0_DMA_RD_REQ_IE_0_MASK (0x4000U) +#define SPDIF_EXT_IER0_DMA_RD_REQ_IE_0_SHIFT (14U) +/*! DMA_RD_REQ_IE_0 - Request to read data from FIFO. */ +#define SPDIF_EXT_IER0_DMA_RD_REQ_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_DMA_RD_REQ_IE_0_SHIFT)) & SPDIF_EXT_IER0_DMA_RD_REQ_IE_0_MASK) + +#define SPDIF_EXT_IER0_DMA_WR_REQ_IE_0_MASK (0x8000U) +#define SPDIF_EXT_IER0_DMA_WR_REQ_IE_0_SHIFT (15U) +/*! DMA_WR_REQ_IE_0 - Request to write data to FIFO. */ +#define SPDIF_EXT_IER0_DMA_WR_REQ_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_DMA_WR_REQ_IE_0_SHIFT)) & SPDIF_EXT_IER0_DMA_WR_REQ_IE_0_MASK) + +#define SPDIF_EXT_IER0_RX_DATA_BME_ERR_IE_0_MASK (0x10000U) +#define SPDIF_EXT_IER0_RX_DATA_BME_ERR_IE_0_SHIFT (16U) +/*! RX_DATA_BME_ERR_IE_0 - Bi-phase mark encoding error */ +#define SPDIF_EXT_IER0_RX_DATA_BME_ERR_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_RX_DATA_BME_ERR_IE_0_SHIFT)) & SPDIF_EXT_IER0_RX_DATA_BME_ERR_IE_0_MASK) + +#define SPDIF_EXT_IER0_PREAMBLE_MATCH_IE_0_MASK (0x20000U) +#define SPDIF_EXT_IER0_PREAMBLE_MATCH_IE_0_SHIFT (17U) +/*! PREAMBLE_MATCH_IE_0 - Interrupt enable for preamble match received. */ +#define SPDIF_EXT_IER0_PREAMBLE_MATCH_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_PREAMBLE_MATCH_IE_0_SHIFT)) & SPDIF_EXT_IER0_PREAMBLE_MATCH_IE_0_MASK) + +#define SPDIF_EXT_IER0_M_W_PRE_MISMATCH_IE_0_MASK (0x40000U) +#define SPDIF_EXT_IER0_M_W_PRE_MISMATCH_IE_0_SHIFT (18U) +/*! M_W_PRE_MISMATCH_IE_0 - Interrupt enable for sub-frame M/W preamble mismatch received. */ +#define SPDIF_EXT_IER0_M_W_PRE_MISMATCH_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_M_W_PRE_MISMATCH_IE_0_SHIFT)) & SPDIF_EXT_IER0_M_W_PRE_MISMATCH_IE_0_MASK) + +#define SPDIF_EXT_IER0_B_PRE_MISMATCH_IE_0_MASK (0x80000U) +#define SPDIF_EXT_IER0_B_PRE_MISMATCH_IE_0_SHIFT (19U) +/*! B_PRE_MISMATCH_IE_0 - Interrupt enable for sub-frame B preamble mismatch received. */ +#define SPDIF_EXT_IER0_B_PRE_MISMATCH_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_B_PRE_MISMATCH_IE_0_SHIFT)) & SPDIF_EXT_IER0_B_PRE_MISMATCH_IE_0_MASK) + +#define SPDIF_EXT_IER0_UNEXP_PRE_REC_IE_0_MASK (0x100000U) +#define SPDIF_EXT_IER0_UNEXP_PRE_REC_IE_0_SHIFT (20U) +/*! UNEXP_PRE_REC_IE_0 - Interrupt enable for Unexpected preamble received. */ +#define SPDIF_EXT_IER0_UNEXP_PRE_REC_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_UNEXP_PRE_REC_IE_0_SHIFT)) & SPDIF_EXT_IER0_UNEXP_PRE_REC_IE_0_MASK) + +#define SPDIF_EXT_IER0_CS_UD_OFLOW_IE_0_MASK (0x400000U) +#define SPDIF_EXT_IER0_CS_UD_OFLOW_IE_0_SHIFT (22U) +/*! CS_UD_OFLOW_IE_0 - Channel status or used data could not be stored. */ +#define SPDIF_EXT_IER0_CS_UD_OFLOW_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_CS_UD_OFLOW_IE_0_SHIFT)) & SPDIF_EXT_IER0_CS_UD_OFLOW_IE_0_MASK) + +#define SPDIF_EXT_IER0_NEW_BLK_RCVD_IE_0_MASK (0x800000U) +#define SPDIF_EXT_IER0_NEW_BLK_RCVD_IE_0_SHIFT (23U) +/*! NEW_BLK_RCVD_IE_0 - New block of data was received. */ +#define SPDIF_EXT_IER0_NEW_BLK_RCVD_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_NEW_BLK_RCVD_IE_0_SHIFT)) & SPDIF_EXT_IER0_NEW_BLK_RCVD_IE_0_MASK) + +#define SPDIF_EXT_IER0_SPDIF_WAKEUP_IE_0_MASK (0x1000000U) +#define SPDIF_EXT_IER0_SPDIF_WAKEUP_IE_0_SHIFT (24U) +/*! SPDIF_WAKEUP_IE_0 - SPDIF Wakeup interrupt enable. */ +#define SPDIF_EXT_IER0_SPDIF_WAKEUP_IE_0(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER0_SPDIF_WAKEUP_IE_0_SHIFT)) & SPDIF_EXT_IER0_SPDIF_WAKEUP_IE_0_MASK) +/*! @} */ + +/*! @name EXT_IER1 - Interrupt enables for interrupt 1 */ +/*! @{ */ + +#define SPDIF_EXT_IER1_NEW_CS_IE_1_MASK (0x1U) +#define SPDIF_EXT_IER1_NEW_CS_IE_1_SHIFT (0U) +/*! NEW_CS_IE_1 - Enable for New channel status block received interrupt */ +#define SPDIF_EXT_IER1_NEW_CS_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_NEW_CS_IE_1_SHIFT)) & SPDIF_EXT_IER1_NEW_CS_IE_1_MASK) + +#define SPDIF_EXT_IER1_UD_IE_1_MASK (0x2U) +#define SPDIF_EXT_IER1_UD_IE_1_SHIFT (1U) +/*! UD_IE_1 - Enable for user data received interrupt */ +#define SPDIF_EXT_IER1_UD_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_UD_IE_1_SHIFT)) & SPDIF_EXT_IER1_UD_IE_1_MASK) + +#define SPDIF_EXT_IER1_MUTE_IE_1_MASK (0x4U) +#define SPDIF_EXT_IER1_MUTE_IE_1_SHIFT (2U) +/*! MUTE_IE_1 - Enable for Mute detected interrupt */ +#define SPDIF_EXT_IER1_MUTE_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_MUTE_IE_1_SHIFT)) & SPDIF_EXT_IER1_MUTE_IE_1_MASK) + +#define SPDIF_EXT_IER1_PREAMBLE_MISMATCH_IE_1_MASK (0x20U) +#define SPDIF_EXT_IER1_PREAMBLE_MISMATCH_IE_1_SHIFT (5U) +/*! PREAMBLE_MISMATCH_IE_1 - Preamble mismatch interrupt enable. */ +#define SPDIF_EXT_IER1_PREAMBLE_MISMATCH_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_PREAMBLE_MISMATCH_IE_1_SHIFT)) & SPDIF_EXT_IER1_PREAMBLE_MISMATCH_IE_1_MASK) + +#define SPDIF_EXT_IER1_FIFO_OFLOW_UFLOW_ERR_IE_1_MASK (0x40U) +#define SPDIF_EXT_IER1_FIFO_OFLOW_UFLOW_ERR_IE_1_SHIFT (6U) +/*! FIFO_OFLOW_UFLOW_ERR_IE_1 - Receive FIFO overflow error interrupt enable. */ +#define SPDIF_EXT_IER1_FIFO_OFLOW_UFLOW_ERR_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_FIFO_OFLOW_UFLOW_ERR_IE_1_SHIFT)) & SPDIF_EXT_IER1_FIFO_OFLOW_UFLOW_ERR_IE_1_MASK) + +#define SPDIF_EXT_IER1_RX_NO_DATA_REC_IE_1_MASK (0x200U) +#define SPDIF_EXT_IER1_RX_NO_DATA_REC_IE_1_SHIFT (9U) +/*! RX_NO_DATA_REC_IE_1 - Indicates no data is received. */ +#define SPDIF_EXT_IER1_RX_NO_DATA_REC_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_RX_NO_DATA_REC_IE_1_SHIFT)) & SPDIF_EXT_IER1_RX_NO_DATA_REC_IE_1_MASK) + +#define SPDIF_EXT_IER1_DMA_RD_REQ_IE_1_MASK (0x4000U) +#define SPDIF_EXT_IER1_DMA_RD_REQ_IE_1_SHIFT (14U) +/*! DMA_RD_REQ_IE_1 - Request to read data from FIFO. */ +#define SPDIF_EXT_IER1_DMA_RD_REQ_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_DMA_RD_REQ_IE_1_SHIFT)) & SPDIF_EXT_IER1_DMA_RD_REQ_IE_1_MASK) + +#define SPDIF_EXT_IER1_DMA_WR_REQ_IE_1_MASK (0x8000U) +#define SPDIF_EXT_IER1_DMA_WR_REQ_IE_1_SHIFT (15U) +/*! DMA_WR_REQ_IE_1 - Request to write data to FIFO. */ +#define SPDIF_EXT_IER1_DMA_WR_REQ_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_DMA_WR_REQ_IE_1_SHIFT)) & SPDIF_EXT_IER1_DMA_WR_REQ_IE_1_MASK) + +#define SPDIF_EXT_IER1_RX_DATA_BME_ERR_IE_1_MASK (0x10000U) +#define SPDIF_EXT_IER1_RX_DATA_BME_ERR_IE_1_SHIFT (16U) +/*! RX_DATA_BME_ERR_IE_1 - Bi-phase mark encoding error */ +#define SPDIF_EXT_IER1_RX_DATA_BME_ERR_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_RX_DATA_BME_ERR_IE_1_SHIFT)) & SPDIF_EXT_IER1_RX_DATA_BME_ERR_IE_1_MASK) + +#define SPDIF_EXT_IER1_PREAMBLE_MATCH_IE_1_MASK (0x20000U) +#define SPDIF_EXT_IER1_PREAMBLE_MATCH_IE_1_SHIFT (17U) +/*! PREAMBLE_MATCH_IE_1 - Interrupt enable for preamble match received. */ +#define SPDIF_EXT_IER1_PREAMBLE_MATCH_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_PREAMBLE_MATCH_IE_1_SHIFT)) & SPDIF_EXT_IER1_PREAMBLE_MATCH_IE_1_MASK) + +#define SPDIF_EXT_IER1_M_W_PRE_MISMATCH_IE_1_MASK (0x40000U) +#define SPDIF_EXT_IER1_M_W_PRE_MISMATCH_IE_1_SHIFT (18U) +/*! M_W_PRE_MISMATCH_IE_1 - Interrupt enable for sub-frame M/W preamble mismatch received. */ +#define SPDIF_EXT_IER1_M_W_PRE_MISMATCH_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_M_W_PRE_MISMATCH_IE_1_SHIFT)) & SPDIF_EXT_IER1_M_W_PRE_MISMATCH_IE_1_MASK) + +#define SPDIF_EXT_IER1_B_PRE_MISMATCH_IE_1_MASK (0x80000U) +#define SPDIF_EXT_IER1_B_PRE_MISMATCH_IE_1_SHIFT (19U) +/*! B_PRE_MISMATCH_IE_1 - Interrupt enable for sub-frame B preamble mismatch received. */ +#define SPDIF_EXT_IER1_B_PRE_MISMATCH_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_B_PRE_MISMATCH_IE_1_SHIFT)) & SPDIF_EXT_IER1_B_PRE_MISMATCH_IE_1_MASK) + +#define SPDIF_EXT_IER1_UNEXP_PRE_REC_IE_1_MASK (0x100000U) +#define SPDIF_EXT_IER1_UNEXP_PRE_REC_IE_1_SHIFT (20U) +/*! UNEXP_PRE_REC_IE_1 - Interrupt enable for Unexpected preamble received. */ +#define SPDIF_EXT_IER1_UNEXP_PRE_REC_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_UNEXP_PRE_REC_IE_1_SHIFT)) & SPDIF_EXT_IER1_UNEXP_PRE_REC_IE_1_MASK) + +#define SPDIF_EXT_IER1_CS_UD_OFLOW_IE_1_MASK (0x400000U) +#define SPDIF_EXT_IER1_CS_UD_OFLOW_IE_1_SHIFT (22U) +/*! CS_UD_OFLOW_IE_1 - Channel status or used data could not be stored. */ +#define SPDIF_EXT_IER1_CS_UD_OFLOW_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_CS_UD_OFLOW_IE_1_SHIFT)) & SPDIF_EXT_IER1_CS_UD_OFLOW_IE_1_MASK) + +#define SPDIF_EXT_IER1_NEW_BLK_RCVD_IE_1_MASK (0x800000U) +#define SPDIF_EXT_IER1_NEW_BLK_RCVD_IE_1_SHIFT (23U) +/*! NEW_BLK_RCVD_IE_1 - New block of data was received. */ +#define SPDIF_EXT_IER1_NEW_BLK_RCVD_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_NEW_BLK_RCVD_IE_1_SHIFT)) & SPDIF_EXT_IER1_NEW_BLK_RCVD_IE_1_MASK) + +#define SPDIF_EXT_IER1_SPDIF_WAKEUP_IE_1_MASK (0x1000000U) +#define SPDIF_EXT_IER1_SPDIF_WAKEUP_IE_1_SHIFT (24U) +/*! SPDIF_WAKEUP_IE_1 - SPDIF Wakeup interrupt enable. */ +#define SPDIF_EXT_IER1_SPDIF_WAKEUP_IE_1(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_IER1_SPDIF_WAKEUP_IE_1_SHIFT)) & SPDIF_EXT_IER1_SPDIF_WAKEUP_IE_1_MASK) +/*! @} */ + +/*! @name EXT_ISR - External Interrupt Status register */ +/*! @{ */ + +#define SPDIF_EXT_ISR_RX_NEW_CH_STAT_MASK (0x1U) +#define SPDIF_EXT_ISR_RX_NEW_CH_STAT_SHIFT (0U) +/*! RX_NEW_CH_STAT - Received new channel status block */ +#define SPDIF_EXT_ISR_RX_NEW_CH_STAT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_RX_NEW_CH_STAT_SHIFT)) & SPDIF_EXT_ISR_RX_NEW_CH_STAT_MASK) + +#define SPDIF_EXT_ISR_RX_USR_DATA_MASK (0x2U) +#define SPDIF_EXT_ISR_RX_USR_DATA_SHIFT (1U) +/*! RX_USR_DATA - Received User data Information */ +#define SPDIF_EXT_ISR_RX_USR_DATA(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_RX_USR_DATA_SHIFT)) & SPDIF_EXT_ISR_RX_USR_DATA_MASK) + +#define SPDIF_EXT_ISR_MUTE_DET_MASK (0x4U) +#define SPDIF_EXT_ISR_MUTE_DET_SHIFT (2U) +/*! MUTE_DET - Interrupt to indicate HW mute bit was detected. */ +#define SPDIF_EXT_ISR_MUTE_DET(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_MUTE_DET_SHIFT)) & SPDIF_EXT_ISR_MUTE_DET_MASK) + +#define SPDIF_EXT_ISR_PREAMBLE_MISMATCH_MASK (0x20U) +#define SPDIF_EXT_ISR_PREAMBLE_MISMATCH_SHIFT (5U) +/*! PREAMBLE_MISMATCH - Preamble mismatch interrupt */ +#define SPDIF_EXT_ISR_PREAMBLE_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_PREAMBLE_MISMATCH_SHIFT)) & SPDIF_EXT_ISR_PREAMBLE_MISMATCH_MASK) + +#define SPDIF_EXT_ISR_FIFO_OFLOW_UFLOW_ERR_MASK (0x40U) +#define SPDIF_EXT_ISR_FIFO_OFLOW_UFLOW_ERR_SHIFT (6U) +/*! FIFO_OFLOW_UFLOW_ERR - Receive FIFO overflow error interrupt */ +#define SPDIF_EXT_ISR_FIFO_OFLOW_UFLOW_ERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_FIFO_OFLOW_UFLOW_ERR_SHIFT)) & SPDIF_EXT_ISR_FIFO_OFLOW_UFLOW_ERR_MASK) + +#define SPDIF_EXT_ISR_RX_NO_DATA_REC_MASK (0x200U) +#define SPDIF_EXT_ISR_RX_NO_DATA_REC_SHIFT (9U) +/*! RX_NO_DATA_REC - No data is received for 1us. */ +#define SPDIF_EXT_ISR_RX_NO_DATA_REC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_RX_NO_DATA_REC_SHIFT)) & SPDIF_EXT_ISR_RX_NO_DATA_REC_MASK) + +#define SPDIF_EXT_ISR_DMA_RD_REQ_MASK (0x4000U) +#define SPDIF_EXT_ISR_DMA_RD_REQ_SHIFT (14U) +/*! DMA_RD_REQ - Set when DMA read request is asserted. */ +#define SPDIF_EXT_ISR_DMA_RD_REQ(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_DMA_RD_REQ_SHIFT)) & SPDIF_EXT_ISR_DMA_RD_REQ_MASK) + +#define SPDIF_EXT_ISR_DMA_WR_REQ_MASK (0x8000U) +#define SPDIF_EXT_ISR_DMA_WR_REQ_SHIFT (15U) +/*! DMA_WR_REQ - Set when DMA write request is asserted. */ +#define SPDIF_EXT_ISR_DMA_WR_REQ(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_DMA_WR_REQ_SHIFT)) & SPDIF_EXT_ISR_DMA_WR_REQ_MASK) + +#define SPDIF_EXT_ISR_RX_BME_BIT_ERR_MASK (0x10000U) +#define SPDIF_EXT_ISR_RX_BME_BIT_ERR_SHIFT (16U) +/*! RX_BME_BIT_ERR - Set when RX BME data has an error. */ +#define SPDIF_EXT_ISR_RX_BME_BIT_ERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_RX_BME_BIT_ERR_SHIFT)) & SPDIF_EXT_ISR_RX_BME_BIT_ERR_MASK) + +#define SPDIF_EXT_ISR_PREAMBLE_MATCH_INT_MASK (0x20000U) +#define SPDIF_EXT_ISR_PREAMBLE_MATCH_INT_SHIFT (17U) +/*! PREAMBLE_MATCH_INT - Interrupt to indicate PA PB / DTC CD preamble match was detected. */ +#define SPDIF_EXT_ISR_PREAMBLE_MATCH_INT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_PREAMBLE_MATCH_INT_SHIFT)) & SPDIF_EXT_ISR_PREAMBLE_MATCH_INT_MASK) + +#define SPDIF_EXT_ISR_M_W_PRE_MISMATCH_MASK (0x40000U) +#define SPDIF_EXT_ISR_M_W_PRE_MISMATCH_SHIFT (18U) +/*! M_W_PRE_MISMATCH - Set when SPDIF preamble of M/W has an error. */ +#define SPDIF_EXT_ISR_M_W_PRE_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_M_W_PRE_MISMATCH_SHIFT)) & SPDIF_EXT_ISR_M_W_PRE_MISMATCH_MASK) + +#define SPDIF_EXT_ISR_B_PRE_MISMATCH_MASK (0x80000U) +#define SPDIF_EXT_ISR_B_PRE_MISMATCH_SHIFT (19U) +/*! B_PRE_MISMATCH - Set when SPDIF B preamble has an error. */ +#define SPDIF_EXT_ISR_B_PRE_MISMATCH(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_B_PRE_MISMATCH_SHIFT)) & SPDIF_EXT_ISR_B_PRE_MISMATCH_MASK) + +#define SPDIF_EXT_ISR_UNEXP_PRE_REC_MASK (0x100000U) +#define SPDIF_EXT_ISR_UNEXP_PRE_REC_SHIFT (20U) +/*! UNEXP_PRE_REC - Set when SPDIF preamble was received after unexpected number of input bits. */ +#define SPDIF_EXT_ISR_UNEXP_PRE_REC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_UNEXP_PRE_REC_SHIFT)) & SPDIF_EXT_ISR_UNEXP_PRE_REC_MASK) + +#define SPDIF_EXT_ISR_CS_OR_UD_OFLOW_MASK (0x400000U) +#define SPDIF_EXT_ISR_CS_OR_UD_OFLOW_SHIFT (22U) +/*! CS_OR_UD_OFLOW - Channel status or used data could not be stored. */ +#define SPDIF_EXT_ISR_CS_OR_UD_OFLOW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_CS_OR_UD_OFLOW_SHIFT)) & SPDIF_EXT_ISR_CS_OR_UD_OFLOW_MASK) + +#define SPDIF_EXT_ISR_NEW_BLK_RCVD_MASK (0x800000U) +#define SPDIF_EXT_ISR_NEW_BLK_RCVD_SHIFT (23U) +/*! NEW_BLK_RCVD - New block of data was received. */ +#define SPDIF_EXT_ISR_NEW_BLK_RCVD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_NEW_BLK_RCVD_SHIFT)) & SPDIF_EXT_ISR_NEW_BLK_RCVD_MASK) + +#define SPDIF_EXT_ISR_SPDIF_WAKEUP_REC_MASK (0x1000000U) +#define SPDIF_EXT_ISR_SPDIF_WAKEUP_REC_SHIFT (24U) +/*! SPDIF_WAKEUP_REC - SPDIF Wakeup received. */ +#define SPDIF_EXT_ISR_SPDIF_WAKEUP_REC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_EXT_ISR_SPDIF_WAKEUP_REC_SHIFT)) & SPDIF_EXT_ISR_SPDIF_WAKEUP_REC_MASK) +/*! @} */ + +/*! @name DPATH_STATUS - Audio XCVR datapath status */ +/*! @{ */ + +#define SPDIF_DPATH_STATUS_RX_FRM_CNT_MASK (0xFFU) +#define SPDIF_DPATH_STATUS_RX_FRM_CNT_SHIFT (0U) +/*! RX_FRM_CNT - Count of received frames in a block */ +#define SPDIF_DPATH_STATUS_RX_FRM_CNT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_DPATH_STATUS_RX_FRM_CNT_SHIFT)) & SPDIF_DPATH_STATUS_RX_FRM_CNT_MASK) + +#define SPDIF_DPATH_STATUS_TX_FRM_CNT_MASK (0xFF00U) +#define SPDIF_DPATH_STATUS_TX_FRM_CNT_SHIFT (8U) +/*! TX_FRM_CNT - Count of transmitted frames in a block */ +#define SPDIF_DPATH_STATUS_TX_FRM_CNT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_DPATH_STATUS_TX_FRM_CNT_SHIFT)) & SPDIF_DPATH_STATUS_TX_FRM_CNT_MASK) +/*! @} */ + +/*! @name CLK_CTRL - Clock control register */ +/*! @{ */ + +#define SPDIF_CLK_CTRL_CLKDIV_MASK (0x3FFU) +#define SPDIF_CLK_CTRL_CLKDIV_SHIFT (0U) +/*! CLKDIV - Clock divider value */ +#define SPDIF_CLK_CTRL_CLKDIV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_CLK_CTRL_CLKDIV_SHIFT)) & SPDIF_CLK_CTRL_CLKDIV_MASK) +/*! @} */ + +/*! @name RX_DATAPATH_CTRL - Data path control register */ +/*! @{ */ + +#define SPDIF_RX_DATAPATH_CTRL_PAPB_FIFO_STATUS_MASK (0x1U) +#define SPDIF_RX_DATAPATH_CTRL_PAPB_FIFO_STATUS_SHIFT (0U) +#define SPDIF_RX_DATAPATH_CTRL_PAPB_FIFO_STATUS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_PAPB_FIFO_STATUS_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_PAPB_FIFO_STATUS_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_RST_PKT_CNT_FIFO_MASK (0x20U) +#define SPDIF_RX_DATAPATH_CTRL_RST_PKT_CNT_FIFO_SHIFT (5U) +/*! RST_PKT_CNT_FIFO - Resets the packet count fifo. */ +#define SPDIF_RX_DATAPATH_CTRL_RST_PKT_CNT_FIFO(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_RST_PKT_CNT_FIFO_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_RST_PKT_CNT_FIFO_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_STORE_FMT_MASK (0x40U) +#define SPDIF_RX_DATAPATH_CTRL_STORE_FMT_SHIFT (6U) +/*! STORE_FMT - Receive Data store format. */ +#define SPDIF_RX_DATAPATH_CTRL_STORE_FMT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_STORE_FMT_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_STORE_FMT_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_EN_PARITY_CALC_MASK (0x80U) +#define SPDIF_RX_DATAPATH_CTRL_EN_PARITY_CALC_SHIFT (7U) +/*! EN_PARITY_CALC - Enable Parity calculation. */ +#define SPDIF_RX_DATAPATH_CTRL_EN_PARITY_CALC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_EN_PARITY_CALC_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_EN_PARITY_CALC_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_UDR_MASK (0x100U) +#define SPDIF_RX_DATAPATH_CTRL_UDR_SHIFT (8U) +/*! UDR - User data reset */ +#define SPDIF_RX_DATAPATH_CTRL_UDR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_UDR_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_UDR_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_CSR_MASK (0x200U) +#define SPDIF_RX_DATAPATH_CTRL_CSR_SHIFT (9U) +/*! CSR - Channel Status reset */ +#define SPDIF_RX_DATAPATH_CTRL_CSR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_CSR_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_CSR_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_UDA_MASK (0x400U) +#define SPDIF_RX_DATAPATH_CTRL_UDA_SHIFT (10U) +/*! UDA - User Data Acknowledge */ +#define SPDIF_RX_DATAPATH_CTRL_UDA(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_UDA_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_UDA_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_CSA_MASK (0x800U) +#define SPDIF_RX_DATAPATH_CTRL_CSA_SHIFT (11U) +/*! CSA - Channel Status Acknowledge */ +#define SPDIF_RX_DATAPATH_CTRL_CSA(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_CSA_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_CSA_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_CLR_RX_FIFO_MASK (0x1000U) +#define SPDIF_RX_DATAPATH_CTRL_CLR_RX_FIFO_SHIFT (12U) +/*! CLR_RX_FIFO - Clear Receive FIFO */ +#define SPDIF_RX_DATAPATH_CTRL_CLR_RX_FIFO(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_CLR_RX_FIFO_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_CLR_RX_FIFO_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_RX_DATA_FMT_MASK (0xC000U) +#define SPDIF_RX_DATAPATH_CTRL_RX_DATA_FMT_SHIFT (14U) +/*! RX_DATA_FMT - Indicates format of data stored in memory. */ +#define SPDIF_RX_DATAPATH_CTRL_RX_DATA_FMT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_RX_DATA_FMT_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_RX_DATA_FMT_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_SPDIF_TGL_CNT_MASK (0x70000U) +#define SPDIF_RX_DATAPATH_CTRL_SPDIF_TGL_CNT_SHIFT (16U) +/*! SPDIF_TGL_CNT - SPDIF wakeup source toggle count. */ +#define SPDIF_RX_DATAPATH_CTRL_SPDIF_TGL_CNT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_SPDIF_TGL_CNT_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_SPDIF_TGL_CNT_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_PABS_MASK (0x80000U) +#define SPDIF_RX_DATAPATH_CTRL_PABS_SHIFT (19U) +/*! PABS - Enable preamble search */ +#define SPDIF_RX_DATAPATH_CTRL_PABS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_PABS_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_PABS_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_DTS_CDS_MASK (0x100000U) +#define SPDIF_RX_DATAPATH_CTRL_DTS_CDS_SHIFT (20U) +/*! DTS_CDS - Enable DTS CD 14 preamble search */ +#define SPDIF_RX_DATAPATH_CTRL_DTS_CDS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_DTS_CDS_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_DTS_CDS_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_MUTE_CTRL_MASK (0x400000U) +#define SPDIF_RX_DATAPATH_CTRL_MUTE_CTRL_SHIFT (22U) +/*! MUTE_CTRL - M0+ mute request */ +#define SPDIF_RX_DATAPATH_CTRL_MUTE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_MUTE_CTRL_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_MUTE_CTRL_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_MUTE_MODE_MASK (0x800000U) +#define SPDIF_RX_DATAPATH_CTRL_MUTE_MODE_SHIFT (23U) +/*! MUTE_MODE - Mute mode control */ +#define SPDIF_RX_DATAPATH_CTRL_MUTE_MODE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_MUTE_MODE_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_MUTE_MODE_MASK) + +#define SPDIF_RX_DATAPATH_CTRL_FSM_MASK (0xC0000000U) +#define SPDIF_RX_DATAPATH_CTRL_FSM_SHIFT (30U) +/*! FSM - IEC60958-1 Frame Synchronization Mode */ +#define SPDIF_RX_DATAPATH_CTRL_FSM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DATAPATH_CTRL_FSM_SHIFT)) & SPDIF_RX_DATAPATH_CTRL_FSM_MASK) +/*! @} */ + +/*! @name RX_CS_DATA_BITS - Channel staus bits */ +/*! @{ */ + +#define SPDIF_RX_CS_DATA_BITS_CS_DATA_MASK (0xFFFFFFFFU) +#define SPDIF_RX_CS_DATA_BITS_CS_DATA_SHIFT (0U) +/*! CS_DATA - Channel Status bits */ +#define SPDIF_RX_CS_DATA_BITS_CS_DATA(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_CS_DATA_BITS_CS_DATA_SHIFT)) & SPDIF_RX_CS_DATA_BITS_CS_DATA_MASK) +/*! @} */ + +/* The count of SPDIF_RX_CS_DATA_BITS */ +#define SPDIF_RX_CS_DATA_BITS_COUNT (6U) + +/*! @name RX_USER_DATA_BITS - User data bits */ +/*! @{ */ + +#define SPDIF_RX_USER_DATA_BITS_U_DATA_MASK (0xFFFFFFFFU) +#define SPDIF_RX_USER_DATA_BITS_U_DATA_SHIFT (0U) +/*! U_DATA - User data bits */ +#define SPDIF_RX_USER_DATA_BITS_U_DATA(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_USER_DATA_BITS_U_DATA_SHIFT)) & SPDIF_RX_USER_DATA_BITS_U_DATA_MASK) +/*! @} */ + +/* The count of SPDIF_RX_USER_DATA_BITS */ +#define SPDIF_RX_USER_DATA_BITS_COUNT (6U) + +/*! @name RX_DPATH_CNTR_CTRL - Receive Datapath counter control register */ +/*! @{ */ + +#define SPDIF_RX_DPATH_CNTR_CTRL_TS_EN_MASK (0x1U) +#define SPDIF_RX_DPATH_CNTR_CTRL_TS_EN_SHIFT (0U) +/*! TS_EN - Timestamp counter enable */ +#define SPDIF_RX_DPATH_CNTR_CTRL_TS_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_CNTR_CTRL_TS_EN_SHIFT)) & SPDIF_RX_DPATH_CNTR_CTRL_TS_EN_MASK) + +#define SPDIF_RX_DPATH_CNTR_CTRL_TS_INC_MASK (0x2U) +#define SPDIF_RX_DPATH_CNTR_CTRL_TS_INC_SHIFT (1U) +/*! TS_INC - Timestamp Increment */ +#define SPDIF_RX_DPATH_CNTR_CTRL_TS_INC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_CNTR_CTRL_TS_INC_SHIFT)) & SPDIF_RX_DPATH_CNTR_CTRL_TS_INC_MASK) + +#define SPDIF_RX_DPATH_CNTR_CTRL_RST_BIT_CNTR_MASK (0x100U) +#define SPDIF_RX_DPATH_CNTR_CTRL_RST_BIT_CNTR_SHIFT (8U) +/*! RST_BIT_CNTR - Reset bit counter. */ +#define SPDIF_RX_DPATH_CNTR_CTRL_RST_BIT_CNTR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_CNTR_CTRL_RST_BIT_CNTR_SHIFT)) & SPDIF_RX_DPATH_CNTR_CTRL_RST_BIT_CNTR_MASK) + +#define SPDIF_RX_DPATH_CNTR_CTRL_RST_TS_CNTR_MASK (0x200U) +#define SPDIF_RX_DPATH_CNTR_CTRL_RST_TS_CNTR_SHIFT (9U) +/*! RST_TS_CNTR - Reset timestamp counter. */ +#define SPDIF_RX_DPATH_CNTR_CTRL_RST_TS_CNTR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_CNTR_CTRL_RST_TS_CNTR_SHIFT)) & SPDIF_RX_DPATH_CNTR_CTRL_RST_TS_CNTR_MASK) +/*! @} */ + +/*! @name RX_DPATH_TSCR - Receive Datapath Timestamp Counter Register */ +/*! @{ */ + +#define SPDIF_RX_DPATH_TSCR_CVAL_MASK (0xFFFFFFFFU) +#define SPDIF_RX_DPATH_TSCR_CVAL_SHIFT (0U) +/*! CVAL - Timestamp counter value */ +#define SPDIF_RX_DPATH_TSCR_CVAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_TSCR_CVAL_SHIFT)) & SPDIF_RX_DPATH_TSCR_CVAL_MASK) +/*! @} */ + +/*! @name RX_DPATH_BCR - Receive Datapath Bit counter register */ +/*! @{ */ + +#define SPDIF_RX_DPATH_BCR_CVAL_MASK (0xFFFFFFFFU) +#define SPDIF_RX_DPATH_BCR_CVAL_SHIFT (0U) +/*! CVAL - Bit count value */ +#define SPDIF_RX_DPATH_BCR_CVAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_BCR_CVAL_SHIFT)) & SPDIF_RX_DPATH_BCR_CVAL_MASK) +/*! @} */ + +/*! @name RX_DPATH_BCTR - Receive datapath Bit count timestamp register. */ +/*! @{ */ + +#define SPDIF_RX_DPATH_BCTR_BCT_VAL_MASK (0xFFFFFFFFU) +#define SPDIF_RX_DPATH_BCTR_BCT_VAL_SHIFT (0U) +/*! BCT_VAL - Bit count timestamp value */ +#define SPDIF_RX_DPATH_BCTR_BCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_BCTR_BCT_VAL_SHIFT)) & SPDIF_RX_DPATH_BCTR_BCT_VAL_MASK) +/*! @} */ + +/*! @name RX_DPATH_BCRR - Receive datapath Bit read timestamp register. */ +/*! @{ */ + +#define SPDIF_RX_DPATH_BCRR_BCT_VAL_MASK (0xFFFFFFFFU) +#define SPDIF_RX_DPATH_BCRR_BCT_VAL_SHIFT (0U) +/*! BCT_VAL - Bit count timestamp value */ +#define SPDIF_RX_DPATH_BCRR_BCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_BCRR_BCT_VAL_SHIFT)) & SPDIF_RX_DPATH_BCRR_BCT_VAL_MASK) +/*! @} */ + +/*! @name PRE_MATCH_VAL - Preamble match value register */ +/*! @{ */ + +#define SPDIF_PRE_MATCH_VAL_PB_VAL_MASK (0xFFFFU) +#define SPDIF_PRE_MATCH_VAL_PB_VAL_SHIFT (0U) +/*! PB_VAL - Preamble PB value */ +#define SPDIF_PRE_MATCH_VAL_PB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_PRE_MATCH_VAL_PB_VAL_SHIFT)) & SPDIF_PRE_MATCH_VAL_PB_VAL_MASK) + +#define SPDIF_PRE_MATCH_VAL_PA_VAL_MASK (0xFFFF0000U) +#define SPDIF_PRE_MATCH_VAL_PA_VAL_SHIFT (16U) +/*! PA_VAL - Preamble PA value */ +#define SPDIF_PRE_MATCH_VAL_PA_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_PRE_MATCH_VAL_PA_VAL_SHIFT)) & SPDIF_PRE_MATCH_VAL_PA_VAL_MASK) +/*! @} */ + +/*! @name DTS_PRE_MATCH_VAL - Preamble match value register */ +/*! @{ */ + +#define SPDIF_DTS_PRE_MATCH_VAL_DTS_PB_VAL_MASK (0xFFFFU) +#define SPDIF_DTS_PRE_MATCH_VAL_DTS_PB_VAL_SHIFT (0U) +/*! DTS_PB_VAL - Preamble value */ +#define SPDIF_DTS_PRE_MATCH_VAL_DTS_PB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_DTS_PRE_MATCH_VAL_DTS_PB_VAL_SHIFT)) & SPDIF_DTS_PRE_MATCH_VAL_DTS_PB_VAL_MASK) + +#define SPDIF_DTS_PRE_MATCH_VAL_DTS_PA_VAL_MASK (0xFFFF0000U) +#define SPDIF_DTS_PRE_MATCH_VAL_DTS_PA_VAL_SHIFT (16U) +/*! DTS_PA_VAL - Preamble value */ +#define SPDIF_DTS_PRE_MATCH_VAL_DTS_PA_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_DTS_PRE_MATCH_VAL_DTS_PA_VAL_SHIFT)) & SPDIF_DTS_PRE_MATCH_VAL_DTS_PA_VAL_MASK) +/*! @} */ + +/*! @name RX_DPATH_PRE_ERR - Error count for IEC60958-1 Block Synchronization. */ +/*! @{ */ + +#define SPDIF_RX_DPATH_PRE_ERR_PRE_ERRS_MASK (0xFFFFU) +#define SPDIF_RX_DPATH_PRE_ERR_PRE_ERRS_SHIFT (0U) +/*! PRE_ERRS - Preamble Error counter */ +#define SPDIF_RX_DPATH_PRE_ERR_PRE_ERRS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_PRE_ERR_PRE_ERRS_SHIFT)) & SPDIF_RX_DPATH_PRE_ERR_PRE_ERRS_MASK) + +#define SPDIF_RX_DPATH_PRE_ERR_CLEAR_MASK (0x80000000U) +#define SPDIF_RX_DPATH_PRE_ERR_CLEAR_SHIFT (31U) +/*! CLEAR - Clear bit for error counter. */ +#define SPDIF_RX_DPATH_PRE_ERR_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_PRE_ERR_CLEAR_SHIFT)) & SPDIF_RX_DPATH_PRE_ERR_CLEAR_MASK) +/*! @} */ + +/*! @name RX_DPATH_PARITY_ERR - Parity Error count for IEC60958-1 Blocks. */ +/*! @{ */ + +#define SPDIF_RX_DPATH_PARITY_ERR_PRE_ERRS_MASK (0xFFFFU) +#define SPDIF_RX_DPATH_PARITY_ERR_PRE_ERRS_SHIFT (0U) +/*! PRE_ERRS - Parity Error counter */ +#define SPDIF_RX_DPATH_PARITY_ERR_PRE_ERRS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_PARITY_ERR_PRE_ERRS_SHIFT)) & SPDIF_RX_DPATH_PARITY_ERR_PRE_ERRS_MASK) + +#define SPDIF_RX_DPATH_PARITY_ERR_CLEAR_MASK (0x80000000U) +#define SPDIF_RX_DPATH_PARITY_ERR_CLEAR_SHIFT (31U) +/*! CLEAR - Clear bit for error counter. */ +#define SPDIF_RX_DPATH_PARITY_ERR_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_PARITY_ERR_CLEAR_SHIFT)) & SPDIF_RX_DPATH_PARITY_ERR_CLEAR_MASK) +/*! @} */ + +/*! @name RX_DPATH_PKT_CNT - Receive Data packet count. */ +/*! @{ */ + +#define SPDIF_RX_DPATH_PKT_CNT_VAL_MASK (0x7FFFFFFFU) +#define SPDIF_RX_DPATH_PKT_CNT_VAL_SHIFT (0U) +/*! VAL - Data packet counter */ +#define SPDIF_RX_DPATH_PKT_CNT_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_RX_DPATH_PKT_CNT_VAL_SHIFT)) & SPDIF_RX_DPATH_PKT_CNT_VAL_MASK) +/*! @} */ + +/*! @name PRE_MATCH_OFFSET - Preamble match offset value register */ +/*! @{ */ + +#define SPDIF_PRE_MATCH_OFFSET_PA_OFFSET_MASK (0xFFFFFFFFU) +#define SPDIF_PRE_MATCH_OFFSET_PA_OFFSET_SHIFT (0U) +/*! PA_OFFSET - Sample count value for PA offset match */ +#define SPDIF_PRE_MATCH_OFFSET_PA_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_PRE_MATCH_OFFSET_PA_OFFSET_SHIFT)) & SPDIF_PRE_MATCH_OFFSET_PA_OFFSET_MASK) +/*! @} */ + +/*! @name TX_DATAPATH_CTRL - Transmit Data path control register */ +/*! @{ */ + +#define SPDIF_TX_DATAPATH_CTRL_CS_ACK_MASK (0x1U) +#define SPDIF_TX_DATAPATH_CTRL_CS_ACK_SHIFT (0U) +/*! CS_ACK - Channel Status ACK */ +#define SPDIF_TX_DATAPATH_CTRL_CS_ACK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_CS_ACK_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_CS_ACK_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_UD_ACK_MASK (0x2U) +#define SPDIF_TX_DATAPATH_CTRL_UD_ACK_SHIFT (1U) +/*! UD_ACK - User Data ACK */ +#define SPDIF_TX_DATAPATH_CTRL_UD_ACK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_UD_ACK_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_UD_ACK_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_CS_MOD_MASK (0x4U) +#define SPDIF_TX_DATAPATH_CTRL_CS_MOD_SHIFT (2U) +/*! CS_MOD - Enable Channel Status insertion */ +#define SPDIF_TX_DATAPATH_CTRL_CS_MOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_CS_MOD_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_CS_MOD_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_UD_MOD_MASK (0x8U) +#define SPDIF_TX_DATAPATH_CTRL_UD_MOD_SHIFT (3U) +/*! UD_MOD - Enable User Data insertion */ +#define SPDIF_TX_DATAPATH_CTRL_UD_MOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_UD_MOD_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_UD_MOD_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_VLD_MOD_MASK (0x10U) +#define SPDIF_TX_DATAPATH_CTRL_VLD_MOD_SHIFT (4U) +/*! VLD_MOD - Enable Valid bit insertion */ +#define SPDIF_TX_DATAPATH_CTRL_VLD_MOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_VLD_MOD_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_VLD_MOD_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_FRM_VLD_MASK (0x20U) +#define SPDIF_TX_DATAPATH_CTRL_FRM_VLD_SHIFT (5U) +/*! FRM_VLD - Valid bit value */ +#define SPDIF_TX_DATAPATH_CTRL_FRM_VLD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_FRM_VLD_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_FRM_VLD_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_EN_PARITY_MASK (0x40U) +#define SPDIF_TX_DATAPATH_CTRL_EN_PARITY_SHIFT (6U) +/*! EN_PARITY - Enable parity insertion */ +#define SPDIF_TX_DATAPATH_CTRL_EN_PARITY(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_EN_PARITY_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_EN_PARITY_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_EN_PREAMBLE_MASK (0x80U) +#define SPDIF_TX_DATAPATH_CTRL_EN_PREAMBLE_SHIFT (7U) +/*! EN_PREAMBLE - Enable preamble insertion */ +#define SPDIF_TX_DATAPATH_CTRL_EN_PREAMBLE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_EN_PREAMBLE_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_EN_PREAMBLE_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_FRM_FMT_MASK (0x800U) +#define SPDIF_TX_DATAPATH_CTRL_FRM_FMT_SHIFT (11U) +/*! FRM_FMT - Frame format of input data */ +#define SPDIF_TX_DATAPATH_CTRL_FRM_FMT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_FRM_FMT_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_FRM_FMT_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_TX_FORMAT_MASK (0x3000U) +#define SPDIF_TX_DATAPATH_CTRL_TX_FORMAT_SHIFT (12U) +/*! TX_FORMAT - Transmit data format */ +#define SPDIF_TX_DATAPATH_CTRL_TX_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_TX_FORMAT_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_TX_FORMAT_MASK) + +#define SPDIF_TX_DATAPATH_CTRL_STRT_DATA_TX_MASK (0x4000U) +#define SPDIF_TX_DATAPATH_CTRL_STRT_DATA_TX_SHIFT (14U) +/*! STRT_DATA_TX - Start transmit of data. */ +#define SPDIF_TX_DATAPATH_CTRL_STRT_DATA_TX(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DATAPATH_CTRL_STRT_DATA_TX_SHIFT)) & SPDIF_TX_DATAPATH_CTRL_STRT_DATA_TX_MASK) +/*! @} */ + +/*! @name TX_CS_DATA_BITS - Channel staus bits */ +/*! @{ */ + +#define SPDIF_TX_CS_DATA_BITS_CS_DATA_MASK (0xFFFFFFFFU) +#define SPDIF_TX_CS_DATA_BITS_CS_DATA_SHIFT (0U) +/*! CS_DATA - Channel Status bits / block */ +#define SPDIF_TX_CS_DATA_BITS_CS_DATA(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_CS_DATA_BITS_CS_DATA_SHIFT)) & SPDIF_TX_CS_DATA_BITS_CS_DATA_MASK) +/*! @} */ + +/* The count of SPDIF_TX_CS_DATA_BITS */ +#define SPDIF_TX_CS_DATA_BITS_COUNT (6U) + +/*! @name TX_USER_DATA_BITS - User data bits */ +/*! @{ */ + +#define SPDIF_TX_USER_DATA_BITS_U_DATA_MASK (0xFFFFFFFFU) +#define SPDIF_TX_USER_DATA_BITS_U_DATA_SHIFT (0U) +/*! U_DATA - User data bits/block */ +#define SPDIF_TX_USER_DATA_BITS_U_DATA(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_USER_DATA_BITS_U_DATA_SHIFT)) & SPDIF_TX_USER_DATA_BITS_U_DATA_MASK) +/*! @} */ + +/* The count of SPDIF_TX_USER_DATA_BITS */ +#define SPDIF_TX_USER_DATA_BITS_COUNT (6U) + +/*! @name TX_DPATH_CNTR_CTRL - Transmit datapath counter control register */ +/*! @{ */ + +#define SPDIF_TX_DPATH_CNTR_CTRL_TS_EN_MASK (0x1U) +#define SPDIF_TX_DPATH_CNTR_CTRL_TS_EN_SHIFT (0U) +/*! TS_EN - Timestamp counter enable */ +#define SPDIF_TX_DPATH_CNTR_CTRL_TS_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DPATH_CNTR_CTRL_TS_EN_SHIFT)) & SPDIF_TX_DPATH_CNTR_CTRL_TS_EN_MASK) + +#define SPDIF_TX_DPATH_CNTR_CTRL_TS_INC_MASK (0x2U) +#define SPDIF_TX_DPATH_CNTR_CTRL_TS_INC_SHIFT (1U) +/*! TS_INC - Timestamp Increment */ +#define SPDIF_TX_DPATH_CNTR_CTRL_TS_INC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DPATH_CNTR_CTRL_TS_INC_SHIFT)) & SPDIF_TX_DPATH_CNTR_CTRL_TS_INC_MASK) + +#define SPDIF_TX_DPATH_CNTR_CTRL_RST_BIT_CNTR_MASK (0x100U) +#define SPDIF_TX_DPATH_CNTR_CTRL_RST_BIT_CNTR_SHIFT (8U) +/*! RST_BIT_CNTR - Reset bit counter. */ +#define SPDIF_TX_DPATH_CNTR_CTRL_RST_BIT_CNTR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DPATH_CNTR_CTRL_RST_BIT_CNTR_SHIFT)) & SPDIF_TX_DPATH_CNTR_CTRL_RST_BIT_CNTR_MASK) + +#define SPDIF_TX_DPATH_CNTR_CTRL_RST_TS_CNTR_MASK (0x200U) +#define SPDIF_TX_DPATH_CNTR_CTRL_RST_TS_CNTR_SHIFT (9U) +/*! RST_TS_CNTR - Reset timestamp counter. */ +#define SPDIF_TX_DPATH_CNTR_CTRL_RST_TS_CNTR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DPATH_CNTR_CTRL_RST_TS_CNTR_SHIFT)) & SPDIF_TX_DPATH_CNTR_CTRL_RST_TS_CNTR_MASK) +/*! @} */ + +/*! @name TX_DPATH_TSCR - Transmit Datapath Timestamp Counter Register */ +/*! @{ */ + +#define SPDIF_TX_DPATH_TSCR_CVAL_MASK (0xFFFFFFFFU) +#define SPDIF_TX_DPATH_TSCR_CVAL_SHIFT (0U) +/*! CVAL - Timestamp counter value */ +#define SPDIF_TX_DPATH_TSCR_CVAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DPATH_TSCR_CVAL_SHIFT)) & SPDIF_TX_DPATH_TSCR_CVAL_MASK) +/*! @} */ + +/*! @name TX_DPATH_BCR - Transmit Datapath Bit counter register */ +/*! @{ */ + +#define SPDIF_TX_DPATH_BCR_CVAL_MASK (0xFFFFFFFFU) +#define SPDIF_TX_DPATH_BCR_CVAL_SHIFT (0U) +/*! CVAL - Bit count value */ +#define SPDIF_TX_DPATH_BCR_CVAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DPATH_BCR_CVAL_SHIFT)) & SPDIF_TX_DPATH_BCR_CVAL_MASK) +/*! @} */ + +/*! @name TX_DPATH_BCTR - Transmit datapath Bit count timestamp register. */ +/*! @{ */ + +#define SPDIF_TX_DPATH_BCTR_BCT_VAL_MASK (0xFFFFFFFFU) +#define SPDIF_TX_DPATH_BCTR_BCT_VAL_SHIFT (0U) +/*! BCT_VAL - Bit count timestamp value */ +#define SPDIF_TX_DPATH_BCTR_BCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DPATH_BCTR_BCT_VAL_SHIFT)) & SPDIF_TX_DPATH_BCTR_BCT_VAL_MASK) +/*! @} */ + +/*! @name TX_DPATH_BCRR - Transmmit datapath Bit read timestamp register. */ +/*! @{ */ + +#define SPDIF_TX_DPATH_BCRR_BCT_VAL_MASK (0xFFFFFFFFU) +#define SPDIF_TX_DPATH_BCRR_BCT_VAL_SHIFT (0U) +/*! BCT_VAL - Bit count timestamp value */ +#define SPDIF_TX_DPATH_BCRR_BCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_TX_DPATH_BCRR_BCT_VAL_SHIFT)) & SPDIF_TX_DPATH_BCRR_BCT_VAL_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group SPDIF_Register_Masks */ + + +/* SPDIF - Peripheral instance base addresses */ +/** Peripheral SPDIF base address */ +#define SPDIF_BASE (0x42680000u) +/** Peripheral SPDIF base pointer */ +#define SPDIF ((SPDIF_Type *)SPDIF_BASE) +/** Array initializer of SPDIF peripheral base addresses */ +#define SPDIF_BASE_ADDRS { SPDIF_BASE } +/** Array initializer of SPDIF peripheral base pointers */ +#define SPDIF_BASE_PTRS { SPDIF } + +/*! + * @} + */ /* end of group SPDIF_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- SRC_GENERAL_REG Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SRC_GENERAL_REG_Peripheral_Access_Layer SRC_GENERAL_REG Peripheral Access Layer + * @{ + */ + +/** SRC_GENERAL_REG - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[4]; + __IO uint32_t AUTHEN_CTRL; /**< Authentication Control, offset: 0x4 */ + uint8_t RESERVED_1[12]; + __IO uint32_t SRTMR; /**< SRC RESET TRIGGER MODE REGISTER, offset: 0x14 */ + __IO uint32_t SRMASK; /**< SRC RESET TRIGGER MODE REGISTER, offset: 0x18 */ + uint8_t RESERVED_2[4]; + __IO uint32_t SRMR1; /**< SRC RESET MODE REGISTER 1, offset: 0x20 */ + __IO uint32_t SRMR2; /**< SRC RESET MODE REGISTER 2, offset: 0x24 */ + __IO uint32_t SRMR3; /**< SRC RESET MODE REGISTER 3, offset: 0x28 */ + __IO uint32_t SRMR4; /**< SRC RESET MODE REGISTER 4, offset: 0x2C */ + uint8_t RESERVED_3[16]; + __I uint32_t SBMR1; /**< SRC Boot Mode Register 1, offset: 0x40 */ + __I uint32_t SBMR2; /**< SRC Boot Mode Register 2, offset: 0x44 */ + uint8_t RESERVED_4[8]; + __IO uint32_t SRSR; /**< SRC Reset Status Register, offset: 0x50 */ + __IO uint32_t GPR1; /**< SRC General Purpose Register 1, offset: 0x54 */ + __IO uint32_t GPR2; /**< SRC General Purpose Register 2, offset: 0x58 */ + __IO uint32_t GPR3; /**< SRC General Purpose Register 3, offset: 0x5C */ + __IO uint32_t GPR4; /**< SRC General Purpose Register 4, offset: 0x60 */ + __IO uint32_t GPR5; /**< SRC General Purpose Register 5, offset: 0x64 */ + __IO uint32_t GPR6; /**< SRC General Purpose Register 6, offset: 0x68 */ + __IO uint32_t GPR7; /**< SRC General Purpose Register 7, offset: 0x6C */ + __IO uint32_t GPR8; /**< SRC General Purpose Register 8, offset: 0x70 */ + __IO uint32_t GPR9; /**< SRC General Purpose Register 9, offset: 0x74 */ + __IO uint32_t GPR10; /**< SRC General Purpose Register 10, offset: 0x78 */ + __IO uint32_t GPR11; /**< SRC General Purpose Register 11, offset: 0x7C */ + __IO uint32_t GPR12; /**< SRC General Purpose Register 12, offset: 0x80 */ + __IO uint32_t GPR13; /**< SRC General Purpose Register 13, offset: 0x84 */ + __IO uint32_t GPR14; /**< SRC General Purpose Register 14, offset: 0x88 */ + __IO uint32_t GPR15; /**< SRC General Purpose Register 15, offset: 0x8C */ + __IO uint32_t GPR16; /**< SRC General Purpose Register 16, offset: 0x90 */ + __IO uint32_t GPR17; /**< SRC General Purpose Register 17, offset: 0x94 */ + __IO uint32_t GPR18; /**< SRC General Purpose Register 18, offset: 0x98 */ + __IO uint32_t GPR19; /**< SRC General Purpose Register 19, offset: 0x9C */ + uint8_t RESERVED_5[96]; + __IO uint32_t GPR20; /**< SRC General Purpose Register 20, offset: 0x100 */ + uint8_t RESERVED_6[4]; + __IO uint32_t COLD_RESET_SSAR_ACK_CTRL; /**< Cold reset SSAR acknowledge control, offset: 0x108 */ + __IO uint32_t SP_ISO_CTRL; /**< SRC special ISO Control, offset: 0x10C */ + __IO uint32_t ROM_LP_CTRL; /**< ROM Low Power Control, offset: 0x110 */ + __I uint32_t A55_DENY_STAT; /**< A55 Q_Channel Deny Status, offset: 0x114 */ +} SRC_GENERAL_REG_Type; + +/* ---------------------------------------------------------------------------- + -- SRC_GENERAL_REG Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SRC_GENERAL_REG_Register_Masks SRC_GENERAL_REG Register Masks + * @{ + */ + +/*! @name AUTHEN_CTRL - Authentication Control */ +/*! @{ */ + +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_CFG_MASK (0x80U) +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_CFG_SHIFT (7U) +/*! LOCK_CFG - Configuration lock + * 0b0..General registers are not locked. + * 0b1..LOCK_CFG and registers in the list are locked. + */ +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_CFG_MASK) + +#define SRC_GENERAL_REG_AUTHEN_CTRL_TZ_USER_MASK (0x100U) +#define SRC_GENERAL_REG_AUTHEN_CTRL_TZ_USER_SHIFT (8U) +/*! TZ_USER - Allow user mode access + * 0b0..General registers can only be written in privilege mode. + * 0b1..General registers can be written either in privilege mode or user mode. + */ +#define SRC_GENERAL_REG_AUTHEN_CTRL_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_AUTHEN_CTRL_TZ_USER_SHIFT)) & SRC_GENERAL_REG_AUTHEN_CTRL_TZ_USER_MASK) + +#define SRC_GENERAL_REG_AUTHEN_CTRL_TZ_NS_MASK (0x200U) +#define SRC_GENERAL_REG_AUTHEN_CTRL_TZ_NS_SHIFT (9U) +/*! TZ_NS - Allow non-secure mode access + * 0b0..General registers can only be written in secure mode. + * 0b1..General registers can be written either in secure mode or non-secure mode. + */ +#define SRC_GENERAL_REG_AUTHEN_CTRL_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_AUTHEN_CTRL_TZ_NS_SHIFT)) & SRC_GENERAL_REG_AUTHEN_CTRL_TZ_NS_MASK) + +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_TZ_MASK (0x800U) +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock TZ_NS and TZ_USER bits + * 0b0..TZ_NS and TZ_USER value can be changed. + * 0b1..LOCK_TZ, TZ_NS and TZ_USER value cannot be changed. + */ +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_TZ_SHIFT)) & SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_TZ_MASK) + +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_LIST_MASK (0x8000U) +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - White list lock + * 0b0..WHITE_LIST value can be changed. + * 0b1..LOCK_LIST and WHITE_LIST value cannot be changed. + */ +#define SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & SRC_GENERAL_REG_AUTHEN_CTRL_LOCK_LIST_MASK) + +#define SRC_GENERAL_REG_AUTHEN_CTRL_WHITE_LIST_MASK (0xFFFF0000U) +#define SRC_GENERAL_REG_AUTHEN_CTRL_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Domain ID white list + * 0b0000000000000001..Core with domain ID=0 can write General registers. + * 0b0000000000000010..Core with domain ID=1 can write General registers. + * 0b0000000000000100..Core with domain ID=2 can write General registers. + * 0b0000000000001000..Core with domain ID=3 can write General registers. + * 0b0000000000010000..Core with domain ID=4 can write General registers. + * 0b0000000000100000..Core with domain ID=5 can write General registers. + * 0b0000000001000000..Core with domain ID=6 can write General registers. + * 0b0000000010000000..Core with domain ID=7 can write General registers. + * 0b0000000100000000..Core with domain ID=8 can write General registers. + * 0b0000001000000000..Core with domain ID=9 can write General registers. + * 0b0000010000000000..Core with domain ID=10 can write General registers. + * 0b0000100000000000..Core with domain ID=11 can write General registers. + * 0b0001000000000000..Core with domain ID=12 can write General registers. + * 0b0010000000000000..Core with domain ID=13 can write General registers. + * 0b0100000000000000..Core with domain ID=14 can write General registers. + * 0b1000000000000000..Core with domain ID=15 can write General registers. + */ +#define SRC_GENERAL_REG_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & SRC_GENERAL_REG_AUTHEN_CTRL_WHITE_LIST_MASK) +/*! @} */ + +/*! @name SRTMR - SRC RESET TRIGGER MODE REGISTER */ +/*! @{ */ + +#define SRC_GENERAL_REG_SRTMR_WDOG1_TRIG_MODE_MASK (0x1U) +#define SRC_GENERAL_REG_SRTMR_WDOG1_TRIG_MODE_SHIFT (0U) +/*! WDOG1_TRIG_MODE - WDOG1 reset trigger mode configuration,locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_WDOG1_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_WDOG1_TRIG_MODE_SHIFT)) & SRC_GENERAL_REG_SRTMR_WDOG1_TRIG_MODE_MASK) + +#define SRC_GENERAL_REG_SRTMR_WDOG2_TRIG_MODE_MASK (0x2U) +#define SRC_GENERAL_REG_SRTMR_WDOG2_TRIG_MODE_SHIFT (1U) +/*! WDOG2_TRIG_MODE - WDOG2 reset trigger mode configuration,locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_WDOG2_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_WDOG2_TRIG_MODE_SHIFT)) & SRC_GENERAL_REG_SRTMR_WDOG2_TRIG_MODE_MASK) + +#define SRC_GENERAL_REG_SRTMR_WDOG3_TRIG_MODE_MASK (0x4U) +#define SRC_GENERAL_REG_SRTMR_WDOG3_TRIG_MODE_SHIFT (2U) +/*! WDOG3_TRIG_MODE - WDOG3 reset trigger mode configuration,locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_WDOG3_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_WDOG3_TRIG_MODE_SHIFT)) & SRC_GENERAL_REG_SRTMR_WDOG3_TRIG_MODE_MASK) + +#define SRC_GENERAL_REG_SRTMR_WDOG4_TRIG_MODE_MASK (0x8U) +#define SRC_GENERAL_REG_SRTMR_WDOG4_TRIG_MODE_SHIFT (3U) +/*! WDOG4_TRIG_MODE - WDOG4 reset trigger mode configuration,locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_WDOG4_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_WDOG4_TRIG_MODE_SHIFT)) & SRC_GENERAL_REG_SRTMR_WDOG4_TRIG_MODE_MASK) + +#define SRC_GENERAL_REG_SRTMR_WDOG5_TRIG_MODE_MASK (0x10U) +#define SRC_GENERAL_REG_SRTMR_WDOG5_TRIG_MODE_SHIFT (4U) +/*! WDOG5_TRIG_MODE - WDOG5 reset trigger mode configuration,locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_WDOG5_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_WDOG5_TRIG_MODE_SHIFT)) & SRC_GENERAL_REG_SRTMR_WDOG5_TRIG_MODE_MASK) + +#define SRC_GENERAL_REG_SRTMR_TEMPSENSE_TRIG_MODE_MASK (0x20U) +#define SRC_GENERAL_REG_SRTMR_TEMPSENSE_TRIG_MODE_SHIFT (5U) +/*! TEMPSENSE_TRIG_MODE - Tempsense reset trigger mode configuration,locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_TEMPSENSE_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_TEMPSENSE_TRIG_MODE_SHIFT)) & SRC_GENERAL_REG_SRTMR_TEMPSENSE_TRIG_MODE_MASK) + +#define SRC_GENERAL_REG_SRTMR_CSU_TRIG_MODE_MASK (0x40U) +#define SRC_GENERAL_REG_SRTMR_CSU_TRIG_MODE_SHIFT (6U) +/*! CSU_TRIG_MODE - CSU reset trigger mode configuration,locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_CSU_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_CSU_TRIG_MODE_SHIFT)) & SRC_GENERAL_REG_SRTMR_CSU_TRIG_MODE_MASK) + +#define SRC_GENERAL_REG_SRTMR_JTAGSW_TRIG_MODE_MASK (0x80U) +#define SRC_GENERAL_REG_SRTMR_JTAGSW_TRIG_MODE_SHIFT (7U) +/*! JTAGSW_TRIG_MODE - JTAGSW reset trigger mode configuration,locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_JTAGSW_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_JTAGSW_TRIG_MODE_SHIFT)) & SRC_GENERAL_REG_SRTMR_JTAGSW_TRIG_MODE_MASK) + +#define SRC_GENERAL_REG_SRTMR_JTAG_RST_B_MASK (0x200U) +#define SRC_GENERAL_REG_SRTMR_JTAG_RST_B_SHIFT (9U) +/*! JTAG_RST_B - JTAG_RST_B trigger mode configuration, locked by LOCK_CFG field + * 0b0..Level-sensitive: System stays in reset until the reset source deasserts. + * 0b1..Edge-sensitive: System resets once, even if the reset source remains asserted. + */ +#define SRC_GENERAL_REG_SRTMR_JTAG_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRTMR_JTAG_RST_B_SHIFT)) & SRC_GENERAL_REG_SRTMR_JTAG_RST_B_MASK) +/*! @} */ + +/*! @name SRMASK - SRC RESET TRIGGER MODE REGISTER */ +/*! @{ */ + +#define SRC_GENERAL_REG_SRMASK_WDOG1_MASK_MASK (0x1U) +#define SRC_GENERAL_REG_SRMASK_WDOG1_MASK_SHIFT (0U) +/*! WDOG1_MASK - WDOG1 reset mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_WDOG1_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_WDOG1_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_WDOG1_MASK_MASK) + +#define SRC_GENERAL_REG_SRMASK_WDOG2_MASK_MASK (0x2U) +#define SRC_GENERAL_REG_SRMASK_WDOG2_MASK_SHIFT (1U) +/*! WDOG2_MASK - WDOG2 reset mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_WDOG2_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_WDOG2_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_WDOG2_MASK_MASK) + +#define SRC_GENERAL_REG_SRMASK_WDOG3_MASK_MASK (0x4U) +#define SRC_GENERAL_REG_SRMASK_WDOG3_MASK_SHIFT (2U) +/*! WDOG3_MASK - WDOG3 reset mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_WDOG3_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_WDOG3_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_WDOG3_MASK_MASK) + +#define SRC_GENERAL_REG_SRMASK_WDOG4_MASK_MASK (0x8U) +#define SRC_GENERAL_REG_SRMASK_WDOG4_MASK_SHIFT (3U) +/*! WDOG4_MASK - WDOG4 reset mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_WDOG4_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_WDOG4_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_WDOG4_MASK_MASK) + +#define SRC_GENERAL_REG_SRMASK_WDOG5_MASK_MASK (0x10U) +#define SRC_GENERAL_REG_SRMASK_WDOG5_MASK_SHIFT (4U) +/*! WDOG5_MASK - WDOG5 reset mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_WDOG5_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_WDOG5_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_WDOG5_MASK_MASK) + +#define SRC_GENERAL_REG_SRMASK_TEMPSENSE_MASK_MASK (0x20U) +#define SRC_GENERAL_REG_SRMASK_TEMPSENSE_MASK_SHIFT (5U) +/*! TEMPSENSE_MASK - Tempsense reset mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_TEMPSENSE_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_TEMPSENSE_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_TEMPSENSE_MASK_MASK) + +#define SRC_GENERAL_REG_SRMASK_CSU_MASK_MASK (0x40U) +#define SRC_GENERAL_REG_SRMASK_CSU_MASK_SHIFT (6U) +/*! CSU_MASK - CSU reset mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_CSU_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_CSU_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_CSU_MASK_MASK) + +#define SRC_GENERAL_REG_SRMASK_JTAGSW_MASK_MASK (0x80U) +#define SRC_GENERAL_REG_SRMASK_JTAGSW_MASK_SHIFT (7U) +/*! JTAGSW_MASK - JTAG SW reset mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_JTAGSW_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_JTAGSW_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_JTAGSW_MASK_MASK) + +#define SRC_GENERAL_REG_SRMASK_JTAG_RST_B_MASK_MASK (0x200U) +#define SRC_GENERAL_REG_SRMASK_JTAG_RST_B_MASK_SHIFT (9U) +/*! JTAG_RST_B_MASK - JTAG_RST_B mask, locked by LOCK_CFG field. + * 0b0..The cold reset source can work. + * 0b1..The cold reset source is masked and cannot work. + */ +#define SRC_GENERAL_REG_SRMASK_JTAG_RST_B_MASK(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMASK_JTAG_RST_B_MASK_SHIFT)) & SRC_GENERAL_REG_SRMASK_JTAG_RST_B_MASK_MASK) +/*! @} */ + +/*! @name SRMR1 - SRC RESET MODE REGISTER 1 */ +/*! @{ */ + +#define SRC_GENERAL_REG_SRMR1_WDOG1_RESET_MODE_MASK (0xFFFFU) +#define SRC_GENERAL_REG_SRMR1_WDOG1_RESET_MODE_SHIFT (0U) +/*! WDOG1_RESET_MODE - WDOG1 reset mode configuration, locked by LOCK_CFG field. + * 0b0000000000000000..system + * 0b0000000000000001..bit0: AONMIX + * 0b0000000000000010..bit1: WAKEUPMIX + * 0b0000000000000100..bit2: DDRMIX + * 0b0000000000001000..bit3: DRAM PHY + * 0b0000000000010000..Reserved + * 0b0000000000100000..bit5: NICMIX + * 0b0000000001000000..bit6: HSIOMIX + * 0b0000000010000000..bit7: MEDIAMIX + * 0b0000000100000000..bit8: Reserved + * 0b0000001000000000..bit9: CA55_CPU0 + * 0b0000010000000000..bit10: Reserved + * 0b0000100000000000..bit11: CA55_Platform + */ +#define SRC_GENERAL_REG_SRMR1_WDOG1_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMR1_WDOG1_RESET_MODE_SHIFT)) & SRC_GENERAL_REG_SRMR1_WDOG1_RESET_MODE_MASK) + +#define SRC_GENERAL_REG_SRMR1_WDOG2_RESET_MODE_MASK (0xFFFF0000U) +#define SRC_GENERAL_REG_SRMR1_WDOG2_RESET_MODE_SHIFT (16U) +/*! WDOG2_RESET_MODE - WDOG2 reset mode configuration, locked by LOCK_CFG field. + * 0b0000000000000000..system + * 0b0000000000000001..bit0: AONMIX + * 0b0000000000000010..bit1: WAKEUPMIX + * 0b0000000000000100..bit2: DDRMIX + * 0b0000000000001000..bit3: DRAM PHY + * 0b0000000000010000..Reserved + * 0b0000000000100000..bit5: NICMIX + * 0b0000000001000000..bit6: HSIOMIX + * 0b0000000010000000..bit7: MEDIAMIX + * 0b0000000100000000..bit8: Reserved + * 0b0000001000000000..bit9: CA55_CPU0 + * 0b0000010000000000..bit10: Reserved + * 0b0000100000000000..bit11: CA55_Platform + */ +#define SRC_GENERAL_REG_SRMR1_WDOG2_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMR1_WDOG2_RESET_MODE_SHIFT)) & SRC_GENERAL_REG_SRMR1_WDOG2_RESET_MODE_MASK) +/*! @} */ + +/*! @name SRMR2 - SRC RESET MODE REGISTER 2 */ +/*! @{ */ + +#define SRC_GENERAL_REG_SRMR2_WDOG3_RESET_MODE_MASK (0xFFFFU) +#define SRC_GENERAL_REG_SRMR2_WDOG3_RESET_MODE_SHIFT (0U) +/*! WDOG3_RESET_MODE - WDOG3 reset mode configuration, locked by LOCK_CFG field. + * 0b0000000000000000..system + * 0b0000000000000001..bit0: AONMIX + * 0b0000000000000010..bit1: WAKEUPMIX + * 0b0000000000000100..bit2: DDRMIX + * 0b0000000000001000..bit3: DRAM PHY + * 0b0000000000010000..Reserved + * 0b0000000000100000..bit5: NICMIX + * 0b0000000001000000..bit6: HSIOMIX + * 0b0000000010000000..bit7: MEDIAMIX + * 0b0000000100000000..bit8: Reserved + * 0b0000001000000000..bit9: CA55_CPU0 + * 0b0000010000000000..bit10: Reserved + * 0b0000100000000000..bit11: CA55_Platform + */ +#define SRC_GENERAL_REG_SRMR2_WDOG3_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMR2_WDOG3_RESET_MODE_SHIFT)) & SRC_GENERAL_REG_SRMR2_WDOG3_RESET_MODE_MASK) + +#define SRC_GENERAL_REG_SRMR2_WDOG4_RESET_MODE_MASK (0xFFFF0000U) +#define SRC_GENERAL_REG_SRMR2_WDOG4_RESET_MODE_SHIFT (16U) +/*! WDOG4_RESET_MODE - WDOG4 reset mode configuration, locked by LOCK_CFG field. + * 0b0000000000000000..system + * 0b0000000000000001..bit0: AONMIX + * 0b0000000000000010..bit1: WAKEUPMIX + * 0b0000000000000100..bit2: DDRMIX + * 0b0000000000001000..bit3: DRAM PHY + * 0b0000000000010000..Reserved + * 0b0000000000100000..bit5: NICMIX + * 0b0000000001000000..bit6: HSIOMIX + * 0b0000000010000000..bit7: MEDIAMIX + * 0b0000000100000000..bit8: Reserved + * 0b0000001000000000..bit9: CA55_CPU0 + * 0b0000010000000000..bit10: Reserved + * 0b0000100000000000..bit11: CA55_Platform + */ +#define SRC_GENERAL_REG_SRMR2_WDOG4_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMR2_WDOG4_RESET_MODE_SHIFT)) & SRC_GENERAL_REG_SRMR2_WDOG4_RESET_MODE_MASK) +/*! @} */ + +/*! @name SRMR3 - SRC RESET MODE REGISTER 3 */ +/*! @{ */ + +#define SRC_GENERAL_REG_SRMR3_WDOG5_RESET_MODE_MASK (0xFFFFU) +#define SRC_GENERAL_REG_SRMR3_WDOG5_RESET_MODE_SHIFT (0U) +/*! WDOG5_RESET_MODE - WDOG5 reset mode configuration, locked by LOCK_CFG field. + * 0b0000000000000000..system + * 0b0000000000000001..bit0: AONMIX + * 0b0000000000000010..bit1: WAKEUPMIX + * 0b0000000000000100..bit2: DDRMIX + * 0b0000000000001000..bit3: DRAM PHY + * 0b0000000000010000..Reserved + * 0b0000000000100000..bit5: NICMIX + * 0b0000000001000000..bit6: HSIOMIX + * 0b0000000010000000..bit7: MEDIAMIX + * 0b0000000100000000..bit8: Reserved + * 0b0000001000000000..bit9: CA55_CPU0 + * 0b0000010000000000..bit10: Reserved + * 0b0000100000000000..bit11: CA55_Platform + */ +#define SRC_GENERAL_REG_SRMR3_WDOG5_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMR3_WDOG5_RESET_MODE_SHIFT)) & SRC_GENERAL_REG_SRMR3_WDOG5_RESET_MODE_MASK) + +#define SRC_GENERAL_REG_SRMR3_TEMPSENSE_RESET_MODE_MASK (0xFFFF0000U) +#define SRC_GENERAL_REG_SRMR3_TEMPSENSE_RESET_MODE_SHIFT (16U) +/*! TEMPSENSE_RESET_MODE - Tempsense reset mode configuration, locked by LOCK_CFG field. + * 0b0000000000000000..system + * 0b0000000000000001..bit0: AONMIX + * 0b0000000000000010..bit1: WAKEUPMIX + * 0b0000000000000100..bit2: DDRMIX + * 0b0000000000001000..bit3: DRAM PHY + * 0b0000000000010000..Reserved + * 0b0000000000100000..bit5: NICMIX + * 0b0000000001000000..bit6: HSIOMIX + * 0b0000000010000000..bit7: MEDIAMIX + * 0b0000000100000000..bit8: Reserved + * 0b0000001000000000..bit9: CA55_CPU0 + * 0b0000010000000000..bit10: Reserved + * 0b0000100000000000..bit11: CA55_Platform + */ +#define SRC_GENERAL_REG_SRMR3_TEMPSENSE_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMR3_TEMPSENSE_RESET_MODE_SHIFT)) & SRC_GENERAL_REG_SRMR3_TEMPSENSE_RESET_MODE_MASK) +/*! @} */ + +/*! @name SRMR4 - SRC RESET MODE REGISTER 4 */ +/*! @{ */ + +#define SRC_GENERAL_REG_SRMR4_CSU_RESET_MODE_MASK (0xFFFFU) +#define SRC_GENERAL_REG_SRMR4_CSU_RESET_MODE_SHIFT (0U) +/*! CSU_RESET_MODE - CSU reset mode configuration, locked by LOCK_CFG field. + * 0b0000000000000000..system + * 0b0000000000000001..bit0: AONMIX + * 0b0000000000000010..bit1: WAKEUPMIX + * 0b0000000000000100..bit2: DDRMIX + * 0b0000000000001000..bit3: DRAM PHY + * 0b0000000000010000..Reserved + * 0b0000000000100000..bit5: NICMIX + * 0b0000000001000000..bit6: HSIOMIX + * 0b0000000010000000..bit7: MEDIAMIX + * 0b0000000100000000..bit8: Reserved + * 0b0000001000000000..bit9: CA55_CPU0 + * 0b0000010000000000..bit10: Reserved + * 0b0000100000000000..bit11: CA55_Platform + */ +#define SRC_GENERAL_REG_SRMR4_CSU_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMR4_CSU_RESET_MODE_SHIFT)) & SRC_GENERAL_REG_SRMR4_CSU_RESET_MODE_MASK) + +#define SRC_GENERAL_REG_SRMR4_JTAGSW_RESET_MODE_MASK (0xFFFF0000U) +#define SRC_GENERAL_REG_SRMR4_JTAGSW_RESET_MODE_SHIFT (16U) +/*! JTAGSW_RESET_MODE - JTAG SW reset mode configuration, locked by LOCK_CFG field. + * 0b0000000000000000..system + * 0b0000000000000001..bit0: AONMIX + * 0b0000000000000010..bit1: WAKEUPMIX + * 0b0000000000000100..bit2: DDRMIX + * 0b0000000000001000..bit3: DRAM PHY + * 0b0000000000010000..Reserved + * 0b0000000000100000..bit5: NICMIX + * 0b0000000001000000..bit6: HSIOMIX + * 0b0000000010000000..bit7: MEDIAMIX + * 0b0000000100000000..bit8: Reserved + * 0b0000001000000000..bit9: CA55_CPU0 + * 0b0000010000000000..bit10: Reserved + * 0b0000100000000000..bit11: CA55_Platform + */ +#define SRC_GENERAL_REG_SRMR4_JTAGSW_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRMR4_JTAGSW_RESET_MODE_SHIFT)) & SRC_GENERAL_REG_SRMR4_JTAGSW_RESET_MODE_MASK) +/*! @} */ + +/*! @name SBMR1 - SRC Boot Mode Register 1 */ +/*! @{ */ + +#define SRC_GENERAL_REG_SBMR1_BOOT_CFG0_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_SBMR1_BOOT_CFG0_SHIFT (0U) +/*! BOOT_CFG0 - This bit field stores the BOOT_CFG8 fuse values. Please refer to the Fusemap for the fuse details. */ +#define SRC_GENERAL_REG_SBMR1_BOOT_CFG0(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SBMR1_BOOT_CFG0_SHIFT)) & SRC_GENERAL_REG_SBMR1_BOOT_CFG0_MASK) +/*! @} */ + +/*! @name SBMR2 - SRC Boot Mode Register 2 */ +/*! @{ */ + +#define SRC_GENERAL_REG_SBMR2_BOOT_CFG1_MASK (0xFFFFU) +#define SRC_GENERAL_REG_SBMR2_BOOT_CFG1_SHIFT (0U) +/*! BOOT_CFG1 - This bit field stores the BOOT_CFG0[15:0] fuse values. Please refer to the Fusemap for the fuse details. */ +#define SRC_GENERAL_REG_SBMR2_BOOT_CFG1(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SBMR2_BOOT_CFG1_SHIFT)) & SRC_GENERAL_REG_SBMR2_BOOT_CFG1_MASK) + +#define SRC_GENERAL_REG_SBMR2_SDP_DIS_MASK (0x10000U) +#define SRC_GENERAL_REG_SBMR2_SDP_DIS_SHIFT (16U) +/*! SDP_DIS - Please see the fusemap for fuse details. */ +#define SRC_GENERAL_REG_SBMR2_SDP_DIS(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SBMR2_SDP_DIS_SHIFT)) & SRC_GENERAL_REG_SBMR2_SDP_DIS_MASK) + +#define SRC_GENERAL_REG_SBMR2_IPP_BOOT_MODE_MASK (0x3F000000U) +#define SRC_GENERAL_REG_SBMR2_IPP_BOOT_MODE_SHIFT (24U) +/*! IPP_BOOT_MODE - Boot mode from pins */ +#define SRC_GENERAL_REG_SBMR2_IPP_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SBMR2_IPP_BOOT_MODE_SHIFT)) & SRC_GENERAL_REG_SBMR2_IPP_BOOT_MODE_MASK) + +#define SRC_GENERAL_REG_SBMR2_DIT_BT_DIS_MASK (0x80000000U) +#define SRC_GENERAL_REG_SBMR2_DIT_BT_DIS_SHIFT (31U) +/*! DIT_BT_DIS - Please see the fusemap for fuse details. */ +#define SRC_GENERAL_REG_SBMR2_DIT_BT_DIS(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SBMR2_DIT_BT_DIS_SHIFT)) & SRC_GENERAL_REG_SBMR2_DIT_BT_DIS_MASK) +/*! @} */ + +/*! @name SRSR - SRC Reset Status Register */ +/*! @{ */ + +#define SRC_GENERAL_REG_SRSR_SRC_POR_B_MASK (0x1U) +#define SRC_GENERAL_REG_SRSR_SRC_POR_B_SHIFT (0U) +/*! SRC_POR_B - Indicates whether the reset was the result of the system_por_b or jtag_rst_b. + * 0b0..Reset is not caused by system_por_b or jtag_rst_b event. + * 0b1..Reset is caused by system_por_b or jtag_rst_b event. + */ +#define SRC_GENERAL_REG_SRSR_SRC_POR_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_SRC_POR_B_SHIFT)) & SRC_GENERAL_REG_SRSR_SRC_POR_B_MASK) + +#define SRC_GENERAL_REG_SRSR_IPP_USER_RESET_B_MASK (0x4U) +#define SRC_GENERAL_REG_SRSR_IPP_USER_RESET_B_SHIFT (2U) +/*! IPP_USER_RESET_B - Indicates whether the reset was the result of ipp_user_reset_b. + * 0b0..Reset is not caused by IPP_USER_RESET_B. + * 0b1..Reset is caused by IPP_USER_RESET_B. + */ +#define SRC_GENERAL_REG_SRSR_IPP_USER_RESET_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_IPP_USER_RESET_B_SHIFT)) & SRC_GENERAL_REG_SRSR_IPP_USER_RESET_B_MASK) + +#define SRC_GENERAL_REG_SRSR_WDOG1_RST_B_MASK (0x8U) +#define SRC_GENERAL_REG_SRSR_WDOG1_RST_B_SHIFT (3U) +/*! WDOG1_RST_B - Time-out reset. Indicates whether the reset was the result of the watchdog1 time-out event. + * 0b0..Reset is not caused by the watchdog1 time-out event. + * 0b1..Reset is caused by the watchdog1 time-out event. + */ +#define SRC_GENERAL_REG_SRSR_WDOG1_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_WDOG1_RST_B_SHIFT)) & SRC_GENERAL_REG_SRSR_WDOG1_RST_B_MASK) + +#define SRC_GENERAL_REG_SRSR_WDOG2_RST_B_MASK (0x10U) +#define SRC_GENERAL_REG_SRSR_WDOG2_RST_B_SHIFT (4U) +/*! WDOG2_RST_B - Time-out reset. Indicates whether the reset was the result of the watchdog2 time-out event. + * 0b0..Reset is not caused by the watchdog2 time-out event. + * 0b1..Reset is caused by the watchdog2 time-out event. + */ +#define SRC_GENERAL_REG_SRSR_WDOG2_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_WDOG2_RST_B_SHIFT)) & SRC_GENERAL_REG_SRSR_WDOG2_RST_B_MASK) + +#define SRC_GENERAL_REG_SRSR_WDOG3_RST_B_MASK (0x20U) +#define SRC_GENERAL_REG_SRSR_WDOG3_RST_B_SHIFT (5U) +/*! WDOG3_RST_B - Time-out reset. Indicates whether the reset was the result of the watchdog3 time-out + * 0b0..Reset is not caused by the watchdog3 time-out event. + * 0b1..Reset is caused by the watchdog3 time-out event. + */ +#define SRC_GENERAL_REG_SRSR_WDOG3_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_WDOG3_RST_B_SHIFT)) & SRC_GENERAL_REG_SRSR_WDOG3_RST_B_MASK) + +#define SRC_GENERAL_REG_SRSR_WDOG4_RST_B_MASK (0x40U) +#define SRC_GENERAL_REG_SRSR_WDOG4_RST_B_SHIFT (6U) +/*! WDOG4_RST_B - Time-out reset. Indicates whether the reset was the result of the watchdog4 time-out + * 0b0..Reset is not caused by the watchdog4 time-out event. + * 0b1..Reset is caused by the watchdog4 time-out event. + */ +#define SRC_GENERAL_REG_SRSR_WDOG4_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_WDOG4_RST_B_SHIFT)) & SRC_GENERAL_REG_SRSR_WDOG4_RST_B_MASK) + +#define SRC_GENERAL_REG_SRSR_WDOG5_RST_B_MASK (0x80U) +#define SRC_GENERAL_REG_SRSR_WDOG5_RST_B_SHIFT (7U) +/*! WDOG5_RST_B - Time-out reset. Indicates whether the reset was the result of the watchdog5 time-out + * 0b0..Reset is not caused by the watchdog5 time-out event. + * 0b1..Reset is caused by the watchdog5 time-out event. + */ +#define SRC_GENERAL_REG_SRSR_WDOG5_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_WDOG5_RST_B_SHIFT)) & SRC_GENERAL_REG_SRSR_WDOG5_RST_B_MASK) + +#define SRC_GENERAL_REG_SRSR_TEMPSENSE_RST_B_MASK (0x100U) +#define SRC_GENERAL_REG_SRSR_TEMPSENSE_RST_B_SHIFT (8U) +/*! TEMPSENSE_RST_B - Temper Sensor software reset. Indicates whether the reset was the result of Temperature Sensor. + * 0b0..Reset is not caused by Temperature Sensor. + * 0b1..Reset is caused by Temperature Sensor. + */ +#define SRC_GENERAL_REG_SRSR_TEMPSENSE_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_TEMPSENSE_RST_B_SHIFT)) & SRC_GENERAL_REG_SRSR_TEMPSENSE_RST_B_MASK) + +#define SRC_GENERAL_REG_SRSR_CSU_RESET_B_MASK (0x200U) +#define SRC_GENERAL_REG_SRSR_CSU_RESET_B_SHIFT (9U) +/*! CSU_RESET_B - Indicates whether the reset was the result of the csu_reset_b input. + * 0b0..Reset is not caused by the csu_reset_b event. + * 0b1..Reset is caused by the csu_reset_b event. + */ +#define SRC_GENERAL_REG_SRSR_CSU_RESET_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_CSU_RESET_B_SHIFT)) & SRC_GENERAL_REG_SRSR_CSU_RESET_B_MASK) + +#define SRC_GENERAL_REG_SRSR_JTAG_SW_RST_MASK (0x400U) +#define SRC_GENERAL_REG_SRSR_JTAG_SW_RST_SHIFT (10U) +/*! JTAG_SW_RST - JTAG software reset. Indicates whether the reset was the result of JTAG_SW_RST. + * 0b0..Reset is not caused by JTAG_SW_RST. + * 0b1..Reset is caused by JTAG_SW_RST. + */ +#define SRC_GENERAL_REG_SRSR_JTAG_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_JTAG_SW_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_JTAG_SW_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_JTAG_RST_B_MASK (0x1000U) +#define SRC_GENERAL_REG_SRSR_JTAG_RST_B_SHIFT (12U) +/*! JTAG_RST_B - Indicates a reset has been caused by JTAG_RST_B + * 0b0..Reset is not caused by JTAG_RST_B. + * 0b1..Reset is caused by JTAG_RST_B. + */ +#define SRC_GENERAL_REG_SRSR_JTAG_RST_B(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_JTAG_RST_B_SHIFT)) & SRC_GENERAL_REG_SRSR_JTAG_RST_B_MASK) + +#define SRC_GENERAL_REG_SRSR_AONMIX_RST_MASK (0x10000U) +#define SRC_GENERAL_REG_SRSR_AONMIX_RST_SHIFT (16U) +/*! AONMIX_RST - Indicates whether a AONMIX slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..AONMIX slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_AONMIX_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_AONMIX_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_AONMIX_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_WAKEUPMIX_RST_MASK (0x20000U) +#define SRC_GENERAL_REG_SRSR_WAKEUPMIX_RST_SHIFT (17U) +/*! WAKEUPMIX_RST - Indicates whether a WAKEUPMIX slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..WAKEUPMIX slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_WAKEUPMIX_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_WAKEUPMIX_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_WAKEUPMIX_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_DDRMIX_RST_MASK (0x40000U) +#define SRC_GENERAL_REG_SRSR_DDRMIX_RST_SHIFT (18U) +/*! DDRMIX_RST - Indicates whether a DDRMIX slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..DDRMIX slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_DDRMIX_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_DDRMIX_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_DDRMIX_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_DDRPHY_RST_MASK (0x80000U) +#define SRC_GENERAL_REG_SRSR_DDRPHY_RST_SHIFT (19U) +/*! DDRPHY_RST - Indicates whether a DDRPHY slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..DDRPHY slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_DDRPHY_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_DDRPHY_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_DDRPHY_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_NICMIX_RST_MASK (0x200000U) +#define SRC_GENERAL_REG_SRSR_NICMIX_RST_SHIFT (21U) +/*! NICMIX_RST - Indicates whether a NICMIX slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..NICMIX slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_NICMIX_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_NICMIX_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_NICMIX_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_HSIOMIX_RST_MASK (0x400000U) +#define SRC_GENERAL_REG_SRSR_HSIOMIX_RST_SHIFT (22U) +/*! HSIOMIX_RST - Indicates whether a HSIOMIX slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..HSIOMIX slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_HSIOMIX_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_HSIOMIX_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_HSIOMIX_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_MEDIAMIX_RST_MASK (0x800000U) +#define SRC_GENERAL_REG_SRSR_MEDIAMIX_RST_SHIFT (23U) +/*! MEDIAMIX_RST - Indicates whether a MEDIAMIX slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..MEDIAMIX slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_MEDIAMIX_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_MEDIAMIX_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_MEDIAMIX_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_A55C0MIX_RST_MASK (0x2000000U) +#define SRC_GENERAL_REG_SRSR_A55C0MIX_RST_SHIFT (25U) +/*! A55C0MIX_RST - Indicates whether a A55C0MIX slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..A55C0MIX slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_A55C0MIX_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_A55C0MIX_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_A55C0MIX_RST_MASK) + +#define SRC_GENERAL_REG_SRSR_A55PMIX_RST_MASK (0x8000000U) +#define SRC_GENERAL_REG_SRSR_A55PMIX_RST_SHIFT (27U) +/*! A55PMIX_RST - Indicates whether a A55PMIX slice reset happens + * 0b0..Power on reset or system cold reset happens. + * 0b1..A55PMIX slice reset happens. + */ +#define SRC_GENERAL_REG_SRSR_A55PMIX_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SRSR_A55PMIX_RST_SHIFT)) & SRC_GENERAL_REG_SRSR_A55PMIX_RST_MASK) +/*! @} */ + +/*! @name GPR1 - SRC General Purpose Register 1 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR1_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR1_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR1_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR1_GPR_SHIFT)) & SRC_GENERAL_REG_GPR1_GPR_MASK) +/*! @} */ + +/*! @name GPR2 - SRC General Purpose Register 2 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR2_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR2_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR2_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR2_GPR_SHIFT)) & SRC_GENERAL_REG_GPR2_GPR_MASK) +/*! @} */ + +/*! @name GPR3 - SRC General Purpose Register 3 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR3_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR3_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR3_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR3_GPR_SHIFT)) & SRC_GENERAL_REG_GPR3_GPR_MASK) +/*! @} */ + +/*! @name GPR4 - SRC General Purpose Register 4 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR4_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR4_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR4_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR4_GPR_SHIFT)) & SRC_GENERAL_REG_GPR4_GPR_MASK) +/*! @} */ + +/*! @name GPR5 - SRC General Purpose Register 5 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR5_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR5_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR5_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR5_GPR_SHIFT)) & SRC_GENERAL_REG_GPR5_GPR_MASK) +/*! @} */ + +/*! @name GPR6 - SRC General Purpose Register 6 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR6_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR6_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR6_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR6_GPR_SHIFT)) & SRC_GENERAL_REG_GPR6_GPR_MASK) +/*! @} */ + +/*! @name GPR7 - SRC General Purpose Register 7 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR7_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR7_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR7_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR7_GPR_SHIFT)) & SRC_GENERAL_REG_GPR7_GPR_MASK) +/*! @} */ + +/*! @name GPR8 - SRC General Purpose Register 8 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR8_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR8_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR8_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR8_GPR_SHIFT)) & SRC_GENERAL_REG_GPR8_GPR_MASK) +/*! @} */ + +/*! @name GPR9 - SRC General Purpose Register 9 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR9_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR9_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR9_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR9_GPR_SHIFT)) & SRC_GENERAL_REG_GPR9_GPR_MASK) +/*! @} */ + +/*! @name GPR10 - SRC General Purpose Register 10 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR10_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR10_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR10_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR10_GPR_SHIFT)) & SRC_GENERAL_REG_GPR10_GPR_MASK) +/*! @} */ + +/*! @name GPR11 - SRC General Purpose Register 11 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR11_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR11_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR11_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR11_GPR_SHIFT)) & SRC_GENERAL_REG_GPR11_GPR_MASK) +/*! @} */ + +/*! @name GPR12 - SRC General Purpose Register 12 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR12_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR12_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR12_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR12_GPR_SHIFT)) & SRC_GENERAL_REG_GPR12_GPR_MASK) +/*! @} */ + +/*! @name GPR13 - SRC General Purpose Register 13 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR13_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR13_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR13_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR13_GPR_SHIFT)) & SRC_GENERAL_REG_GPR13_GPR_MASK) +/*! @} */ + +/*! @name GPR14 - SRC General Purpose Register 14 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR14_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR14_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR14_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR14_GPR_SHIFT)) & SRC_GENERAL_REG_GPR14_GPR_MASK) +/*! @} */ + +/*! @name GPR15 - SRC General Purpose Register 15 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR15_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR15_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR15_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR15_GPR_SHIFT)) & SRC_GENERAL_REG_GPR15_GPR_MASK) +/*! @} */ + +/*! @name GPR16 - SRC General Purpose Register 16 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR16_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR16_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR16_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR16_GPR_SHIFT)) & SRC_GENERAL_REG_GPR16_GPR_MASK) +/*! @} */ + +/*! @name GPR17 - SRC General Purpose Register 17 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR17_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR17_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR17_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR17_GPR_SHIFT)) & SRC_GENERAL_REG_GPR17_GPR_MASK) +/*! @} */ + +/*! @name GPR18 - SRC General Purpose Register 18 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR18_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR18_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR18_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR18_GPR_SHIFT)) & SRC_GENERAL_REG_GPR18_GPR_MASK) +/*! @} */ + +/*! @name GPR19 - SRC General Purpose Register 19 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR19_GPR_MASK (0xFFFFFFFFU) +#define SRC_GENERAL_REG_GPR19_GPR_SHIFT (0U) +/*! GPR - General Purpose */ +#define SRC_GENERAL_REG_GPR19_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR19_GPR_SHIFT)) & SRC_GENERAL_REG_GPR19_GPR_MASK) +/*! @} */ + +/*! @name GPR20 - SRC General Purpose Register 20 */ +/*! @{ */ + +#define SRC_GENERAL_REG_GPR20_ANAMIX_ATX_SENSE_BUS_ENABLE_LV_MASK (0x1U) +#define SRC_GENERAL_REG_GPR20_ANAMIX_ATX_SENSE_BUS_ENABLE_LV_SHIFT (0U) +/*! ANAMIX_ATX_SENSE_BUS_ENABLE_LV - ANAMIX ATX sense bus enable */ +#define SRC_GENERAL_REG_GPR20_ANAMIX_ATX_SENSE_BUS_ENABLE_LV(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR20_ANAMIX_ATX_SENSE_BUS_ENABLE_LV_SHIFT)) & SRC_GENERAL_REG_GPR20_ANAMIX_ATX_SENSE_BUS_ENABLE_LV_MASK) + +#define SRC_GENERAL_REG_GPR20_ANAMIX_PLL_CLK_MUX_MASK (0x1EU) +#define SRC_GENERAL_REG_GPR20_ANAMIX_PLL_CLK_MUX_SHIFT (1U) +/*! ANAMIX_PLL_CLK_MUX - ANAMIX PLL clock mux */ +#define SRC_GENERAL_REG_GPR20_ANAMIX_PLL_CLK_MUX(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR20_ANAMIX_PLL_CLK_MUX_SHIFT)) & SRC_GENERAL_REG_GPR20_ANAMIX_PLL_CLK_MUX_MASK) + +#define SRC_GENERAL_REG_GPR20_ANAMIX_REF_SEL_MASK (0x60U) +#define SRC_GENERAL_REG_GPR20_ANAMIX_REF_SEL_SHIFT (5U) +/*! ANAMIX_REF_SEL - ANAMIX reference clock select + * 0b00..OSC24M + * 0b01..CLKIN1 + * 0b10..CLKIN2 + * 0b11..Reserved + */ +#define SRC_GENERAL_REG_GPR20_ANAMIX_REF_SEL(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR20_ANAMIX_REF_SEL_SHIFT)) & SRC_GENERAL_REG_GPR20_ANAMIX_REF_SEL_MASK) + +#define SRC_GENERAL_REG_GPR20_CCM_24MCLK_SEL_MASK (0x180U) +#define SRC_GENERAL_REG_GPR20_CCM_24MCLK_SEL_SHIFT (7U) +/*! CCM_24MCLK_SEL - ANAMIX reference clock select + * 0b00..OSC24M + * 0b01..CLKIN1 + * 0b10..CLKIN2 + * 0b11..CLKIN1 or CLKIN2 + */ +#define SRC_GENERAL_REG_GPR20_CCM_24MCLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR20_CCM_24MCLK_SEL_SHIFT)) & SRC_GENERAL_REG_GPR20_CCM_24MCLK_SEL_MASK) + +#define SRC_GENERAL_REG_GPR20_CLKIN1_ENABLE_MASK (0x200U) +#define SRC_GENERAL_REG_GPR20_CLKIN1_ENABLE_SHIFT (9U) +/*! CLKIN1_ENABLE - CLKIN1 input buffer enable + * 0b0..Input buffer disable + * 0b1..Input buffer enabled. Needed to enable CLKIN1 as an input. + */ +#define SRC_GENERAL_REG_GPR20_CLKIN1_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR20_CLKIN1_ENABLE_SHIFT)) & SRC_GENERAL_REG_GPR20_CLKIN1_ENABLE_MASK) + +#define SRC_GENERAL_REG_GPR20_CLKIN2_ENABLE_MASK (0x400U) +#define SRC_GENERAL_REG_GPR20_CLKIN2_ENABLE_SHIFT (10U) +/*! CLKIN2_ENABLE - CLKIN2 input buffer enable + * 0b0..Input buffer disable + * 0b1..Input buffer enabled. Needed to enable CLKIN2 as an input. + */ +#define SRC_GENERAL_REG_GPR20_CLKIN2_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_GPR20_CLKIN2_ENABLE_SHIFT)) & SRC_GENERAL_REG_GPR20_CLKIN2_ENABLE_MASK) +/*! @} */ + +/*! @name COLD_RESET_SSAR_ACK_CTRL - Cold reset SSAR acknowledge control */ +/*! @{ */ + +#define SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_SSAR_CNT_CFG_MASK (0x3FFFU) +#define SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_SSAR_CNT_CFG_SHIFT (0U) +/*! SSAR_CNT_CFG - ssar count configure. Usage depends on CNT_MODE, locked by LOCK_CFG field */ +#define SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_SSAR_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_SSAR_CNT_CFG_SHIFT)) & SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_SSAR_CNT_CFG_MASK) + +#define SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_CNT_MODE_MASK (0xC0000000U) +#define SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_CNT_MODE_SHIFT (30U) +/*! CNT_MODE - Configure the acknowledge counter working mode. Locked by LOCK_CFG field + * 0b00..Not use counter, raise done to cold_reset_controller once get EdgeLock Enclave ack + * 0b01..Delay after receiving EdgeLock Enclave ack, delay cycle number is CNT_CFG + * 0b10..Ignore EdgeLock Enclave ack, raise done to cold_reset_controller when counting to CNT_CFG value + * 0b11..Time out mode, raise done to cold_reset_controller when either EdgeLock Enclave ack received or counting to CNT_CFG value + */ +#define SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_CNT_MODE_SHIFT)) & SRC_GENERAL_REG_COLD_RESET_SSAR_ACK_CTRL_CNT_MODE_MASK) +/*! @} */ + +/*! @name SP_ISO_CTRL - SRC special ISO Control */ +/*! @{ */ + +#define SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY1_ISO_MASK (0x1U) +#define SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY1_ISO_SHIFT (0U) +/*! USB_PHY1_ISO - Software control USB PHY1 isolation enable + * 0b0..Isolation disable + * 0b1..Isolation enable + */ +#define SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY1_ISO(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY1_ISO_SHIFT)) & SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY1_ISO_MASK) + +#define SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY2_ISO_MASK (0x2U) +#define SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY2_ISO_SHIFT (1U) +/*! USB_PHY2_ISO - Software control USB PHY2 isolation enable + * 0b0..Isolation disable + * 0b1..Isolation enable + */ +#define SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY2_ISO(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY2_ISO_SHIFT)) & SRC_GENERAL_REG_SP_ISO_CTRL_USB_PHY2_ISO_MASK) +/*! @} */ + +/*! @name ROM_LP_CTRL - ROM Low Power Control */ +/*! @{ */ + +#define SRC_GENERAL_REG_ROM_LP_CTRL_AONMIX_ROM_LP_EN_MASK (0x1U) +#define SRC_GENERAL_REG_ROM_LP_CTRL_AONMIX_ROM_LP_EN_SHIFT (0U) +/*! AONMIX_ROM_LP_EN - ROM in AONMIX low power control enable */ +#define SRC_GENERAL_REG_ROM_LP_CTRL_AONMIX_ROM_LP_EN(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_ROM_LP_CTRL_AONMIX_ROM_LP_EN_SHIFT)) & SRC_GENERAL_REG_ROM_LP_CTRL_AONMIX_ROM_LP_EN_MASK) +/*! @} */ + +/*! @name A55_DENY_STAT - A55 Q_Channel Deny Status */ +/*! @{ */ + +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CORE0_PWRDN_DENY_STAT_MASK (0x1U) +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CORE0_PWRDN_DENY_STAT_SHIFT (0U) +/*! A55_CORE0_PWRDN_DENY_STAT - A55 CORE 0 Q_Channel pwrdn deny status */ +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CORE0_PWRDN_DENY_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_A55_DENY_STAT_A55_CORE0_PWRDN_DENY_STAT_SHIFT)) & SRC_GENERAL_REG_A55_DENY_STAT_A55_CORE0_PWRDN_DENY_STAT_MASK) + +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_PWRDN_DENY_STAT_MASK (0x4U) +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_PWRDN_DENY_STAT_SHIFT (2U) +/*! A55_CLUSTER_PWRDN_DENY_STAT - A55 Cluster Q_Channel pwrdn deny status */ +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_PWRDN_DENY_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_PWRDN_DENY_STAT_SHIFT)) & SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_PWRDN_DENY_STAT_MASK) + +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_CLKOFF_DENY_STAT_MASK (0x8U) +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_CLKOFF_DENY_STAT_SHIFT (3U) +/*! A55_CLUSTER_CLKOFF_DENY_STAT - A55 Cluster Q_Channel clockoff deny status */ +#define SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_CLKOFF_DENY_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_CLKOFF_DENY_STAT_SHIFT)) & SRC_GENERAL_REG_A55_DENY_STAT_A55_CLUSTER_CLKOFF_DENY_STAT_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group SRC_GENERAL_REG_Register_Masks */ + + +/* SRC_GENERAL_REG - Peripheral instance base addresses */ +/** Peripheral SRC__SRC_GENERAL_REG base address */ +#define SRC__SRC_GENERAL_REG_BASE (0x44460000u) +/** Peripheral SRC__SRC_GENERAL_REG base pointer */ +#define SRC__SRC_GENERAL_REG ((SRC_GENERAL_REG_Type *)SRC__SRC_GENERAL_REG_BASE) +/** Array initializer of SRC_GENERAL_REG peripheral base addresses */ +#define SRC_GENERAL_REG_BASE_ADDRS { SRC__SRC_GENERAL_REG_BASE } +/** Array initializer of SRC_GENERAL_REG peripheral base pointers */ +#define SRC_GENERAL_REG_BASE_PTRS { SRC__SRC_GENERAL_REG } + +/*! + * @} + */ /* end of group SRC_GENERAL_REG_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- SRC_MEM_SLICE Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SRC_MEM_SLICE_Peripheral_Access_Layer SRC_MEM_SLICE Peripheral Access Layer + * @{ + */ + +/** SRC_MEM_SLICE - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[4]; + __IO uint32_t MEM_CTRL; /**< MEM Low Power Control, offset: 0x4 */ + __IO uint32_t MEMLP_CTRL_0; /**< MEM Low Power Control_0, offset: 0x8 */ + uint8_t RESERVED_1[4]; + __IO uint32_t MEMLP_CTRL_1; /**< MEM Low Power Control_1, offset: 0x10 */ + __IO uint32_t MEMLP_CTRL_2; /**< MEM Low Power Control_2, offset: 0x14 */ + __I uint32_t MEM_STAT; /**< MEM Status, offset: 0x18 */ +} SRC_MEM_SLICE_Type; + +/* ---------------------------------------------------------------------------- + -- SRC_MEM_SLICE Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SRC_MEM_SLICE_Register_Masks SRC_MEM_SLICE Register Masks + * @{ + */ + +/*! @name MEM_CTRL - MEM Low Power Control */ +/*! @{ */ + +#define SRC_MEM_SLICE_MEM_CTRL_SW_MEM_CTRL_MASK (0x1U) +#define SRC_MEM_SLICE_MEM_CTRL_SW_MEM_CTRL_SHIFT (0U) +/*! SW_MEM_CTRL - Software control MEM low power + * 0b0..software control MEM to exit low power + * 0b1..software control MEM to enter low power + */ +#define SRC_MEM_SLICE_MEM_CTRL_SW_MEM_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_CTRL_SW_MEM_CTRL_SHIFT)) & SRC_MEM_SLICE_MEM_CTRL_SW_MEM_CTRL_MASK) + +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LP_MODE_MASK (0x2U) +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LP_MODE_SHIFT (1U) +/*! MEM_LP_MODE - MEM low power mode. Locked by LOCK_CFG field. + * 0b0..Power down mode + * 0b1..Retention mode + */ +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LP_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_CTRL_MEM_LP_MODE_SHIFT)) & SRC_MEM_SLICE_MEM_CTRL_MEM_LP_MODE_MASK) + +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LP_EN_MASK (0x4U) +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LP_EN_SHIFT (2U) +/*! MEM_LP_EN - Enable MEM low power control. Locked by LOCK_CFG field */ +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LP_EN(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_CTRL_MEM_LP_EN_SHIFT)) & SRC_MEM_SLICE_MEM_CTRL_MEM_LP_EN_MASK) + +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LF_CNT_CFG_MASK (0xFF00U) +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LF_CNT_CFG_SHIFT (8U) +/*! MEM_LF_CNT_CFG - MEM power up counter */ +#define SRC_MEM_SLICE_MEM_CTRL_MEM_LF_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_CTRL_MEM_LF_CNT_CFG_SHIFT)) & SRC_MEM_SLICE_MEM_CTRL_MEM_LF_CNT_CFG_MASK) + +#define SRC_MEM_SLICE_MEM_CTRL_MEM_HF_CNT_CFG_MASK (0xFF0000U) +#define SRC_MEM_SLICE_MEM_CTRL_MEM_HF_CNT_CFG_SHIFT (16U) +/*! MEM_HF_CNT_CFG - MEM power up counter */ +#define SRC_MEM_SLICE_MEM_CTRL_MEM_HF_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_CTRL_MEM_HF_CNT_CFG_SHIFT)) & SRC_MEM_SLICE_MEM_CTRL_MEM_HF_CNT_CFG_MASK) + +#define SRC_MEM_SLICE_MEM_CTRL_LOCK_CFG_MASK (0x1000000U) +#define SRC_MEM_SLICE_MEM_CTRL_LOCK_CFG_SHIFT (24U) +/*! LOCK_CFG - Configuration lock + * 0b0..Not locked. + * 0b1..Locked. + */ +#define SRC_MEM_SLICE_MEM_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_CTRL_LOCK_CFG_SHIFT)) & SRC_MEM_SLICE_MEM_CTRL_LOCK_CFG_MASK) +/*! @} */ + +/*! @name MEMLP_CTRL_0 - MEM Low Power Control_0 */ +/*! @{ */ + +#define SRC_MEM_SLICE_MEMLP_CTRL_0_MEMLP_ENT_CNT_MASK (0xFFFFFFFFU) +#define SRC_MEM_SLICE_MEMLP_CTRL_0_MEMLP_ENT_CNT_SHIFT (0U) +/*! MEMLP_ENT_CNT - Delay counter to start entering to memory low power mode. Locked by LOCK_CFG field */ +#define SRC_MEM_SLICE_MEMLP_CTRL_0_MEMLP_ENT_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEMLP_CTRL_0_MEMLP_ENT_CNT_SHIFT)) & SRC_MEM_SLICE_MEMLP_CTRL_0_MEMLP_ENT_CNT_MASK) +/*! @} */ + +/*! @name MEMLP_CTRL_1 - MEM Low Power Control_1 */ +/*! @{ */ + +#define SRC_MEM_SLICE_MEMLP_CTRL_1_MEMLP_RET_PGEN_CNT_MASK (0xFFFFFFFFU) +#define SRC_MEM_SLICE_MEMLP_CTRL_1_MEMLP_RET_PGEN_CNT_SHIFT (0U) +/*! MEMLP_RET_PGEN_CNT - Delay counter to interval for retn to pgen. Locked by LOCK_CFG field */ +#define SRC_MEM_SLICE_MEMLP_CTRL_1_MEMLP_RET_PGEN_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEMLP_CTRL_1_MEMLP_RET_PGEN_CNT_SHIFT)) & SRC_MEM_SLICE_MEMLP_CTRL_1_MEMLP_RET_PGEN_CNT_MASK) +/*! @} */ + +/*! @name MEMLP_CTRL_2 - MEM Low Power Control_2 */ +/*! @{ */ + +#define SRC_MEM_SLICE_MEMLP_CTRL_2_MEMLP_EXT_CNT_MASK (0xFFFFFFFFU) +#define SRC_MEM_SLICE_MEMLP_CTRL_2_MEMLP_EXT_CNT_SHIFT (0U) +/*! MEMLP_EXT_CNT - Delay counter to start exiting from memory low power mode. Locked by LOCK_CFG field */ +#define SRC_MEM_SLICE_MEMLP_CTRL_2_MEMLP_EXT_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEMLP_CTRL_2_MEMLP_EXT_CNT_SHIFT)) & SRC_MEM_SLICE_MEMLP_CTRL_2_MEMLP_EXT_CNT_MASK) +/*! @} */ + +/*! @name MEM_STAT - MEM Status */ +/*! @{ */ + +#define SRC_MEM_SLICE_MEM_STAT_MEM_FSM_STAT_MASK (0xFU) +#define SRC_MEM_SLICE_MEM_STAT_MEM_FSM_STAT_SHIFT (0U) +/*! MEM_FSM_STAT - MEM FSM status */ +#define SRC_MEM_SLICE_MEM_STAT_MEM_FSM_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_STAT_MEM_FSM_STAT_SHIFT)) & SRC_MEM_SLICE_MEM_STAT_MEM_FSM_STAT_MASK) + +#define SRC_MEM_SLICE_MEM_STAT_RET2N_STAT_MASK (0x10U) +#define SRC_MEM_SLICE_MEM_STAT_RET2N_STAT_SHIFT (4U) +/*! RET2N_STAT - RET2N status */ +#define SRC_MEM_SLICE_MEM_STAT_RET2N_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_STAT_RET2N_STAT_SHIFT)) & SRC_MEM_SLICE_MEM_STAT_RET2N_STAT_MASK) + +#define SRC_MEM_SLICE_MEM_STAT_RET1N_STAT_MASK (0x20U) +#define SRC_MEM_SLICE_MEM_STAT_RET1N_STAT_SHIFT (5U) +/*! RET1N_STAT - RET1N status */ +#define SRC_MEM_SLICE_MEM_STAT_RET1N_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_STAT_RET1N_STAT_SHIFT)) & SRC_MEM_SLICE_MEM_STAT_RET1N_STAT_MASK) + +#define SRC_MEM_SLICE_MEM_STAT_PGEN_STAT_MASK (0x40U) +#define SRC_MEM_SLICE_MEM_STAT_PGEN_STAT_SHIFT (6U) +/*! PGEN_STAT - PGEN status */ +#define SRC_MEM_SLICE_MEM_STAT_PGEN_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_STAT_PGEN_STAT_SHIFT)) & SRC_MEM_SLICE_MEM_STAT_PGEN_STAT_MASK) + +#define SRC_MEM_SLICE_MEM_STAT_MEM_STAT_MASK (0x100U) +#define SRC_MEM_SLICE_MEM_STAT_MEM_STAT_SHIFT (8U) +/*! MEM_STAT - MEM status + * 0b0..MEM exit low power + * 0b1..MEM enter low power - rentention1 mode or power down mode + */ +#define SRC_MEM_SLICE_MEM_STAT_MEM_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MEM_SLICE_MEM_STAT_MEM_STAT_SHIFT)) & SRC_MEM_SLICE_MEM_STAT_MEM_STAT_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group SRC_MEM_SLICE_Register_Masks */ + + +/* SRC_MEM_SLICE - Peripheral instance base addresses */ +/** Peripheral SRC__SRC_A55C0_MEM base address */ +#define SRC__SRC_A55C0_MEM_BASE (0x44465C00u) +/** Peripheral SRC__SRC_A55C0_MEM base pointer */ +#define SRC__SRC_A55C0_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_A55C0_MEM_BASE) +/** Peripheral SRC__SRC_A55_SCU_MEM base address */ +#define SRC__SRC_A55_SCU_MEM_BASE (0x44466400u) +/** Peripheral SRC__SRC_A55_SCU_MEM base pointer */ +#define SRC__SRC_A55_SCU_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_A55_SCU_MEM_BASE) +/** Peripheral SRC__SRC_AON_MEM base address */ +#define SRC__SRC_AON_MEM_BASE (0x44463800u) +/** Peripheral SRC__SRC_AON_MEM base pointer */ +#define SRC__SRC_AON_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_AON_MEM_BASE) +/** Peripheral SRC__SRC_DDR_MEM base address */ +#define SRC__SRC_DDR_MEM_BASE (0x44464000u) +/** Peripheral SRC__SRC_DDR_MEM base pointer */ +#define SRC__SRC_DDR_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_DDR_MEM_BASE) +/** Peripheral SRC__SRC_DPHY_MEM base address */ +#define SRC__SRC_DPHY_MEM_BASE (0x44464400u) +/** Peripheral SRC__SRC_DPHY_MEM base pointer */ +#define SRC__SRC_DPHY_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_DPHY_MEM_BASE) +/** Peripheral SRC__SRC_HSIO_MEM base address */ +#define SRC__SRC_HSIO_MEM_BASE (0x44465400u) +/** Peripheral SRC__SRC_HSIO_MEM base pointer */ +#define SRC__SRC_HSIO_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_HSIO_MEM_BASE) +/** Peripheral SRC__SRC_MEDIA_MEM base address */ +#define SRC__SRC_MEDIA_MEM_BASE (0x44465800u) +/** Peripheral SRC__SRC_MEDIA_MEM base pointer */ +#define SRC__SRC_MEDIA_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_MEDIA_MEM_BASE) +/** Peripheral SRC__SRC_NIC_MEM base address */ +#define SRC__SRC_NIC_MEM_BASE (0x44464C00u) +/** Peripheral SRC__SRC_NIC_MEM base pointer */ +#define SRC__SRC_NIC_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_NIC_MEM_BASE) +/** Peripheral SRC__SRC_NIC_OCRAM base address */ +#define SRC__SRC_NIC_OCRAM_BASE (0x44465000u) +/** Peripheral SRC__SRC_NIC_OCRAM base pointer */ +#define SRC__SRC_NIC_OCRAM ((SRC_MEM_SLICE_Type *)SRC__SRC_NIC_OCRAM_BASE) +/** Peripheral SRC__SRC_WKUP_MEM base address */ +#define SRC__SRC_WKUP_MEM_BASE (0x44463C00u) +/** Peripheral SRC__SRC_WKUP_MEM base pointer */ +#define SRC__SRC_WKUP_MEM ((SRC_MEM_SLICE_Type *)SRC__SRC_WKUP_MEM_BASE) +/** Array initializer of SRC_MEM_SLICE peripheral base addresses */ +#define SRC_MEM_SLICE_BASE_ADDRS { SRC__SRC_A55C0_MEM_BASE, SRC__SRC_A55_SCU_MEM_BASE, SRC__SRC_AON_MEM_BASE, SRC__SRC_DDR_MEM_BASE, SRC__SRC_DPHY_MEM_BASE, SRC__SRC_HSIO_MEM_BASE, SRC__SRC_MEDIA_MEM_BASE, SRC__SRC_NIC_MEM_BASE, SRC__SRC_NIC_OCRAM_BASE, SRC__SRC_WKUP_MEM_BASE } +/** Array initializer of SRC_MEM_SLICE peripheral base pointers */ +#define SRC_MEM_SLICE_BASE_PTRS { SRC__SRC_A55C0_MEM, SRC__SRC_A55_SCU_MEM, SRC__SRC_AON_MEM, SRC__SRC_DDR_MEM, SRC__SRC_DPHY_MEM, SRC__SRC_HSIO_MEM, SRC__SRC_MEDIA_MEM, SRC__SRC_NIC_MEM, SRC__SRC_NIC_OCRAM, SRC__SRC_WKUP_MEM } + +/*! + * @} + */ /* end of group SRC_MEM_SLICE_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- SRC_MIX_SLICE Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SRC_MIX_SLICE_Peripheral_Access_Layer SRC_MIX_SLICE Peripheral Access Layer + * @{ + */ + +/** SRC_MIX_SLICE - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[4]; + __IO uint32_t AUTHEN_CTRL; /**< Authentication Control, offset: 0x4 */ + uint8_t RESERVED_1[8]; + __IO uint32_t LPM_SETTING_0; /**< Low power mode setting, offset: 0x10 */ + __IO uint32_t LPM_SETTING_1; /**< Low power mode setting, offset: 0x14 */ + __IO uint32_t LPM_SETTING_2; /**< Low power mode setting, offset: 0x18 */ + uint8_t RESERVED_2[4]; + __IO uint32_t SLICE_SW_CTRL; /**< Slice software control, offset: 0x20 */ + __IO uint32_t SINGLE_RESET_SW_CTRL; /**< Single reset by software control, offset: 0x24 */ + uint8_t RESERVED_3[24]; + __IO uint32_t A55_HDSK_ACK_CTRL; /**< A55 handshake acknowledge control, offset: 0x40 */ + __I uint32_t A55_HDSK_ACK_STAT; /**< A55 handshake acknowledge status, offset: 0x44 */ + uint8_t RESERVED_4[8]; + __IO uint32_t SSAR_ACK_CTRL; /**< SSAR acknowledge control, offset: 0x50 */ + __I uint32_t SSAR_ACK_STAT; /**< SSAR acknowledge status, offset: 0x54 */ + uint8_t RESERVED_5[4]; + __IO uint32_t ISO_OFF_DLY_POR; /**< iso off delay control when por, offset: 0x5C */ + __IO uint32_t ISO_ON_DLY; /**< iso on delay control, offset: 0x60 */ + __IO uint32_t ISO_OFF_DLY; /**< iso off delay control, offset: 0x64 */ + __IO uint32_t PSW_OFF_LF_DLY; /**< psw off lf delay control, offset: 0x68 */ + uint8_t RESERVED_6[4]; + __IO uint32_t PSW_OFF_HF_DLY; /**< psw off hf delay control, offset: 0x70 */ + __IO uint32_t PSW_ON_LF_DLY; /**< psw on lf delay control, offset: 0x74 */ + __IO uint32_t PSW_ON_HF_DLY; /**< psw on hf delay control, offset: 0x78 */ + uint8_t RESERVED_7[4]; + __IO uint32_t PSW_ACK_CTRL_0; /**< Power switch acknowledge control, offset: 0x80 */ + __IO uint32_t PSW_ACK_CTRL_1; /**< Power switch acknowledge control, offset: 0x84 */ + __I uint32_t PSW_ACK_STAT; /**< PSW acknowledge status, offset: 0x88 */ + uint8_t RESERVED_8[4]; + __IO uint32_t MTR_ACK_CTRL; /**< MTR acknowledge control, offset: 0x90 */ + __I uint32_t MTR_ACK_STAT; /**< MTR acknowledge status, offset: 0x94 */ + uint8_t RESERVED_9[8]; + __I uint32_t UPI_STAT_0; /**< UPI status 0, offset: 0xA0 */ + __I uint32_t UPI_STAT_1; /**< UPI status 1, offset: 0xA4 */ + __I uint32_t UPI_STAT_2; /**< UPI status 2, offset: 0xA8 */ + __I uint32_t UPI_STAT_3; /**< UPI status 3, offset: 0xAC */ + __I uint32_t FSM_STAT; /**< FSM status, offset: 0xB0 */ + __I uint32_t FUNC_STAT; /**< function status, offset: 0xB4 */ +} SRC_MIX_SLICE_Type; + +/* ---------------------------------------------------------------------------- + -- SRC_MIX_SLICE Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SRC_MIX_SLICE_Register_Masks SRC_MIX_SLICE Register Masks + * @{ + */ + +/*! @name AUTHEN_CTRL - Authentication Control */ +/*! @{ */ + +#define SRC_MIX_SLICE_AUTHEN_CTRL_LPM_MODE_MASK (0x4U) +#define SRC_MIX_SLICE_AUTHEN_CTRL_LPM_MODE_SHIFT (2U) +/*! LPM_MODE - Low power control mode + * 0b0..Low power mode controlled by software + * 0b1..Low power mode controlled by GPC hardware + */ +#define SRC_MIX_SLICE_AUTHEN_CTRL_LPM_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_AUTHEN_CTRL_LPM_MODE_SHIFT)) & SRC_MIX_SLICE_AUTHEN_CTRL_LPM_MODE_MASK) + +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_CFG_MASK (0x80U) +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_CFG_SHIFT (7U) +/*! LOCK_CFG - Configuration lock + * 0b0..Low power configuration fields are not locked. + * 0b1..Low power configuration fields are locked. + */ +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_CFG_MASK) + +#define SRC_MIX_SLICE_AUTHEN_CTRL_TZ_USER_MASK (0x100U) +#define SRC_MIX_SLICE_AUTHEN_CTRL_TZ_USER_SHIFT (8U) +/*! TZ_USER - Allow user mode access + * 0b0..This MIX SLICE registers can only be written in privilege mode. + * 0b1..This MIX SLICE registers can be written either in privilege mode or user mode. + */ +#define SRC_MIX_SLICE_AUTHEN_CTRL_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_AUTHEN_CTRL_TZ_USER_SHIFT)) & SRC_MIX_SLICE_AUTHEN_CTRL_TZ_USER_MASK) + +#define SRC_MIX_SLICE_AUTHEN_CTRL_TZ_NS_MASK (0x200U) +#define SRC_MIX_SLICE_AUTHEN_CTRL_TZ_NS_SHIFT (9U) +/*! TZ_NS - Allow non-secure mode access + * 0b0..This MIX SLICE registers can only be written in secure mode. + * 0b1..This MIX SLICE registers can be written either in secure mode or non-secure mode. + */ +#define SRC_MIX_SLICE_AUTHEN_CTRL_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_AUTHEN_CTRL_TZ_NS_SHIFT)) & SRC_MIX_SLICE_AUTHEN_CTRL_TZ_NS_MASK) + +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_TZ_MASK (0x800U) +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_TZ_SHIFT (11U) +/*! LOCK_TZ - Lock NONSECURE and USER + * 0b0..TZ_NS and TZ_USER value can be changed. + * 0b1..TZ_NS and TZ_USER value cannot be changed. + */ +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_TZ_SHIFT)) & SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_TZ_MASK) + +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_LIST_MASK (0x8000U) +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_LIST_SHIFT (15U) +/*! LOCK_LIST - White list lock + * 0b0..WHITE_LIST value can be changed. + * 0b1..WHITE_LIST value cannot be changed. + */ +#define SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & SRC_MIX_SLICE_AUTHEN_CTRL_LOCK_LIST_MASK) + +#define SRC_MIX_SLICE_AUTHEN_CTRL_WHITE_LIST_MASK (0xFFFF0000U) +#define SRC_MIX_SLICE_AUTHEN_CTRL_WHITE_LIST_SHIFT (16U) +/*! WHITE_LIST - Domain ID white list + * 0b0000000000000001..Core with domain ID=0 can write SRC MIX SLICE registers. + * 0b0000000000000010..Core with domain ID=1 can write SRC MIX SLICE registers. + * 0b0000000000000100..Core with domain ID=2 can write SRC MIX SLICE registers. + * 0b0000000000001000..Core with domain ID=3 can write SRC MIX SLICE registers. + * 0b0000000000010000..Core with domain ID=4 can write SRC MIX SLICE registers. + * 0b0000000000100000..Core with domain ID=5 can write SRC MIX SLICE registers. + * 0b0000000001000000..Core with domain ID=6 can write SRC MIX SLICE registers. + * 0b0000000010000000..Core with domain ID=7 can write SRC MIX SLICE registers. + * 0b0000000100000000..Core with domain ID=8 can write SRC MIX SLICE registers. + * 0b0000001000000000..Core with domain ID=9 can write SRC MIX SLICE registers. + * 0b0000010000000000..Core with domain ID=10 can write SRC MIX SLICE registers. + * 0b0000100000000000..Core with domain ID=11 can write SRC MIX SLICE registers. + * 0b0001000000000000..Core with domain ID=12 can write SRC MIX SLICE registers. + * 0b0010000000000000..Core with domain ID=13 can write SRC MIX SLICE registers. + * 0b0100000000000000..Core with domain ID=14 can write SRC MIX SLICE registers. + * 0b1000000000000000..Core with domain ID=15 can write SRC MIX SLICE registers. + */ +#define SRC_MIX_SLICE_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & SRC_MIX_SLICE_AUTHEN_CTRL_WHITE_LIST_MASK) +/*! @} */ + +/*! @name LPM_SETTING_0 - Low power mode setting */ +/*! @{ */ + +#define SRC_MIX_SLICE_LPM_SETTING_0_LPM_SETTING_CD_MASK (0x7U) +#define SRC_MIX_SLICE_LPM_SETTING_0_LPM_SETTING_CD_SHIFT (0U) +/*! LPM_SETTING_CD - LPM setting of current domain + * 0b000..Power always off + * 0b001..Power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..Power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..Power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..Power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_0_LPM_SETTING_CD(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_0_LPM_SETTING_CD_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_0_LPM_SETTING_CD_MASK) +/*! @} */ + +/*! @name LPM_SETTING_1 - Low power mode setting */ +/*! @{ */ + +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D0_MASK (0x7U) +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D0_SHIFT (0U) +/*! LPM_SETTING_D0 - LPM setting of domain 0 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D0(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D0_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D0_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D1_MASK (0x70U) +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D1_SHIFT (4U) +/*! LPM_SETTING_D1 - LPM setting of domain 1 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D1(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D1_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D1_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D2_MASK (0x700U) +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D2_SHIFT (8U) +/*! LPM_SETTING_D2 - LPM setting of domain 2 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D2(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D2_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D2_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D3_MASK (0x7000U) +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D3_SHIFT (12U) +/*! LPM_SETTING_D3 - LPM setting of domain 3 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D3(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D3_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D3_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D4_MASK (0x70000U) +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D4_SHIFT (16U) +/*! LPM_SETTING_D4 - LPM setting of domain 4 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D4(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D4_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D4_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D5_MASK (0x700000U) +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D5_SHIFT (20U) +/*! LPM_SETTING_D5 - LPM setting of domain 5 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D5(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D5_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D5_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D6_MASK (0x7000000U) +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D6_SHIFT (24U) +/*! LPM_SETTING_D6 - LPM setting of domain 6 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D6(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D6_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D6_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D7_MASK (0x70000000U) +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D7_SHIFT (28U) +/*! LPM_SETTING_D7 - LPM setting of domain 7 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D7(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D7_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_1_LPM_SETTING_D7_MASK) +/*! @} */ + +/*! @name LPM_SETTING_2 - Low power mode setting */ +/*! @{ */ + +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D8_MASK (0x7U) +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D8_SHIFT (0U) +/*! LPM_SETTING_D8 - LPM setting of domain 8 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D8(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D8_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D8_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D9_MASK (0x70U) +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D9_SHIFT (4U) +/*! LPM_SETTING_D9 - LPM setting of domain 9 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D9(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D9_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D9_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D10_MASK (0x700U) +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D10_SHIFT (8U) +/*! LPM_SETTING_D10 - LPM setting of domain 10 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D10(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D10_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D10_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D11_MASK (0x7000U) +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D11_SHIFT (12U) +/*! LPM_SETTING_D11 - LPM setting of domain 11 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D11(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D11_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D11_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D12_MASK (0x70000U) +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D12_SHIFT (16U) +/*! LPM_SETTING_D12 - LPM setting of domain 12 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D12(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D12_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D12_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D13_MASK (0x700000U) +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D13_SHIFT (20U) +/*! LPM_SETTING_D13 - LPM setting of domain 13 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D13(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D13_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D13_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D14_MASK (0x7000000U) +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D14_SHIFT (24U) +/*! LPM_SETTING_D14 - LPM setting of domain 14 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D14(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D14_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D14_MASK) + +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D15_MASK (0x70000000U) +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D15_SHIFT (28U) +/*! LPM_SETTING_D15 - LPM setting of domain 15 + * 0b000..Not used. Do not write this value. + * 0b001..power on when domain n is in RUN, off in WAIT/STOP/SUSPEND + * 0b010..power on when domain n is in RUN/WAIT, off in STOP/SUSPEND + * 0b011..power on when domain n is in RUN/WAIT/STOP, off in SUSPEND + * 0b100-0b111..power always on + */ +#define SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D15(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D15_SHIFT)) & SRC_MIX_SLICE_LPM_SETTING_2_LPM_SETTING_D15_MASK) +/*! @} */ + +/*! @name SLICE_SW_CTRL - Slice software control */ +/*! @{ */ + +#define SRC_MIX_SLICE_SLICE_SW_CTRL_RST_CTRL_SOFT_MASK (0x1U) +#define SRC_MIX_SLICE_SLICE_SW_CTRL_RST_CTRL_SOFT_SHIFT (0U) +/*! RST_CTRL_SOFT - Software reset control. Locked by LPM_MODE field. + * 0b0..No effect or software reset deassert + * 0b1..Software reset assert + */ +#define SRC_MIX_SLICE_SLICE_SW_CTRL_RST_CTRL_SOFT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SLICE_SW_CTRL_RST_CTRL_SOFT_SHIFT)) & SRC_MIX_SLICE_SLICE_SW_CTRL_RST_CTRL_SOFT_MASK) + +#define SRC_MIX_SLICE_SLICE_SW_CTRL_ISO_CTRL_SOFT_MASK (0x4U) +#define SRC_MIX_SLICE_SLICE_SW_CTRL_ISO_CTRL_SOFT_SHIFT (2U) +/*! ISO_CTRL_SOFT - Software isolation control. Locked by LPM_MODE field. + * 0b0..No effect or software iso off + * 0b1..Software iso on + */ +#define SRC_MIX_SLICE_SLICE_SW_CTRL_ISO_CTRL_SOFT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SLICE_SW_CTRL_ISO_CTRL_SOFT_SHIFT)) & SRC_MIX_SLICE_SLICE_SW_CTRL_ISO_CTRL_SOFT_MASK) + +#define SRC_MIX_SLICE_SLICE_SW_CTRL_PSW_CTRL_SOFT_MASK (0x10U) +#define SRC_MIX_SLICE_SLICE_SW_CTRL_PSW_CTRL_SOFT_SHIFT (4U) +/*! PSW_CTRL_SOFT - Software power switch control. Locked by LPM_MODE field. + * 0b0..No effect or software power switch on + * 0b1..Software power switch off + */ +#define SRC_MIX_SLICE_SLICE_SW_CTRL_PSW_CTRL_SOFT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SLICE_SW_CTRL_PSW_CTRL_SOFT_SHIFT)) & SRC_MIX_SLICE_SLICE_SW_CTRL_PSW_CTRL_SOFT_MASK) + +#define SRC_MIX_SLICE_SLICE_SW_CTRL_MTR_LOAD_SOFT_MASK (0x40U) +#define SRC_MIX_SLICE_SLICE_SW_CTRL_MTR_LOAD_SOFT_SHIFT (6U) +/*! MTR_LOAD_SOFT - Software control MTR repair load. Locked by LPM_MODE field. + * 0b0..No effect + * 0b1..Software load MTR repair + */ +#define SRC_MIX_SLICE_SLICE_SW_CTRL_MTR_LOAD_SOFT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SLICE_SW_CTRL_MTR_LOAD_SOFT_SHIFT)) & SRC_MIX_SLICE_SLICE_SW_CTRL_MTR_LOAD_SOFT_MASK) + +#define SRC_MIX_SLICE_SLICE_SW_CTRL_SSAR_CTRL_SOFT_MASK (0x100U) +#define SRC_MIX_SLICE_SLICE_SW_CTRL_SSAR_CTRL_SOFT_SHIFT (8U) +/*! SSAR_CTRL_SOFT - Software SSAR control. Locked by LPM_MODE field. + * 0b0..No effect or software SSAR restore + * 0b1..Software SSAR save + */ +#define SRC_MIX_SLICE_SLICE_SW_CTRL_SSAR_CTRL_SOFT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SLICE_SW_CTRL_SSAR_CTRL_SOFT_SHIFT)) & SRC_MIX_SLICE_SLICE_SW_CTRL_SSAR_CTRL_SOFT_MASK) + +#define SRC_MIX_SLICE_SLICE_SW_CTRL_A55_HDSK_CTRL_SOFT_MASK (0x400U) +#define SRC_MIX_SLICE_SLICE_SW_CTRL_A55_HDSK_CTRL_SOFT_SHIFT (10U) +/*! A55_HDSK_CTRL_SOFT - Software A55 handshake control. Locked by LPM_MODE field. + * 0b0..No effect or software notify A55 power up info + * 0b1..Software notify A55 power down info + */ +#define SRC_MIX_SLICE_SLICE_SW_CTRL_A55_HDSK_CTRL_SOFT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SLICE_SW_CTRL_A55_HDSK_CTRL_SOFT_SHIFT)) & SRC_MIX_SLICE_SLICE_SW_CTRL_A55_HDSK_CTRL_SOFT_MASK) + +#define SRC_MIX_SLICE_SLICE_SW_CTRL_PDN_SOFT_MASK (0x80000000U) +#define SRC_MIX_SLICE_SLICE_SW_CTRL_PDN_SOFT_SHIFT (31U) +/*! PDN_SOFT - Software power trans control, including reset, iso, and power switch. Locked by LPM_MODE field. + * 0b0..No effect or software power up + * 0b1..Software power down + */ +#define SRC_MIX_SLICE_SLICE_SW_CTRL_PDN_SOFT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SLICE_SW_CTRL_PDN_SOFT_SHIFT)) & SRC_MIX_SLICE_SLICE_SW_CTRL_PDN_SOFT_MASK) +/*! @} */ + +/*! @name SINGLE_RESET_SW_CTRL - Single reset by software control */ +/*! @{ */ + +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_0_MASK (0x1U) +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_0_SHIFT (0U) +/*! RST_CTRL_SOFT_0 - Locked by LPM_MODE field. */ +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_0(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_0_SHIFT)) & SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_0_MASK) + +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_1_MASK (0x4U) +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_1_SHIFT (2U) +/*! RST_CTRL_SOFT_1 - Locked by LPM_MODE field. */ +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_1(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_1_SHIFT)) & SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_1_MASK) + +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_2_MASK (0x10U) +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_2_SHIFT (4U) +/*! RST_CTRL_SOFT_2 - Locked by LPM_MODE field. + * 0b0..Software reset assert + * 0b1..No effect or software reset deassert + */ +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_2(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_2_SHIFT)) & SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_2_MASK) + +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_3_MASK (0x40U) +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_3_SHIFT (6U) +/*! RST_CTRL_SOFT_3 - Locked by LPM_MODE field. + * 0b0..Software reset assert + * 0b1..No effect or software reset deassert + */ +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_3(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_3_SHIFT)) & SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_3_MASK) + +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_4_MASK (0x100U) +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_4_SHIFT (8U) +/*! RST_CTRL_SOFT_4 - Locked by LPM_MODE field. + * 0b0..Software reset assert + * 0b1..No effect or software reset deassert + */ +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_4(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_4_SHIFT)) & SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_4_MASK) + +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_5_MASK (0x400U) +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_5_SHIFT (10U) +/*! RST_CTRL_SOFT_5 - Locked by LPM_MODE field. + * 0b0..software reset assert + * 0b1..No effect or software reset deassert + */ +#define SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_5(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_5_SHIFT)) & SRC_MIX_SLICE_SINGLE_RESET_SW_CTRL_RST_CTRL_SOFT_5_MASK) +/*! @} */ + +/*! @name A55_HDSK_ACK_CTRL - A55 handshake acknowledge control */ +/*! @{ */ + +#define SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_A55_HDSK_CNT_CFG_MASK (0xFFU) +#define SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_A55_HDSK_CNT_CFG_SHIFT (0U) +/*! A55_HDSK_CNT_CFG - A55 handshake count configure. Usage depends on CNT_MODE. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_A55_HDSK_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_A55_HDSK_CNT_CFG_SHIFT)) & SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_A55_HDSK_CNT_CFG_MASK) + +#define SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_CNT_MODE_MASK (0xC0000000U) +#define SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_CNT_MODE_SHIFT (30U) +/*! CNT_MODE - Configure the acknowledge counter working mode. Locked by LOCK_CFG field. + * 0b00..Not use counter, raise a55_hdsk done to GPC once get A55 ack + * 0b01..Delay after receiving a55 ack, delay cycle number is CNT_CFG + * 0b10..Ignore A55 ack, raise a55_hdsk done to GPC when counting to CNT_CFG value + * 0b11..Time out mode, raise a55_hdsk done to GPC when either A55 ack received or counting to CNT_CFG value + */ +#define SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_CNT_MODE_SHIFT)) & SRC_MIX_SLICE_A55_HDSK_ACK_CTRL_CNT_MODE_MASK) +/*! @} */ + +/*! @name A55_HDSK_ACK_STAT - A55 handshake acknowledge status */ +/*! @{ */ + +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PDN_ACK_CNT_MASK (0xFFU) +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PDN_ACK_CNT_SHIFT (0U) +/*! PDN_ACK_CNT - A55 handshake power down acknowledge count. */ +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PDN_ACK_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PDN_ACK_CNT_SHIFT)) & SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PDN_ACK_CNT_MASK) + +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PUP_ACK_CNT_MASK (0xFF0000U) +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PUP_ACK_CNT_SHIFT (16U) +/*! PUP_ACK_CNT - A55 handshake power up acknowledge count */ +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PUP_ACK_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PUP_ACK_CNT_SHIFT)) & SRC_MIX_SLICE_A55_HDSK_ACK_STAT_PUP_ACK_CNT_MASK) + +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PDN_HDSK_MASK (0x40000000U) +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PDN_HDSK_SHIFT (30U) +/*! BUSY_A55_PDN_HDSK - Busy requesting A55 power down handshake */ +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PDN_HDSK(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PDN_HDSK_SHIFT)) & SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PDN_HDSK_MASK) + +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PUP_HDSK_MASK (0x80000000U) +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PUP_HDSK_SHIFT (31U) +/*! BUSY_A55_PUP_HDSK - Busy requesting A55 power up handshake */ +#define SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PUP_HDSK(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PUP_HDSK_SHIFT)) & SRC_MIX_SLICE_A55_HDSK_ACK_STAT_BUSY_A55_PUP_HDSK_MASK) +/*! @} */ + +/*! @name SSAR_ACK_CTRL - SSAR acknowledge control */ +/*! @{ */ + +#define SRC_MIX_SLICE_SSAR_ACK_CTRL_SSAR_CNT_CFG_MASK (0x3FFFU) +#define SRC_MIX_SLICE_SSAR_ACK_CTRL_SSAR_CNT_CFG_SHIFT (0U) +/*! SSAR_CNT_CFG - ssar count configure. Usage depends on CNT_MODE. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_SSAR_ACK_CTRL_SSAR_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SSAR_ACK_CTRL_SSAR_CNT_CFG_SHIFT)) & SRC_MIX_SLICE_SSAR_ACK_CTRL_SSAR_CNT_CFG_MASK) + +#define SRC_MIX_SLICE_SSAR_ACK_CTRL_CNT_MODE_MASK (0xC0000000U) +#define SRC_MIX_SLICE_SSAR_ACK_CTRL_CNT_MODE_SHIFT (30U) +/*! CNT_MODE - Configure the acknowledge counter working mode. Locked by LOCK_CFG field. + * 0b00..Not use counter, raise ssar_save/restore done to GPC once get Edgelock Enclave ack + * 0b01..Delay after receiving Edgelock Enclave ack, delay cycle number is CNT_CFG + * 0b10..Ignore Edgelock Enclave ack, raise ssar_save/restore done to GPC when counting to CNT_CFG value + * 0b11..Time out mode, raise ssar_save/restore done to GPC when either Edgelock Enclave ack received or counting to CNT_CFG value + */ +#define SRC_MIX_SLICE_SSAR_ACK_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SSAR_ACK_CTRL_CNT_MODE_SHIFT)) & SRC_MIX_SLICE_SSAR_ACK_CTRL_CNT_MODE_MASK) +/*! @} */ + +/*! @name SSAR_ACK_STAT - SSAR acknowledge status */ +/*! @{ */ + +#define SRC_MIX_SLICE_SSAR_ACK_STAT_SAVE_ACK_CNT_MASK (0x3FFFU) +#define SRC_MIX_SLICE_SSAR_ACK_STAT_SAVE_ACK_CNT_SHIFT (0U) +/*! SAVE_ACK_CNT - SAVE acknowledge count, record the delay from stat change to acknowledge received */ +#define SRC_MIX_SLICE_SSAR_ACK_STAT_SAVE_ACK_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SSAR_ACK_STAT_SAVE_ACK_CNT_SHIFT)) & SRC_MIX_SLICE_SSAR_ACK_STAT_SAVE_ACK_CNT_MASK) + +#define SRC_MIX_SLICE_SSAR_ACK_STAT_RESTORE_ACK_CNT_MASK (0xFFFC000U) +#define SRC_MIX_SLICE_SSAR_ACK_STAT_RESTORE_ACK_CNT_SHIFT (14U) +/*! RESTORE_ACK_CNT - RESTORE acknowledge count, record the delay from stat change to acknowledge received */ +#define SRC_MIX_SLICE_SSAR_ACK_STAT_RESTORE_ACK_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SSAR_ACK_STAT_RESTORE_ACK_CNT_SHIFT)) & SRC_MIX_SLICE_SSAR_ACK_STAT_RESTORE_ACK_CNT_MASK) + +#define SRC_MIX_SLICE_SSAR_ACK_STAT_SAVED_MASK (0x20000000U) +#define SRC_MIX_SLICE_SSAR_ACK_STAT_SAVED_SHIFT (29U) +/*! SAVED - Indicate this mix power down info have accepted Edgelock Enclave ack */ +#define SRC_MIX_SLICE_SSAR_ACK_STAT_SAVED(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SSAR_ACK_STAT_SAVED_SHIFT)) & SRC_MIX_SLICE_SSAR_ACK_STAT_SAVED_MASK) + +#define SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_SAVED_MASK (0x40000000U) +#define SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_SAVED_SHIFT (30U) +/*! BUSY_SAVED - Busy requesting SSAR save */ +#define SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_SAVED(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_SAVED_SHIFT)) & SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_SAVED_MASK) + +#define SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_RESTORE_MASK (0x80000000U) +#define SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_RESTORE_SHIFT (31U) +/*! BUSY_RESTORE - Busy requesting SSAR restore */ +#define SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_RESTORE(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_RESTORE_SHIFT)) & SRC_MIX_SLICE_SSAR_ACK_STAT_BUSY_RESTORE_MASK) +/*! @} */ + +/*! @name ISO_OFF_DLY_POR - iso off delay control when por */ +/*! @{ */ + +#define SRC_MIX_SLICE_ISO_OFF_DLY_POR_DLY_PRE_ISO_OFF_POR_MASK (0xFFFFFFFFU) +#define SRC_MIX_SLICE_ISO_OFF_DLY_POR_DLY_PRE_ISO_OFF_POR_SHIFT (0U) +/*! DLY_PRE_ISO_OFF_POR - Delay from receiving iso off request to isolation disable. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_ISO_OFF_DLY_POR_DLY_PRE_ISO_OFF_POR(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_ISO_OFF_DLY_POR_DLY_PRE_ISO_OFF_POR_SHIFT)) & SRC_MIX_SLICE_ISO_OFF_DLY_POR_DLY_PRE_ISO_OFF_POR_MASK) +/*! @} */ + +/*! @name ISO_ON_DLY - iso on delay control */ +/*! @{ */ + +#define SRC_MIX_SLICE_ISO_ON_DLY_DLY_PRE_ISO_ON_MASK (0xFFFFFFFFU) +#define SRC_MIX_SLICE_ISO_ON_DLY_DLY_PRE_ISO_ON_SHIFT (0U) +/*! DLY_PRE_ISO_ON - Delay from receiving iso_on request to isolation enable. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_ISO_ON_DLY_DLY_PRE_ISO_ON(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_ISO_ON_DLY_DLY_PRE_ISO_ON_SHIFT)) & SRC_MIX_SLICE_ISO_ON_DLY_DLY_PRE_ISO_ON_MASK) +/*! @} */ + +/*! @name ISO_OFF_DLY - iso off delay control */ +/*! @{ */ + +#define SRC_MIX_SLICE_ISO_OFF_DLY_DLY_PRE_ISO_OFF_MASK (0xFFFFFFFFU) +#define SRC_MIX_SLICE_ISO_OFF_DLY_DLY_PRE_ISO_OFF_SHIFT (0U) +/*! DLY_PRE_ISO_OFF - Delay from receiving iso off request to isolation disable. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_ISO_OFF_DLY_DLY_PRE_ISO_OFF(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_ISO_OFF_DLY_DLY_PRE_ISO_OFF_SHIFT)) & SRC_MIX_SLICE_ISO_OFF_DLY_DLY_PRE_ISO_OFF_MASK) +/*! @} */ + +/*! @name PSW_OFF_LF_DLY - psw off lf delay control */ +/*! @{ */ + +#define SRC_MIX_SLICE_PSW_OFF_LF_DLY_DLY_PRE_PSW_OFF_LF_MASK (0xFFFFFFFFU) +#define SRC_MIX_SLICE_PSW_OFF_LF_DLY_DLY_PRE_PSW_OFF_LF_SHIFT (0U) +/*! DLY_PRE_PSW_OFF_LF - Delay from receiving power off lf request to power switch shut off. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_OFF_LF_DLY_DLY_PRE_PSW_OFF_LF(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_OFF_LF_DLY_DLY_PRE_PSW_OFF_LF_SHIFT)) & SRC_MIX_SLICE_PSW_OFF_LF_DLY_DLY_PRE_PSW_OFF_LF_MASK) +/*! @} */ + +/*! @name PSW_OFF_HF_DLY - psw off hf delay control */ +/*! @{ */ + +#define SRC_MIX_SLICE_PSW_OFF_HF_DLY_DLY_PRE_PSW_OFF_HF_MASK (0xFFFFFFFFU) +#define SRC_MIX_SLICE_PSW_OFF_HF_DLY_DLY_PRE_PSW_OFF_HF_SHIFT (0U) +/*! DLY_PRE_PSW_OFF_HF - Delay from receiving power off hf request to power switch shut off. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_OFF_HF_DLY_DLY_PRE_PSW_OFF_HF(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_OFF_HF_DLY_DLY_PRE_PSW_OFF_HF_SHIFT)) & SRC_MIX_SLICE_PSW_OFF_HF_DLY_DLY_PRE_PSW_OFF_HF_MASK) +/*! @} */ + +/*! @name PSW_ON_LF_DLY - psw on lf delay control */ +/*! @{ */ + +#define SRC_MIX_SLICE_PSW_ON_LF_DLY_DLY_PRE_PSW_ON_LF_MASK (0xFFFFFFFFU) +#define SRC_MIX_SLICE_PSW_ON_LF_DLY_DLY_PRE_PSW_ON_LF_SHIFT (0U) +/*! DLY_PRE_PSW_ON_LF - Delay from receiving power on lf request to power switch turns on. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_ON_LF_DLY_DLY_PRE_PSW_ON_LF(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ON_LF_DLY_DLY_PRE_PSW_ON_LF_SHIFT)) & SRC_MIX_SLICE_PSW_ON_LF_DLY_DLY_PRE_PSW_ON_LF_MASK) +/*! @} */ + +/*! @name PSW_ON_HF_DLY - psw on hf delay control */ +/*! @{ */ + +#define SRC_MIX_SLICE_PSW_ON_HF_DLY_DLY_PRE_PSW_ON_HF_MASK (0xFFFFFFFFU) +#define SRC_MIX_SLICE_PSW_ON_HF_DLY_DLY_PRE_PSW_ON_HF_SHIFT (0U) +/*! DLY_PRE_PSW_ON_HF - Delay from receiving power on lf request to power switch turns on. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_ON_HF_DLY_DLY_PRE_PSW_ON_HF(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ON_HF_DLY_DLY_PRE_PSW_ON_HF_SHIFT)) & SRC_MIX_SLICE_PSW_ON_HF_DLY_DLY_PRE_PSW_ON_HF_MASK) +/*! @} */ + +/*! @name PSW_ACK_CTRL_0 - Power switch acknowledge control */ +/*! @{ */ + +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_LF_CNT_CFG_MASK (0x3FFU) +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_LF_CNT_CFG_SHIFT (0U) +/*! PUP_LF_CNT_CFG - PUP LF Count configure. Usage depends on CNT_MODE. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_LF_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_LF_CNT_CFG_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_LF_CNT_CFG_MASK) + +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_HF_CNT_CFG_MASK (0x3FF0000U) +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_HF_CNT_CFG_SHIFT (16U) +/*! PUP_HF_CNT_CFG - PUP HF Count configure. Usage depends on CNT_MODE. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_HF_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_HF_CNT_CFG_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_CTRL_0_PUP_HF_CNT_CFG_MASK) + +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_CNT_MODE_MASK (0x30000000U) +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_CNT_MODE_SHIFT (28U) +/*! CNT_MODE - Configure the acknowledge counter working mode. Locked by LOCK_CFG field. + * 0b00..Not use counter, raise power_on/off done to GPC once get psw ack + * 0b01..Delay after receiving psw ack, delay cycle number is CNT_CFG + * 0b10..Ignore psw ack, raise power_on/off done to GPC when counting to CNT_CFG value + * 0b11..Time out mode, raise power_on/off done to GPC when either psw ack received or counting to CNT_CFG value + */ +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_CTRL_0_CNT_MODE_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_CTRL_0_CNT_MODE_MASK) + +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_LF_ACK_INVERT_MASK (0x40000000U) +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_LF_ACK_INVERT_SHIFT (30U) +/*! LF_ACK_INVERT - LF Acknowledge value is inverted from power switch control. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_LF_ACK_INVERT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_CTRL_0_LF_ACK_INVERT_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_CTRL_0_LF_ACK_INVERT_MASK) + +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_HF_ACK_INVERT_MASK (0x80000000U) +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_HF_ACK_INVERT_SHIFT (31U) +/*! HF_ACK_INVERT - HF Acknowledge value is inverted from power switch control. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_ACK_CTRL_0_HF_ACK_INVERT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_CTRL_0_HF_ACK_INVERT_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_CTRL_0_HF_ACK_INVERT_MASK) +/*! @} */ + +/*! @name PSW_ACK_CTRL_1 - Power switch acknowledge control */ +/*! @{ */ + +#define SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_LF_CNT_CFG_MASK (0x3FFU) +#define SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_LF_CNT_CFG_SHIFT (0U) +/*! PDN_LF_CNT_CFG - PDN LF Count configure. Usage depends on CNT_MODE. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_LF_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_LF_CNT_CFG_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_LF_CNT_CFG_MASK) + +#define SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_HF_CNT_CFG_MASK (0x3FF0000U) +#define SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_HF_CNT_CFG_SHIFT (16U) +/*! PDN_HF_CNT_CFG - PDN HF Count configure. Usage depends on CNT_MODE. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_HF_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_HF_CNT_CFG_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_CTRL_1_PDN_HF_CNT_CFG_MASK) +/*! @} */ + +/*! @name PSW_ACK_STAT - PSW acknowledge status */ +/*! @{ */ + +#define SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_CNT_MASK (0x3FFU) +#define SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_CNT_SHIFT (0U) +/*! LF_ACK_CNT - LF PSW acknowledge count */ +#define SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_CNT_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_CNT_MASK) + +#define SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_CNT_MASK (0x3FF0000U) +#define SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_CNT_SHIFT (16U) +/*! HF_ACK_CNT - HF PSW acknowledge count */ +#define SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_CNT_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_CNT_MASK) + +#define SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_STAT_MASK (0x40000000U) +#define SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_STAT_SHIFT (30U) +/*! LF_ACK_STAT - LF PSW acknowledge status */ +#define SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_STAT_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_STAT_LF_ACK_STAT_MASK) + +#define SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_STAT_MASK (0x80000000U) +#define SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_STAT_SHIFT (31U) +/*! HF_ACK_STAT - HF PSW acknowledge status */ +#define SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_STAT_SHIFT)) & SRC_MIX_SLICE_PSW_ACK_STAT_HF_ACK_STAT_MASK) +/*! @} */ + +/*! @name MTR_ACK_CTRL - MTR acknowledge control */ +/*! @{ */ + +#define SRC_MIX_SLICE_MTR_ACK_CTRL_MTR_CNT_CFG_MASK (0xFFU) +#define SRC_MIX_SLICE_MTR_ACK_CTRL_MTR_CNT_CFG_SHIFT (0U) +/*! MTR_CNT_CFG - MTR count configure. Usage depends on CNT_MODE. Locked by LOCK_CFG field. */ +#define SRC_MIX_SLICE_MTR_ACK_CTRL_MTR_CNT_CFG(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_MTR_ACK_CTRL_MTR_CNT_CFG_SHIFT)) & SRC_MIX_SLICE_MTR_ACK_CTRL_MTR_CNT_CFG_MASK) + +#define SRC_MIX_SLICE_MTR_ACK_CTRL_CNT_MODE_MASK (0xC0000000U) +#define SRC_MIX_SLICE_MTR_ACK_CTRL_CNT_MODE_SHIFT (30U) +/*! CNT_MODE - Configure the acknowledge counter working mode. Locked by LOCK_CFG field. + * 0b00..Not use counter, raise mtr done to GPC once get MTR ack + * 0b01..Delay after receiving MTR ack, delay cycle number is CNT_CFG + * 0b10..Ignore MTR ack, raise mtr done to GPC when counting to CNT_CFG value + * 0b11..Time out mode, raise mtr done to GPC when either MTR ack received or counting to CNT_CFG value + */ +#define SRC_MIX_SLICE_MTR_ACK_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_MTR_ACK_CTRL_CNT_MODE_SHIFT)) & SRC_MIX_SLICE_MTR_ACK_CTRL_CNT_MODE_MASK) +/*! @} */ + +/*! @name MTR_ACK_STAT - MTR acknowledge status */ +/*! @{ */ + +#define SRC_MIX_SLICE_MTR_ACK_STAT_MTR_ACK_CNT_MASK (0xFFU) +#define SRC_MIX_SLICE_MTR_ACK_STAT_MTR_ACK_CNT_SHIFT (0U) +/*! MTR_ACK_CNT - MTR acknowledge count, record the delay from stat change to acknowledge received */ +#define SRC_MIX_SLICE_MTR_ACK_STAT_MTR_ACK_CNT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_MTR_ACK_STAT_MTR_ACK_CNT_SHIFT)) & SRC_MIX_SLICE_MTR_ACK_STAT_MTR_ACK_CNT_MASK) + +#define SRC_MIX_SLICE_MTR_ACK_STAT_MTR_DONE_MASK (0x40000000U) +#define SRC_MIX_SLICE_MTR_ACK_STAT_MTR_DONE_SHIFT (30U) +/*! MTR_DONE - Indicate MTR load repair finished */ +#define SRC_MIX_SLICE_MTR_ACK_STAT_MTR_DONE(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_MTR_ACK_STAT_MTR_DONE_SHIFT)) & SRC_MIX_SLICE_MTR_ACK_STAT_MTR_DONE_MASK) + +#define SRC_MIX_SLICE_MTR_ACK_STAT_BUSY_MTR_MASK (0x80000000U) +#define SRC_MIX_SLICE_MTR_ACK_STAT_BUSY_MTR_SHIFT (31U) +/*! BUSY_MTR - Busy requesting MTR */ +#define SRC_MIX_SLICE_MTR_ACK_STAT_BUSY_MTR(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_MTR_ACK_STAT_BUSY_MTR_SHIFT)) & SRC_MIX_SLICE_MTR_ACK_STAT_BUSY_MTR_MASK) +/*! @} */ + +/*! @name UPI_STAT_0 - UPI status 0 */ +/*! @{ */ + +#define SRC_MIX_SLICE_UPI_STAT_0_UPI_ISO_REQUEST_MASK (0xFFFFU) +#define SRC_MIX_SLICE_UPI_STAT_0_UPI_ISO_REQUEST_SHIFT (0U) +/*! UPI_ISO_REQUEST - CPU mode trans iso request of 16 domains */ +#define SRC_MIX_SLICE_UPI_STAT_0_UPI_ISO_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_UPI_STAT_0_UPI_ISO_REQUEST_SHIFT)) & SRC_MIX_SLICE_UPI_STAT_0_UPI_ISO_REQUEST_MASK) + +#define SRC_MIX_SLICE_UPI_STAT_0_UPI_POWER_REQUEST_MASK (0xFFFF0000U) +#define SRC_MIX_SLICE_UPI_STAT_0_UPI_POWER_REQUEST_SHIFT (16U) +/*! UPI_POWER_REQUEST - CPU mode trans power request of 16 domains */ +#define SRC_MIX_SLICE_UPI_STAT_0_UPI_POWER_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_UPI_STAT_0_UPI_POWER_REQUEST_SHIFT)) & SRC_MIX_SLICE_UPI_STAT_0_UPI_POWER_REQUEST_MASK) +/*! @} */ + +/*! @name UPI_STAT_1 - UPI status 1 */ +/*! @{ */ + +#define SRC_MIX_SLICE_UPI_STAT_1_UPI_RESET_REQUEST_MASK (0xFFFFU) +#define SRC_MIX_SLICE_UPI_STAT_1_UPI_RESET_REQUEST_SHIFT (0U) +/*! UPI_RESET_REQUEST - CPU mode trans reset request of 16 domains */ +#define SRC_MIX_SLICE_UPI_STAT_1_UPI_RESET_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_UPI_STAT_1_UPI_RESET_REQUEST_SHIFT)) & SRC_MIX_SLICE_UPI_STAT_1_UPI_RESET_REQUEST_MASK) + +#define SRC_MIX_SLICE_UPI_STAT_1_UPI_SSAR_REQUEST_MASK (0xFFFF0000U) +#define SRC_MIX_SLICE_UPI_STAT_1_UPI_SSAR_REQUEST_SHIFT (16U) +/*! UPI_SSAR_REQUEST - CPU mode trans ssar request of 16 domains */ +#define SRC_MIX_SLICE_UPI_STAT_1_UPI_SSAR_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_UPI_STAT_1_UPI_SSAR_REQUEST_SHIFT)) & SRC_MIX_SLICE_UPI_STAT_1_UPI_SSAR_REQUEST_MASK) +/*! @} */ + +/*! @name UPI_STAT_2 - UPI status 2 */ +/*! @{ */ + +#define SRC_MIX_SLICE_UPI_STAT_2_UPI_MTR_REQUEST_MASK (0xFFFFU) +#define SRC_MIX_SLICE_UPI_STAT_2_UPI_MTR_REQUEST_SHIFT (0U) +/*! UPI_MTR_REQUEST - CPU mode trans mtr request of 16 domains */ +#define SRC_MIX_SLICE_UPI_STAT_2_UPI_MTR_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_UPI_STAT_2_UPI_MTR_REQUEST_SHIFT)) & SRC_MIX_SLICE_UPI_STAT_2_UPI_MTR_REQUEST_MASK) + +#define SRC_MIX_SLICE_UPI_STAT_2_UPI_A55_HDSK_REQUEST_MASK (0xFFFF0000U) +#define SRC_MIX_SLICE_UPI_STAT_2_UPI_A55_HDSK_REQUEST_SHIFT (16U) +/*! UPI_A55_HDSK_REQUEST - CPU mode trans A55 handshake request of 16 domains */ +#define SRC_MIX_SLICE_UPI_STAT_2_UPI_A55_HDSK_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_UPI_STAT_2_UPI_A55_HDSK_REQUEST_SHIFT)) & SRC_MIX_SLICE_UPI_STAT_2_UPI_A55_HDSK_REQUEST_MASK) +/*! @} */ + +/*! @name UPI_STAT_3 - UPI status 3 */ +/*! @{ */ + +#define SRC_MIX_SLICE_UPI_STAT_3_UPI_MEM_REQUEST_MASK (0xFFFFU) +#define SRC_MIX_SLICE_UPI_STAT_3_UPI_MEM_REQUEST_SHIFT (0U) +/*! UPI_MEM_REQUEST - CPU mode trans mem request of 16 domains */ +#define SRC_MIX_SLICE_UPI_STAT_3_UPI_MEM_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_UPI_STAT_3_UPI_MEM_REQUEST_SHIFT)) & SRC_MIX_SLICE_UPI_STAT_3_UPI_MEM_REQUEST_MASK) +/*! @} */ + +/*! @name FSM_STAT - FSM status */ +/*! @{ */ + +#define SRC_MIX_SLICE_FSM_STAT_PSW_STAT_MASK (0xFU) +#define SRC_MIX_SLICE_FSM_STAT_PSW_STAT_SHIFT (0U) +/*! PSW_STAT - Power switch FSM status */ +#define SRC_MIX_SLICE_FSM_STAT_PSW_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FSM_STAT_PSW_STAT_SHIFT)) & SRC_MIX_SLICE_FSM_STAT_PSW_STAT_MASK) + +#define SRC_MIX_SLICE_FSM_STAT_RST_STAT_MASK (0xF0U) +#define SRC_MIX_SLICE_FSM_STAT_RST_STAT_SHIFT (4U) +/*! RST_STAT - Reset FSM status */ +#define SRC_MIX_SLICE_FSM_STAT_RST_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FSM_STAT_RST_STAT_SHIFT)) & SRC_MIX_SLICE_FSM_STAT_RST_STAT_MASK) + +#define SRC_MIX_SLICE_FSM_STAT_ISO_STAT_MASK (0xF00U) +#define SRC_MIX_SLICE_FSM_STAT_ISO_STAT_SHIFT (8U) +/*! ISO_STAT - Isolation FSM status */ +#define SRC_MIX_SLICE_FSM_STAT_ISO_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FSM_STAT_ISO_STAT_SHIFT)) & SRC_MIX_SLICE_FSM_STAT_ISO_STAT_MASK) + +#define SRC_MIX_SLICE_FSM_STAT_MTR_STAT_MASK (0x7000U) +#define SRC_MIX_SLICE_FSM_STAT_MTR_STAT_SHIFT (12U) +/*! MTR_STAT - MTR FSM status */ +#define SRC_MIX_SLICE_FSM_STAT_MTR_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FSM_STAT_MTR_STAT_SHIFT)) & SRC_MIX_SLICE_FSM_STAT_MTR_STAT_MASK) + +#define SRC_MIX_SLICE_FSM_STAT_SSAR_STAT_MASK (0x70000U) +#define SRC_MIX_SLICE_FSM_STAT_SSAR_STAT_SHIFT (16U) +/*! SSAR_STAT - SSAR FSM status */ +#define SRC_MIX_SLICE_FSM_STAT_SSAR_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FSM_STAT_SSAR_STAT_SHIFT)) & SRC_MIX_SLICE_FSM_STAT_SSAR_STAT_MASK) + +#define SRC_MIX_SLICE_FSM_STAT_A55_HDSK_STAT_MASK (0xF00000U) +#define SRC_MIX_SLICE_FSM_STAT_A55_HDSK_STAT_SHIFT (20U) +/*! A55_HDSK_STAT - A55 handshake FSM status */ +#define SRC_MIX_SLICE_FSM_STAT_A55_HDSK_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FSM_STAT_A55_HDSK_STAT_SHIFT)) & SRC_MIX_SLICE_FSM_STAT_A55_HDSK_STAT_MASK) + +#define SRC_MIX_SLICE_FSM_STAT_MEM_STAT_MASK (0x7000000U) +#define SRC_MIX_SLICE_FSM_STAT_MEM_STAT_SHIFT (24U) +/*! MEM_STAT - Memory FSM status */ +#define SRC_MIX_SLICE_FSM_STAT_MEM_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FSM_STAT_MEM_STAT_SHIFT)) & SRC_MIX_SLICE_FSM_STAT_MEM_STAT_MASK) +/*! @} */ + +/*! @name FUNC_STAT - function status */ +/*! @{ */ + +#define SRC_MIX_SLICE_FUNC_STAT_PSW_STAT_MASK (0x1U) +#define SRC_MIX_SLICE_FUNC_STAT_PSW_STAT_SHIFT (0U) +/*! PSW_STAT - Power switch status + * 0b0..Power switch on + * 0b1..Power switch off + */ +#define SRC_MIX_SLICE_FUNC_STAT_PSW_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FUNC_STAT_PSW_STAT_SHIFT)) & SRC_MIX_SLICE_FUNC_STAT_PSW_STAT_MASK) + +#define SRC_MIX_SLICE_FUNC_STAT_RST_STAT_MASK (0x4U) +#define SRC_MIX_SLICE_FUNC_STAT_RST_STAT_SHIFT (2U) +/*! RST_STAT - Reset status + * 0b0..Reset assert + * 0b1..Reset release + */ +#define SRC_MIX_SLICE_FUNC_STAT_RST_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FUNC_STAT_RST_STAT_SHIFT)) & SRC_MIX_SLICE_FUNC_STAT_RST_STAT_MASK) + +#define SRC_MIX_SLICE_FUNC_STAT_ISO_STAT_MASK (0x10U) +#define SRC_MIX_SLICE_FUNC_STAT_ISO_STAT_SHIFT (4U) +/*! ISO_STAT - Isolation status + * 0b0..Isolation off + * 0b1..Isolation on + */ +#define SRC_MIX_SLICE_FUNC_STAT_ISO_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FUNC_STAT_ISO_STAT_SHIFT)) & SRC_MIX_SLICE_FUNC_STAT_ISO_STAT_MASK) + +#define SRC_MIX_SLICE_FUNC_STAT_MTR_STAT_MASK (0x40U) +#define SRC_MIX_SLICE_FUNC_STAT_MTR_STAT_SHIFT (6U) +/*! MTR_STAT - MTR status + * 0b0..No effect + * 0b1..Memory repair/trim done + */ +#define SRC_MIX_SLICE_FUNC_STAT_MTR_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FUNC_STAT_MTR_STAT_SHIFT)) & SRC_MIX_SLICE_FUNC_STAT_MTR_STAT_MASK) + +#define SRC_MIX_SLICE_FUNC_STAT_SSAR_STAT_MASK (0x100U) +#define SRC_MIX_SLICE_FUNC_STAT_SSAR_STAT_SHIFT (8U) +/*! SSAR_STAT - ssar status + * 0b0..No effect or power up handshake with Edgelock Enclave done + * 0b1..Power down handshake with Edgelock Enclave done + */ +#define SRC_MIX_SLICE_FUNC_STAT_SSAR_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FUNC_STAT_SSAR_STAT_SHIFT)) & SRC_MIX_SLICE_FUNC_STAT_SSAR_STAT_MASK) + +#define SRC_MIX_SLICE_FUNC_STAT_A55_HDSK_STAT_MASK (0x400U) +#define SRC_MIX_SLICE_FUNC_STAT_A55_HDSK_STAT_SHIFT (10U) +/*! A55_HDSK_STAT - A55 handshake status + * 0b0..No effect or power up handshake with A55 done(just for A55 SLICE) + * 0b1..Power down handshake with A55 done(just for A55 SLICE) + */ +#define SRC_MIX_SLICE_FUNC_STAT_A55_HDSK_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FUNC_STAT_A55_HDSK_STAT_SHIFT)) & SRC_MIX_SLICE_FUNC_STAT_A55_HDSK_STAT_MASK) + +#define SRC_MIX_SLICE_FUNC_STAT_MEM_STAT_MASK (0x1000U) +#define SRC_MIX_SLICE_FUNC_STAT_MEM_STAT_SHIFT (12U) +/*! MEM_STAT - Memory w/ status + * 0b0..No effect or memory w/ exit LP done + * 0b1..Memory w/ enter LP done + */ +#define SRC_MIX_SLICE_FUNC_STAT_MEM_STAT(x) (((uint32_t)(((uint32_t)(x)) << SRC_MIX_SLICE_FUNC_STAT_MEM_STAT_SHIFT)) & SRC_MIX_SLICE_FUNC_STAT_MEM_STAT_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group SRC_MIX_SLICE_Register_Masks */ + + +/* SRC_MIX_SLICE - Peripheral instance base addresses */ +/** Peripheral SRC__SRC_A55C0_SLICE base address */ +#define SRC__SRC_A55C0_SLICE_BASE (0x44462C00u) +/** Peripheral SRC__SRC_A55C0_SLICE base pointer */ +#define SRC__SRC_A55C0_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_A55C0_SLICE_BASE) +/** Peripheral SRC__SRC_A55P_SLICE base address */ +#define SRC__SRC_A55P_SLICE_BASE (0x44463400u) +/** Peripheral SRC__SRC_A55P_SLICE base pointer */ +#define SRC__SRC_A55P_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_A55P_SLICE_BASE) +/** Peripheral SRC__SRC_AON_SLICE base address */ +#define SRC__SRC_AON_SLICE_BASE (0x44460800u) +/** Peripheral SRC__SRC_AON_SLICE base pointer */ +#define SRC__SRC_AON_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_AON_SLICE_BASE) +/** Peripheral SRC__SRC_DDR_SLICE base address */ +#define SRC__SRC_DDR_SLICE_BASE (0x44461000u) +/** Peripheral SRC__SRC_DDR_SLICE base pointer */ +#define SRC__SRC_DDR_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_DDR_SLICE_BASE) +/** Peripheral SRC__SRC_DPHY_SLICE base address */ +#define SRC__SRC_DPHY_SLICE_BASE (0x44461400u) +/** Peripheral SRC__SRC_DPHY_SLICE base pointer */ +#define SRC__SRC_DPHY_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_DPHY_SLICE_BASE) +/** Peripheral SRC__SRC_EDGELOCK_SLICE base address */ +#define SRC__SRC_EDGELOCK_SLICE_BASE (0x44460400u) +/** Peripheral SRC__SRC_EDGELOCK_SLICE base pointer */ +#define SRC__SRC_EDGELOCK_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_EDGELOCK_SLICE_BASE) +/** Peripheral SRC__SRC_HSIO_SLICE base address */ +#define SRC__SRC_HSIO_SLICE_BASE (0x44462000u) +/** Peripheral SRC__SRC_HSIO_SLICE base pointer */ +#define SRC__SRC_HSIO_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_HSIO_SLICE_BASE) +/** Peripheral SRC__SRC_MEDIA_SLICE base address */ +#define SRC__SRC_MEDIA_SLICE_BASE (0x44462400u) +/** Peripheral SRC__SRC_MEDIA_SLICE base pointer */ +#define SRC__SRC_MEDIA_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_MEDIA_SLICE_BASE) +/** Peripheral SRC__SRC_NIC_SLICE base address */ +#define SRC__SRC_NIC_SLICE_BASE (0x44461C00u) +/** Peripheral SRC__SRC_NIC_SLICE base pointer */ +#define SRC__SRC_NIC_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_NIC_SLICE_BASE) +/** Peripheral SRC__SRC_WKUP_SLICE base address */ +#define SRC__SRC_WKUP_SLICE_BASE (0x44460C00u) +/** Peripheral SRC__SRC_WKUP_SLICE base pointer */ +#define SRC__SRC_WKUP_SLICE ((SRC_MIX_SLICE_Type *)SRC__SRC_WKUP_SLICE_BASE) +/** Array initializer of SRC_MIX_SLICE peripheral base addresses */ +#define SRC_MIX_SLICE_BASE_ADDRS { SRC__SRC_A55C0_SLICE_BASE, SRC__SRC_A55P_SLICE_BASE, SRC__SRC_AON_SLICE_BASE, SRC__SRC_DDR_SLICE_BASE, SRC__SRC_DPHY_SLICE_BASE, SRC__SRC_EDGELOCK_SLICE_BASE, SRC__SRC_HSIO_SLICE_BASE, SRC__SRC_MEDIA_SLICE_BASE, SRC__SRC_NIC_SLICE_BASE, SRC__SRC_WKUP_SLICE_BASE } +/** Array initializer of SRC_MIX_SLICE peripheral base pointers */ +#define SRC_MIX_SLICE_BASE_PTRS { SRC__SRC_A55C0_SLICE, SRC__SRC_A55P_SLICE, SRC__SRC_AON_SLICE, SRC__SRC_DDR_SLICE, SRC__SRC_DPHY_SLICE, SRC__SRC_EDGELOCK_SLICE, SRC__SRC_HSIO_SLICE, SRC__SRC_MEDIA_SLICE, SRC__SRC_NIC_SLICE, SRC__SRC_WKUP_SLICE } + +/*! + * @} + */ /* end of group SRC_MIX_SLICE_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- SYS_CTR_COMPARE Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SYS_CTR_COMPARE_Peripheral_Access_Layer SYS_CTR_COMPARE Peripheral Access Layer + * @{ + */ + +/** SYS_CTR_COMPARE - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[32]; + __IO uint32_t CMPCVL0; /**< Compare Count Value Low, offset: 0x20 */ + __IO uint32_t CMPCVH0; /**< Compare Count Value High, offset: 0x24 */ + uint8_t RESERVED_1[4]; + __IO uint32_t CMPCR0; /**< Compare Control, offset: 0x2C */ + uint8_t RESERVED_2[240]; + __IO uint32_t CMPCVL1; /**< Compare Count Value Low, offset: 0x120 */ + __IO uint32_t CMPCVH1; /**< Compare Count Value High, offset: 0x124 */ + uint8_t RESERVED_3[4]; + __IO uint32_t CMPCR1; /**< Compare Control, offset: 0x12C */ + uint8_t RESERVED_4[3744]; + __I uint32_t CNTID0; /**< Counter ID, offset: 0xFD0 */ +} SYS_CTR_COMPARE_Type; + +/* ---------------------------------------------------------------------------- + -- SYS_CTR_COMPARE Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SYS_CTR_COMPARE_Register_Masks SYS_CTR_COMPARE Register Masks + * @{ + */ + +/*! @name CMPCVL0 - Compare Count Value Low */ +/*! @{ */ + +#define SYS_CTR_COMPARE_CMPCVL0_CMPCV0_MASK (0xFFFFFFFFU) +#define SYS_CTR_COMPARE_CMPCVL0_CMPCV0_SHIFT (0U) +/*! CMPCV0 - Compare Count Value Bits [31:0] */ +#define SYS_CTR_COMPARE_CMPCVL0_CMPCV0(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCVL0_CMPCV0_SHIFT)) & SYS_CTR_COMPARE_CMPCVL0_CMPCV0_MASK) +/*! @} */ + +/*! @name CMPCVH0 - Compare Count Value High */ +/*! @{ */ + +#define SYS_CTR_COMPARE_CMPCVH0_CMPCV1_MASK (0xFFFFFFU) +#define SYS_CTR_COMPARE_CMPCVH0_CMPCV1_SHIFT (0U) +/*! CMPCV1 - Compare Count Value Bits [55:32] */ +#define SYS_CTR_COMPARE_CMPCVH0_CMPCV1(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCVH0_CMPCV1_SHIFT)) & SYS_CTR_COMPARE_CMPCVH0_CMPCV1_MASK) +/*! @} */ + +/*! @name CMPCR0 - Compare Control */ +/*! @{ */ + +#define SYS_CTR_COMPARE_CMPCR0_EN_MASK (0x1U) +#define SYS_CTR_COMPARE_CMPCR0_EN_SHIFT (0U) +/*! EN - Compare Enable + * 0b0..Disable + * 0b1..Enable + */ +#define SYS_CTR_COMPARE_CMPCR0_EN(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCR0_EN_SHIFT)) & SYS_CTR_COMPARE_CMPCR0_EN_MASK) + +#define SYS_CTR_COMPARE_CMPCR0_IMASK_MASK (0x2U) +#define SYS_CTR_COMPARE_CMPCR0_IMASK_SHIFT (1U) +/*! IMASK - Interrupt Request Mask + * 0b0..Not masked + * 0b1..Masked + */ +#define SYS_CTR_COMPARE_CMPCR0_IMASK(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCR0_IMASK_SHIFT)) & SYS_CTR_COMPARE_CMPCR0_IMASK_MASK) + +#define SYS_CTR_COMPARE_CMPCR0_ISTAT_MASK (0x4U) +#define SYS_CTR_COMPARE_CMPCR0_ISTAT_SHIFT (2U) +/*! ISTAT - Compare Interrupt Status + * 0b0..Either less than the compare value or compare is disabled + * 0b1..Greater than or equal to the compare value and compare is enabled + */ +#define SYS_CTR_COMPARE_CMPCR0_ISTAT(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCR0_ISTAT_SHIFT)) & SYS_CTR_COMPARE_CMPCR0_ISTAT_MASK) +/*! @} */ + +/*! @name CMPCVL1 - Compare Count Value Low */ +/*! @{ */ + +#define SYS_CTR_COMPARE_CMPCVL1_CMPCV0_MASK (0xFFFFFFFFU) +#define SYS_CTR_COMPARE_CMPCVL1_CMPCV0_SHIFT (0U) +/*! CMPCV0 - Compare Count Value Bits [31:0] */ +#define SYS_CTR_COMPARE_CMPCVL1_CMPCV0(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCVL1_CMPCV0_SHIFT)) & SYS_CTR_COMPARE_CMPCVL1_CMPCV0_MASK) +/*! @} */ + +/*! @name CMPCVH1 - Compare Count Value High */ +/*! @{ */ + +#define SYS_CTR_COMPARE_CMPCVH1_CMPCV1_MASK (0xFFFFFFU) +#define SYS_CTR_COMPARE_CMPCVH1_CMPCV1_SHIFT (0U) +/*! CMPCV1 - Compare Count Value Bits [55:32] */ +#define SYS_CTR_COMPARE_CMPCVH1_CMPCV1(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCVH1_CMPCV1_SHIFT)) & SYS_CTR_COMPARE_CMPCVH1_CMPCV1_MASK) +/*! @} */ + +/*! @name CMPCR1 - Compare Control */ +/*! @{ */ + +#define SYS_CTR_COMPARE_CMPCR1_EN_MASK (0x1U) +#define SYS_CTR_COMPARE_CMPCR1_EN_SHIFT (0U) +/*! EN - Compare Enable + * 0b0..Disable + * 0b1..Enable + */ +#define SYS_CTR_COMPARE_CMPCR1_EN(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCR1_EN_SHIFT)) & SYS_CTR_COMPARE_CMPCR1_EN_MASK) + +#define SYS_CTR_COMPARE_CMPCR1_IMASK_MASK (0x2U) +#define SYS_CTR_COMPARE_CMPCR1_IMASK_SHIFT (1U) +/*! IMASK - Interrupt Request Mask + * 0b0..Not masked + * 0b1..Masked + */ +#define SYS_CTR_COMPARE_CMPCR1_IMASK(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCR1_IMASK_SHIFT)) & SYS_CTR_COMPARE_CMPCR1_IMASK_MASK) + +#define SYS_CTR_COMPARE_CMPCR1_ISTAT_MASK (0x4U) +#define SYS_CTR_COMPARE_CMPCR1_ISTAT_SHIFT (2U) +/*! ISTAT - Compare Interrupt Status + * 0b0..Either less than the compare value or compare is disabled + * 0b1..Greater than or equal to the compare value and compare is enabled + */ +#define SYS_CTR_COMPARE_CMPCR1_ISTAT(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CMPCR1_ISTAT_SHIFT)) & SYS_CTR_COMPARE_CMPCR1_ISTAT_MASK) +/*! @} */ + +/*! @name CNTID0 - Counter ID */ +/*! @{ */ + +#define SYS_CTR_COMPARE_CNTID0_CNTID_MASK (0xFFFFFFFFU) +#define SYS_CTR_COMPARE_CNTID0_CNTID_SHIFT (0U) +/*! CNTID - Counter Identification */ +#define SYS_CTR_COMPARE_CNTID0_CNTID(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_COMPARE_CNTID0_CNTID_SHIFT)) & SYS_CTR_COMPARE_CNTID0_CNTID_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group SYS_CTR_COMPARE_Register_Masks */ + + +/* SYS_CTR_COMPARE - Peripheral instance base addresses */ +/** Peripheral SYS_CTR_CTLBASE1__SYS_CTR_COMPARE base address */ +#define SYS_CTR_CTLBASE1__SYS_CTR_COMPARE_BASE (0x442A0000u) +/** Peripheral SYS_CTR_CTLBASE1__SYS_CTR_COMPARE base pointer */ +#define SYS_CTR_CTLBASE1__SYS_CTR_COMPARE ((SYS_CTR_COMPARE_Type *)SYS_CTR_CTLBASE1__SYS_CTR_COMPARE_BASE) +/** Array initializer of SYS_CTR_COMPARE peripheral base addresses */ +#define SYS_CTR_COMPARE_BASE_ADDRS { SYS_CTR_CTLBASE1__SYS_CTR_COMPARE_BASE } +/** Array initializer of SYS_CTR_COMPARE peripheral base pointers */ +#define SYS_CTR_COMPARE_BASE_PTRS { SYS_CTR_CTLBASE1__SYS_CTR_COMPARE } + +/*! + * @} + */ /* end of group SYS_CTR_COMPARE_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- SYS_CTR_CONTROL Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SYS_CTR_CONTROL_Peripheral_Access_Layer SYS_CTR_CONTROL Peripheral Access Layer + * @{ + */ + +/** SYS_CTR_CONTROL - Register Layout Typedef */ +typedef struct { + __IO uint32_t CNTCR; /**< Counter Control, offset: 0x0 */ + __I uint32_t CNTSR; /**< Counter Status, offset: 0x4 */ + __IO uint32_t CNTCV0; /**< Counter Count Value Low, offset: 0x8 */ + __IO uint32_t CNTCV1; /**< Counter Count Value High, offset: 0xC */ + uint8_t RESERVED_0[16]; + __I uint32_t CNTFID0; /**< Frequency-Modes Table 0, offset: 0x20 */ + __I uint32_t CNTFID1; /**< Frequency-Modes Table 1, offset: 0x24 */ + __I uint32_t CNTFID2; /**< Frequency-Modes Table 2, offset: 0x28 */ + uint8_t RESERVED_1[148]; + __IO uint32_t CNTCR2; /**< Counter Control 2, offset: 0xC0 */ + uint8_t RESERVED_2[3852]; + __I uint32_t CNTID0; /**< Counter ID, offset: 0xFD0 */ +} SYS_CTR_CONTROL_Type; + +/* ---------------------------------------------------------------------------- + -- SYS_CTR_CONTROL Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SYS_CTR_CONTROL_Register_Masks SYS_CTR_CONTROL Register Masks + * @{ + */ + +/*! @name CNTCR - Counter Control */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTCR_EN_MASK (0x1U) +#define SYS_CTR_CONTROL_CNTCR_EN_SHIFT (0U) +/*! EN - Enable Counting + * 0b0..Disable + * 0b1..Enable + */ +#define SYS_CTR_CONTROL_CNTCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTCR_EN_SHIFT)) & SYS_CTR_CONTROL_CNTCR_EN_MASK) + +#define SYS_CTR_CONTROL_CNTCR_HDBG_MASK (0x2U) +#define SYS_CTR_CONTROL_CNTCR_HDBG_SHIFT (1U) +/*! HDBG - Enable Debug Halt + * 0b0..Ignored + * 0b1..Causes SYS_CTR to halt + */ +#define SYS_CTR_CONTROL_CNTCR_HDBG(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTCR_HDBG_SHIFT)) & SYS_CTR_CONTROL_CNTCR_HDBG_MASK) + +#define SYS_CTR_CONTROL_CNTCR_FCR0_MASK (0x100U) +#define SYS_CTR_CONTROL_CNTCR_FCR0_SHIFT (8U) +/*! FCR0 - Frequency Change Request, ID 0 + * 0b0..No change + * 0b1..Base frequency + */ +#define SYS_CTR_CONTROL_CNTCR_FCR0(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTCR_FCR0_SHIFT)) & SYS_CTR_CONTROL_CNTCR_FCR0_MASK) + +#define SYS_CTR_CONTROL_CNTCR_FCR1_MASK (0x200U) +#define SYS_CTR_CONTROL_CNTCR_FCR1_SHIFT (9U) +/*! FCR1 - Frequency Change Request, ID 1 + * 0b0..No change + * 0b1..Alternate frequency + */ +#define SYS_CTR_CONTROL_CNTCR_FCR1(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTCR_FCR1_SHIFT)) & SYS_CTR_CONTROL_CNTCR_FCR1_MASK) +/*! @} */ + +/*! @name CNTSR - Counter Status */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTSR_DBGH_MASK (0x1U) +#define SYS_CTR_CONTROL_CNTSR_DBGH_SHIFT (0U) +/*! DBGH - Debug Halt + * 0b0..Did not halt + * 0b1..Halted + */ +#define SYS_CTR_CONTROL_CNTSR_DBGH(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTSR_DBGH_SHIFT)) & SYS_CTR_CONTROL_CNTSR_DBGH_MASK) + +#define SYS_CTR_CONTROL_CNTSR_FCA0_MASK (0x100U) +#define SYS_CTR_CONTROL_CNTSR_FCA0_SHIFT (8U) +/*! FCA0 - Frequency Change Acknowledge, ID 0 + * 0b0..Not selected + * 0b1..Selected + */ +#define SYS_CTR_CONTROL_CNTSR_FCA0(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTSR_FCA0_SHIFT)) & SYS_CTR_CONTROL_CNTSR_FCA0_MASK) + +#define SYS_CTR_CONTROL_CNTSR_FCA1_MASK (0x200U) +#define SYS_CTR_CONTROL_CNTSR_FCA1_SHIFT (9U) +/*! FCA1 - Frequency Change Acknowledge, ID 1 + * 0b0..Not selected + * 0b1..Selected + */ +#define SYS_CTR_CONTROL_CNTSR_FCA1(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTSR_FCA1_SHIFT)) & SYS_CTR_CONTROL_CNTSR_FCA1_MASK) +/*! @} */ + +/*! @name CNTCV0 - Counter Count Value Low */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTCV0_CNTCV0_MASK (0xFFFFFFFFU) +#define SYS_CTR_CONTROL_CNTCV0_CNTCV0_SHIFT (0U) +/*! CNTCV0 - Counter Count Value Bits [31:0] */ +#define SYS_CTR_CONTROL_CNTCV0_CNTCV0(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTCV0_CNTCV0_SHIFT)) & SYS_CTR_CONTROL_CNTCV0_CNTCV0_MASK) +/*! @} */ + +/*! @name CNTCV1 - Counter Count Value High */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTCV1_CNTCV1_MASK (0xFFFFFFU) +#define SYS_CTR_CONTROL_CNTCV1_CNTCV1_SHIFT (0U) +/*! CNTCV1 - Counter Count Value Bits [55:32] */ +#define SYS_CTR_CONTROL_CNTCV1_CNTCV1(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTCV1_CNTCV1_SHIFT)) & SYS_CTR_CONTROL_CNTCV1_CNTCV1_MASK) +/*! @} */ + +/*! @name CNTFID0 - Frequency-Modes Table 0 */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTFID0_CNTFID0_MASK (0xFFFFFFFFU) +#define SYS_CTR_CONTROL_CNTFID0_CNTFID0_SHIFT (0U) +/*! CNTFID0 - Counter Frequency ID 0 */ +#define SYS_CTR_CONTROL_CNTFID0_CNTFID0(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTFID0_CNTFID0_SHIFT)) & SYS_CTR_CONTROL_CNTFID0_CNTFID0_MASK) +/*! @} */ + +/*! @name CNTFID1 - Frequency-Modes Table 1 */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTFID1_CNTFID1_MASK (0xFFFFFFFFU) +#define SYS_CTR_CONTROL_CNTFID1_CNTFID1_SHIFT (0U) +/*! CNTFID1 - Counter Frequency ID 1 */ +#define SYS_CTR_CONTROL_CNTFID1_CNTFID1(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTFID1_CNTFID1_SHIFT)) & SYS_CTR_CONTROL_CNTFID1_CNTFID1_MASK) +/*! @} */ + +/*! @name CNTFID2 - Frequency-Modes Table 2 */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTFID2_CNTFID2_MASK (0xFFFFFFFFU) +#define SYS_CTR_CONTROL_CNTFID2_CNTFID2_SHIFT (0U) +/*! CNTFID2 - Counter Frequency ID 2 */ +#define SYS_CTR_CONTROL_CNTFID2_CNTFID2(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTFID2_CNTFID2_SHIFT)) & SYS_CTR_CONTROL_CNTFID2_CNTFID2_MASK) +/*! @} */ + +/*! @name CNTCR2 - Counter Control 2 */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTCR2_HWFC_EN_MASK (0x1U) +#define SYS_CTR_CONTROL_CNTCR2_HWFC_EN_SHIFT (0U) +/*! HWFC_EN - Hardware Frequency Change Enable + * 0b0..No effect + * 0b1..Same as performed via software + */ +#define SYS_CTR_CONTROL_CNTCR2_HWFC_EN(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTCR2_HWFC_EN_SHIFT)) & SYS_CTR_CONTROL_CNTCR2_HWFC_EN_MASK) +/*! @} */ + +/*! @name CNTID0 - Counter ID */ +/*! @{ */ + +#define SYS_CTR_CONTROL_CNTID0_CNTID_MASK (0xFFFFFFFFU) +#define SYS_CTR_CONTROL_CNTID0_CNTID_SHIFT (0U) +/*! CNTID - Counter Identification */ +#define SYS_CTR_CONTROL_CNTID0_CNTID(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_CONTROL_CNTID0_CNTID_SHIFT)) & SYS_CTR_CONTROL_CNTID0_CNTID_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group SYS_CTR_CONTROL_Register_Masks */ + + +/* SYS_CTR_CONTROL - Peripheral instance base addresses */ +/** Peripheral SYS_CTR_CTLBASE1__SYS_CTR_CONTROL base address */ +#define SYS_CTR_CTLBASE1__SYS_CTR_CONTROL_BASE (0x44290000u) +/** Peripheral SYS_CTR_CTLBASE1__SYS_CTR_CONTROL base pointer */ +#define SYS_CTR_CTLBASE1__SYS_CTR_CONTROL ((SYS_CTR_CONTROL_Type *)SYS_CTR_CTLBASE1__SYS_CTR_CONTROL_BASE) +/** Array initializer of SYS_CTR_CONTROL peripheral base addresses */ +#define SYS_CTR_CONTROL_BASE_ADDRS { SYS_CTR_CTLBASE1__SYS_CTR_CONTROL_BASE } +/** Array initializer of SYS_CTR_CONTROL peripheral base pointers */ +#define SYS_CTR_CONTROL_BASE_PTRS { SYS_CTR_CTLBASE1__SYS_CTR_CONTROL } + +/*! + * @} + */ /* end of group SYS_CTR_CONTROL_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- SYS_CTR_READ Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SYS_CTR_READ_Peripheral_Access_Layer SYS_CTR_READ Peripheral Access Layer + * @{ + */ + +/** SYS_CTR_READ - Register Layout Typedef */ +typedef struct { + uint8_t RESERVED_0[8]; + __I uint32_t CNTCV0; /**< Counter Count Value Low, offset: 0x8 */ + __I uint32_t CNTCV1; /**< Counter Count Value High, offset: 0xC */ + uint8_t RESERVED_1[4032]; + __I uint32_t CNTID0; /**< Counter ID, offset: 0xFD0 */ +} SYS_CTR_READ_Type; + +/* ---------------------------------------------------------------------------- + -- SYS_CTR_READ Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SYS_CTR_READ_Register_Masks SYS_CTR_READ Register Masks + * @{ + */ + +/*! @name CNTCV0 - Counter Count Value Low */ +/*! @{ */ + +#define SYS_CTR_READ_CNTCV0_CNTCV0_MASK (0xFFFFFFFFU) +#define SYS_CTR_READ_CNTCV0_CNTCV0_SHIFT (0U) +/*! CNTCV0 - Counter Count Value Bits [31:0] */ +#define SYS_CTR_READ_CNTCV0_CNTCV0(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_READ_CNTCV0_CNTCV0_SHIFT)) & SYS_CTR_READ_CNTCV0_CNTCV0_MASK) +/*! @} */ + +/*! @name CNTCV1 - Counter Count Value High */ +/*! @{ */ + +#define SYS_CTR_READ_CNTCV1_CNTCV1_MASK (0xFFFFFFU) +#define SYS_CTR_READ_CNTCV1_CNTCV1_SHIFT (0U) +/*! CNTCV1 - Counter Count Value Bits [55:32] */ +#define SYS_CTR_READ_CNTCV1_CNTCV1(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_READ_CNTCV1_CNTCV1_SHIFT)) & SYS_CTR_READ_CNTCV1_CNTCV1_MASK) +/*! @} */ + +/*! @name CNTID0 - Counter ID */ +/*! @{ */ + +#define SYS_CTR_READ_CNTID0_CNTID_MASK (0xFFFFFFFFU) +#define SYS_CTR_READ_CNTID0_CNTID_SHIFT (0U) +/*! CNTID - Counter Identification */ +#define SYS_CTR_READ_CNTID0_CNTID(x) (((uint32_t)(((uint32_t)(x)) << SYS_CTR_READ_CNTID0_CNTID_SHIFT)) & SYS_CTR_READ_CNTID0_CNTID_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group SYS_CTR_READ_Register_Masks */ + + +/* SYS_CTR_READ - Peripheral instance base addresses */ +/** Peripheral SYS_CTR_CTLBASE1__SYS_CTR_READ base address */ +#define SYS_CTR_CTLBASE1__SYS_CTR_READ_BASE (0x442B0000u) +/** Peripheral SYS_CTR_CTLBASE1__SYS_CTR_READ base pointer */ +#define SYS_CTR_CTLBASE1__SYS_CTR_READ ((SYS_CTR_READ_Type *)SYS_CTR_CTLBASE1__SYS_CTR_READ_BASE) +/** Array initializer of SYS_CTR_READ peripheral base addresses */ +#define SYS_CTR_READ_BASE_ADDRS { SYS_CTR_CTLBASE1__SYS_CTR_READ_BASE } +/** Array initializer of SYS_CTR_READ peripheral base pointers */ +#define SYS_CTR_READ_BASE_PTRS { SYS_CTR_CTLBASE1__SYS_CTR_READ } + +/*! + * @} + */ /* end of group SYS_CTR_READ_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- TCD Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TCD_Peripheral_Access_Layer TCD Peripheral Access Layer + * @{ + */ + +/** TCD - Register Layout Typedef */ +typedef struct { + struct { /* offset: 0x0, array step: 0x10000 */ + __IO uint32_t CH_CSR; /**< Channel Control and Status, array offset: 0x0, array step: 0x10000 */ + __IO uint32_t CH_ES; /**< Channel Error Status, array offset: 0x4, array step: 0x10000 */ + __IO uint32_t CH_INT; /**< Channel Interrupt Status, array offset: 0x8, array step: 0x10000 */ + __IO uint32_t CH_SBR; /**< Channel System Bus, array offset: 0xC, array step: 0x10000 */ + __IO uint32_t CH_PRI; /**< Channel Priority, array offset: 0x10, array step: 0x10000 */ + uint8_t RESERVED_0[12]; + __IO uint32_t TCD_SADDR; /**< TCD Source Address, array offset: 0x20, array step: 0x10000 */ + __IO uint16_t TCD_SOFF; /**< TCD Signed Source Address Offset, array offset: 0x24, array step: 0x10000 */ + __IO uint16_t TCD_ATTR; /**< TCD Transfer Attributes, array offset: 0x26, array step: 0x10000 */ + union { /* offset: 0x28, array step: 0x10000 */ + __IO uint32_t TCD_NBYTES_MLOFFNO; /**< TCD Transfer Size Without Minor Loop Offsets, array offset: 0x28, array step: 0x10000 */ + __IO uint32_t TCD_NBYTES_MLOFFYES; /**< TCD Transfer Size with Minor Loop Offsets, array offset: 0x28, array step: 0x10000 */ + }; + __IO uint32_t TCD_SLAST_SDA; /**< TCD Last Source Address Adjustment / Store DADDR Address, array offset: 0x2C, array step: 0x10000 */ + __IO uint32_t TCD_DADDR; /**< TCD Destination Address, array offset: 0x30, array step: 0x10000 */ + __IO uint16_t TCD_DOFF; /**< TCD Signed Destination Address Offset, array offset: 0x34, array step: 0x10000 */ + union { /* offset: 0x36, array step: 0x10000 */ + __IO uint16_t TCD_CITER_ELINKNO; /**< TCD Current Major Loop Count (Minor Loop Channel Linking Disabled), array offset: 0x36, array step: 0x10000 */ + __IO uint16_t TCD_CITER_ELINKYES; /**< TCD Current Major Loop Count (Minor Loop Channel Linking Enabled), array offset: 0x36, array step: 0x10000 */ + }; + __IO uint32_t TCD_DLAST_SGA; /**< TCD Last Destination Address Adjustment / Scatter Gather Address, array offset: 0x38, array step: 0x10000 */ + __IO uint16_t TCD_CSR; /**< TCD Control and Status, array offset: 0x3C, array step: 0x10000 */ + union { /* offset: 0x3E, array step: 0x10000 */ + __IO uint16_t TCD_BITER_ELINKNO; /**< TCD Beginning Major Loop Count (Minor Loop Channel Linking Disabled), array offset: 0x3E, array step: 0x10000 */ + __IO uint16_t TCD_BITER_ELINKYES; /**< TCD Beginning Major Loop Count (Minor Loop Channel Linking Enabled), array offset: 0x3E, array step: 0x10000 */ + }; + uint8_t RESERVED_1[65472]; + } CH[31]; +} TCD_Type; + +/* ---------------------------------------------------------------------------- + -- TCD Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TCD_Register_Masks TCD Register Masks + * @{ + */ + +/*! @name CH_CSR - Channel Control and Status */ +/*! @{ */ + +#define TCD_CH_CSR_ERQ_MASK (0x1U) +#define TCD_CH_CSR_ERQ_SHIFT (0U) +/*! ERQ - Enable DMA Request + * 0b0..DMA hardware request signal for corresponding channel disabled + * 0b1..DMA hardware request signal for corresponding channel enabled + */ +#define TCD_CH_CSR_ERQ(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_CSR_ERQ_SHIFT)) & TCD_CH_CSR_ERQ_MASK) + +#define TCD_CH_CSR_EARQ_MASK (0x2U) +#define TCD_CH_CSR_EARQ_SHIFT (1U) +/*! EARQ - Enable Asynchronous DMA Request + * 0b0..Disable asynchronous DMA request for the channel + * 0b1..Enable asynchronous DMA request for the channel + */ +#define TCD_CH_CSR_EARQ(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_CSR_EARQ_SHIFT)) & TCD_CH_CSR_EARQ_MASK) + +#define TCD_CH_CSR_EEI_MASK (0x4U) +#define TCD_CH_CSR_EEI_SHIFT (2U) +/*! EEI - Enable Error Interrupt + * 0b0..Error signal for corresponding channel does not generate error interrupt + * 0b1..Assertion of error signal for corresponding channel generates error interrupt request + */ +#define TCD_CH_CSR_EEI(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_CSR_EEI_SHIFT)) & TCD_CH_CSR_EEI_MASK) + +#define TCD_CH_CSR_EBW_MASK (0x8U) +#define TCD_CH_CSR_EBW_SHIFT (3U) +/*! EBW - Enable Buffered Writes + * 0b0..Buffered writes on system bus disabled + * 0b1..Buffered writes on system bus enabled + */ +#define TCD_CH_CSR_EBW(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_CSR_EBW_SHIFT)) & TCD_CH_CSR_EBW_MASK) + +#define TCD_CH_CSR_DONE_MASK (0x40000000U) +#define TCD_CH_CSR_DONE_SHIFT (30U) +/*! DONE - Channel Done */ +#define TCD_CH_CSR_DONE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_CSR_DONE_SHIFT)) & TCD_CH_CSR_DONE_MASK) + +#define TCD_CH_CSR_ACTIVE_MASK (0x80000000U) +#define TCD_CH_CSR_ACTIVE_SHIFT (31U) +/*! ACTIVE - Channel Active */ +#define TCD_CH_CSR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_CSR_ACTIVE_SHIFT)) & TCD_CH_CSR_ACTIVE_MASK) +/*! @} */ + +/* The count of TCD_CH_CSR */ +#define TCD_CH_CSR_COUNT (31U) + +/*! @name CH_ES - Channel Error Status */ +/*! @{ */ + +#define TCD_CH_ES_DBE_MASK (0x1U) +#define TCD_CH_ES_DBE_SHIFT (0U) +/*! DBE - Destination Bus Error + * 0b0..No destination bus error + * 0b1..Last recorded error was bus error on destination write + */ +#define TCD_CH_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_DBE_SHIFT)) & TCD_CH_ES_DBE_MASK) + +#define TCD_CH_ES_SBE_MASK (0x2U) +#define TCD_CH_ES_SBE_SHIFT (1U) +/*! SBE - Source Bus Error + * 0b0..No source bus error + * 0b1..Last recorded error was bus error on source read + */ +#define TCD_CH_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_SBE_SHIFT)) & TCD_CH_ES_SBE_MASK) + +#define TCD_CH_ES_SGE_MASK (0x4U) +#define TCD_CH_ES_SGE_SHIFT (2U) +/*! SGE - Scatter/Gather Configuration Error + * 0b0..No scatter/gather configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_DLAST_SGA field + */ +#define TCD_CH_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_SGE_SHIFT)) & TCD_CH_ES_SGE_MASK) + +#define TCD_CH_ES_NCE_MASK (0x8U) +#define TCD_CH_ES_NCE_SHIFT (3U) +/*! NCE - NBYTES/CITER Configuration Error + * 0b0..No NBYTES/CITER configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_NBYTES or TCDn_CITER fields + */ +#define TCD_CH_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_NCE_SHIFT)) & TCD_CH_ES_NCE_MASK) + +#define TCD_CH_ES_DOE_MASK (0x10U) +#define TCD_CH_ES_DOE_SHIFT (4U) +/*! DOE - Destination Offset Error + * 0b0..No destination offset configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_DOFF field + */ +#define TCD_CH_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_DOE_SHIFT)) & TCD_CH_ES_DOE_MASK) + +#define TCD_CH_ES_DAE_MASK (0x20U) +#define TCD_CH_ES_DAE_SHIFT (5U) +/*! DAE - Destination Address Error + * 0b0..No destination address configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_DADDR field + */ +#define TCD_CH_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_DAE_SHIFT)) & TCD_CH_ES_DAE_MASK) + +#define TCD_CH_ES_SOE_MASK (0x40U) +#define TCD_CH_ES_SOE_SHIFT (6U) +/*! SOE - Source Offset Error + * 0b0..No source offset configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_SOFF field + */ +#define TCD_CH_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_SOE_SHIFT)) & TCD_CH_ES_SOE_MASK) + +#define TCD_CH_ES_SAE_MASK (0x80U) +#define TCD_CH_ES_SAE_SHIFT (7U) +/*! SAE - Source Address Error + * 0b0..No source address configuration error + * 0b1..Last recorded error was a configuration error detected in the TCDn_SADDR field + */ +#define TCD_CH_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_SAE_SHIFT)) & TCD_CH_ES_SAE_MASK) + +#define TCD_CH_ES_ERR_MASK (0x80000000U) +#define TCD_CH_ES_ERR_SHIFT (31U) +/*! ERR - Error In Channel + * 0b0..An error in this channel has not occurred + * 0b1..An error in this channel has occurred + */ +#define TCD_CH_ES_ERR(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_ES_ERR_SHIFT)) & TCD_CH_ES_ERR_MASK) +/*! @} */ + +/* The count of TCD_CH_ES */ +#define TCD_CH_ES_COUNT (31U) + +/*! @name CH_INT - Channel Interrupt Status */ +/*! @{ */ + +#define TCD_CH_INT_INT_MASK (0x1U) +#define TCD_CH_INT_INT_SHIFT (0U) +/*! INT - Interrupt Request + * 0b0..Interrupt request for corresponding channel cleared + * 0b1..Interrupt request for corresponding channel active + */ +#define TCD_CH_INT_INT(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_INT_INT_SHIFT)) & TCD_CH_INT_INT_MASK) +/*! @} */ + +/* The count of TCD_CH_INT */ +#define TCD_CH_INT_COUNT (31U) + +/*! @name CH_SBR - Channel System Bus */ +/*! @{ */ + +#define TCD_CH_SBR_MID_MASK (0xFU) +#define TCD_CH_SBR_MID_SHIFT (0U) +/*! MID - Master ID */ +#define TCD_CH_SBR_MID(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_SBR_MID_SHIFT)) & TCD_CH_SBR_MID_MASK) + +#define TCD_CH_SBR_SEC_MASK (0x4000U) +#define TCD_CH_SBR_SEC_SHIFT (14U) +/*! SEC - Security Level + * 0b0..Nonsecure protection level for DMA transfers + * 0b1..Secure protection level for DMA transfers + */ +#define TCD_CH_SBR_SEC(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_SBR_SEC_SHIFT)) & TCD_CH_SBR_SEC_MASK) + +#define TCD_CH_SBR_PAL_MASK (0x8000U) +#define TCD_CH_SBR_PAL_SHIFT (15U) +/*! PAL - Privileged Access Level + * 0b0..User protection level for DMA transfers + * 0b1..Privileged protection level for DMA transfers + */ +#define TCD_CH_SBR_PAL(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_SBR_PAL_SHIFT)) & TCD_CH_SBR_PAL_MASK) + +#define TCD_CH_SBR_EMI_MASK (0x10000U) +#define TCD_CH_SBR_EMI_SHIFT (16U) +/*! EMI - Enable Master ID Replication + * 0b0..Master ID replication is disabled + * 0b1..Master ID replication is enabled + */ +#define TCD_CH_SBR_EMI(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_SBR_EMI_SHIFT)) & TCD_CH_SBR_EMI_MASK) + +#define TCD_CH_SBR_ATTR_MASK (0x7E0000U) +#define TCD_CH_SBR_ATTR_SHIFT (17U) +/*! ATTR - Attribute Output */ +#define TCD_CH_SBR_ATTR(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_SBR_ATTR_SHIFT)) & TCD_CH_SBR_ATTR_MASK) +/*! @} */ + +/* The count of TCD_CH_SBR */ +#define TCD_CH_SBR_COUNT (31U) + +/*! @name CH_PRI - Channel Priority */ +/*! @{ */ + +#define TCD_CH_PRI_APL_MASK (0x7U) +#define TCD_CH_PRI_APL_SHIFT (0U) +/*! APL - Arbitration Priority Level */ +#define TCD_CH_PRI_APL(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_PRI_APL_SHIFT)) & TCD_CH_PRI_APL_MASK) + +#define TCD_CH_PRI_DPA_MASK (0x40000000U) +#define TCD_CH_PRI_DPA_SHIFT (30U) +/*! DPA - Disable Preempt Ability + * 0b0..Channel can suspend a lower-priority channel + * 0b1..Channel cannot suspend any other channel, regardless of channel priority + */ +#define TCD_CH_PRI_DPA(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_PRI_DPA_SHIFT)) & TCD_CH_PRI_DPA_MASK) + +#define TCD_CH_PRI_ECP_MASK (0x80000000U) +#define TCD_CH_PRI_ECP_SHIFT (31U) +/*! ECP - Enable Channel Preemption + * 0b0..Channel cannot be suspended by a higher-priority channel's service request + * 0b1..Channel can be temporarily suspended by a higher-priority channel's service request + */ +#define TCD_CH_PRI_ECP(x) (((uint32_t)(((uint32_t)(x)) << TCD_CH_PRI_ECP_SHIFT)) & TCD_CH_PRI_ECP_MASK) +/*! @} */ + +/* The count of TCD_CH_PRI */ +#define TCD_CH_PRI_COUNT (31U) + +/*! @name TCD_SADDR - TCD Source Address */ +/*! @{ */ + +#define TCD_TCD_SADDR_SADDR_MASK (0xFFFFFFFFU) +#define TCD_TCD_SADDR_SADDR_SHIFT (0U) +/*! SADDR - Source Address */ +#define TCD_TCD_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_SADDR_SADDR_SHIFT)) & TCD_TCD_SADDR_SADDR_MASK) +/*! @} */ + +/* The count of TCD_TCD_SADDR */ +#define TCD_TCD_SADDR_COUNT (31U) + +/*! @name TCD_SOFF - TCD Signed Source Address Offset */ +/*! @{ */ + +#define TCD_TCD_SOFF_SOFF_MASK (0xFFFFU) +#define TCD_TCD_SOFF_SOFF_SHIFT (0U) +/*! SOFF - Source Address Signed Offset */ +#define TCD_TCD_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_SOFF_SOFF_SHIFT)) & TCD_TCD_SOFF_SOFF_MASK) +/*! @} */ + +/* The count of TCD_TCD_SOFF */ +#define TCD_TCD_SOFF_COUNT (31U) + +/*! @name TCD_ATTR - TCD Transfer Attributes */ +/*! @{ */ + +#define TCD_TCD_ATTR_DSIZE_MASK (0x7U) +#define TCD_TCD_ATTR_DSIZE_SHIFT (0U) +/*! DSIZE - Destination Data Transfer Size */ +#define TCD_TCD_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_ATTR_DSIZE_SHIFT)) & TCD_TCD_ATTR_DSIZE_MASK) + +#define TCD_TCD_ATTR_DMOD_MASK (0xF8U) +#define TCD_TCD_ATTR_DMOD_SHIFT (3U) +/*! DMOD - Destination Address Modulo */ +#define TCD_TCD_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_ATTR_DMOD_SHIFT)) & TCD_TCD_ATTR_DMOD_MASK) + +#define TCD_TCD_ATTR_SSIZE_MASK (0x700U) +#define TCD_TCD_ATTR_SSIZE_SHIFT (8U) +/*! SSIZE - Source Data Transfer Size + * 0b000..8-bit + * 0b001..16-bit + * 0b010..32-bit + * 0b011..64-bit + * 0b100..16-byte + * 0b101..32-byte + * 0b110..64-byte + * 0b111.. + */ +#define TCD_TCD_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_ATTR_SSIZE_SHIFT)) & TCD_TCD_ATTR_SSIZE_MASK) + +#define TCD_TCD_ATTR_SMOD_MASK (0xF800U) +#define TCD_TCD_ATTR_SMOD_SHIFT (11U) +/*! SMOD - Source Address Modulo + * 0b00000..Source address modulo feature disabled + * 0b00001..Source address modulo feature enabled for any non-zero value [1-31] + */ +#define TCD_TCD_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_ATTR_SMOD_SHIFT)) & TCD_TCD_ATTR_SMOD_MASK) +/*! @} */ + +/* The count of TCD_TCD_ATTR */ +#define TCD_TCD_ATTR_COUNT (31U) + +/*! @name TCD_NBYTES_MLOFFNO - TCD Transfer Size Without Minor Loop Offsets */ +/*! @{ */ + +#define TCD_TCD_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU) +#define TCD_TCD_NBYTES_MLOFFNO_NBYTES_SHIFT (0U) +/*! NBYTES - Number of Bytes To Transfer Per Service Request */ +#define TCD_TCD_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_NBYTES_MLOFFNO_NBYTES_SHIFT)) & TCD_TCD_NBYTES_MLOFFNO_NBYTES_MASK) + +#define TCD_TCD_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U) +#define TCD_TCD_NBYTES_MLOFFNO_DMLOE_SHIFT (30U) +/*! DMLOE - Destination Minor Loop Offset Enable + * 0b0..Minor loop offset not applied to DADDR + * 0b1..Minor loop offset applied to DADDR + */ +#define TCD_TCD_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_NBYTES_MLOFFNO_DMLOE_SHIFT)) & TCD_TCD_NBYTES_MLOFFNO_DMLOE_MASK) + +#define TCD_TCD_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U) +#define TCD_TCD_NBYTES_MLOFFNO_SMLOE_SHIFT (31U) +/*! SMLOE - Source Minor Loop Offset Enable + * 0b0..Minor loop offset not applied to SADDR + * 0b1..Minor loop offset applied to SADDR + */ +#define TCD_TCD_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_NBYTES_MLOFFNO_SMLOE_SHIFT)) & TCD_TCD_NBYTES_MLOFFNO_SMLOE_MASK) +/*! @} */ + +/* The count of TCD_TCD_NBYTES_MLOFFNO */ +#define TCD_TCD_NBYTES_MLOFFNO_COUNT (31U) + +/*! @name TCD_NBYTES_MLOFFYES - TCD Transfer Size with Minor Loop Offsets */ +/*! @{ */ + +#define TCD_TCD_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU) +#define TCD_TCD_NBYTES_MLOFFYES_NBYTES_SHIFT (0U) +/*! NBYTES - Number of Bytes To Transfer Per Service Request */ +#define TCD_TCD_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_NBYTES_MLOFFYES_NBYTES_SHIFT)) & TCD_TCD_NBYTES_MLOFFYES_NBYTES_MASK) + +#define TCD_TCD_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U) +#define TCD_TCD_NBYTES_MLOFFYES_MLOFF_SHIFT (10U) +/*! MLOFF - Minor Loop Offset */ +#define TCD_TCD_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_NBYTES_MLOFFYES_MLOFF_SHIFT)) & TCD_TCD_NBYTES_MLOFFYES_MLOFF_MASK) + +#define TCD_TCD_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U) +#define TCD_TCD_NBYTES_MLOFFYES_DMLOE_SHIFT (30U) +/*! DMLOE - Destination Minor Loop Offset Enable + * 0b0..Minor loop offset not applied to DADDR + * 0b1..Minor loop offset applied to DADDR + */ +#define TCD_TCD_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_NBYTES_MLOFFYES_DMLOE_SHIFT)) & TCD_TCD_NBYTES_MLOFFYES_DMLOE_MASK) + +#define TCD_TCD_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U) +#define TCD_TCD_NBYTES_MLOFFYES_SMLOE_SHIFT (31U) +/*! SMLOE - Source Minor Loop Offset Enable + * 0b0..Minor loop offset not applied to SADDR + * 0b1..Minor loop offset applied to SADDR + */ +#define TCD_TCD_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_NBYTES_MLOFFYES_SMLOE_SHIFT)) & TCD_TCD_NBYTES_MLOFFYES_SMLOE_MASK) +/*! @} */ + +/* The count of TCD_TCD_NBYTES_MLOFFYES */ +#define TCD_TCD_NBYTES_MLOFFYES_COUNT (31U) + +/*! @name TCD_SLAST_SDA - TCD Last Source Address Adjustment / Store DADDR Address */ +/*! @{ */ + +#define TCD_TCD_SLAST_SDA_SLAST_SDA_MASK (0xFFFFFFFFU) +#define TCD_TCD_SLAST_SDA_SLAST_SDA_SHIFT (0U) +/*! SLAST_SDA - Last Source Address Adjustment / Store DADDR Address */ +#define TCD_TCD_SLAST_SDA_SLAST_SDA(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_SLAST_SDA_SLAST_SDA_SHIFT)) & TCD_TCD_SLAST_SDA_SLAST_SDA_MASK) +/*! @} */ + +/* The count of TCD_TCD_SLAST_SDA */ +#define TCD_TCD_SLAST_SDA_COUNT (31U) + +/*! @name TCD_DADDR - TCD Destination Address */ +/*! @{ */ + +#define TCD_TCD_DADDR_DADDR_MASK (0xFFFFFFFFU) +#define TCD_TCD_DADDR_DADDR_SHIFT (0U) +/*! DADDR - Destination Address */ +#define TCD_TCD_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_DADDR_DADDR_SHIFT)) & TCD_TCD_DADDR_DADDR_MASK) +/*! @} */ + +/* The count of TCD_TCD_DADDR */ +#define TCD_TCD_DADDR_COUNT (31U) + +/*! @name TCD_DOFF - TCD Signed Destination Address Offset */ +/*! @{ */ + +#define TCD_TCD_DOFF_DOFF_MASK (0xFFFFU) +#define TCD_TCD_DOFF_DOFF_SHIFT (0U) +/*! DOFF - Destination Address Signed Offset */ +#define TCD_TCD_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_DOFF_DOFF_SHIFT)) & TCD_TCD_DOFF_DOFF_MASK) +/*! @} */ + +/* The count of TCD_TCD_DOFF */ +#define TCD_TCD_DOFF_COUNT (31U) + +/*! @name TCD_CITER_ELINKNO - TCD Current Major Loop Count (Minor Loop Channel Linking Disabled) */ +/*! @{ */ + +#define TCD_TCD_CITER_ELINKNO_CITER_MASK (0x7FFFU) +#define TCD_TCD_CITER_ELINKNO_CITER_SHIFT (0U) +/*! CITER - Current Major Iteration Count */ +#define TCD_TCD_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CITER_ELINKNO_CITER_SHIFT)) & TCD_TCD_CITER_ELINKNO_CITER_MASK) + +#define TCD_TCD_CITER_ELINKNO_ELINK_MASK (0x8000U) +#define TCD_TCD_CITER_ELINKNO_ELINK_SHIFT (15U) +/*! ELINK - Enable Link + * 0b0..Channel-to-channel linking disabled + * 0b1..Channel-to-channel linking enabled + */ +#define TCD_TCD_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CITER_ELINKNO_ELINK_SHIFT)) & TCD_TCD_CITER_ELINKNO_ELINK_MASK) +/*! @} */ + +/* The count of TCD_TCD_CITER_ELINKNO */ +#define TCD_TCD_CITER_ELINKNO_COUNT (31U) + +/*! @name TCD_CITER_ELINKYES - TCD Current Major Loop Count (Minor Loop Channel Linking Enabled) */ +/*! @{ */ + +#define TCD_TCD_CITER_ELINKYES_CITER_MASK (0x1FFU) +#define TCD_TCD_CITER_ELINKYES_CITER_SHIFT (0U) +/*! CITER - Current Major Iteration Count */ +#define TCD_TCD_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CITER_ELINKYES_CITER_SHIFT)) & TCD_TCD_CITER_ELINKYES_CITER_MASK) + +#define TCD_TCD_CITER_ELINKYES_LINKCH_MASK (0x3E00U) +#define TCD_TCD_CITER_ELINKYES_LINKCH_SHIFT (9U) +/*! LINKCH - Minor Loop Link Channel Number */ +#define TCD_TCD_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CITER_ELINKYES_LINKCH_SHIFT)) & TCD_TCD_CITER_ELINKYES_LINKCH_MASK) + +#define TCD_TCD_CITER_ELINKYES_ELINK_MASK (0x8000U) +#define TCD_TCD_CITER_ELINKYES_ELINK_SHIFT (15U) +/*! ELINK - Enable Link + * 0b0..Channel-to-channel linking disabled + * 0b1..Channel-to-channel linking enabled + */ +#define TCD_TCD_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CITER_ELINKYES_ELINK_SHIFT)) & TCD_TCD_CITER_ELINKYES_ELINK_MASK) +/*! @} */ + +/* The count of TCD_TCD_CITER_ELINKYES */ +#define TCD_TCD_CITER_ELINKYES_COUNT (31U) + +/*! @name TCD_DLAST_SGA - TCD Last Destination Address Adjustment / Scatter Gather Address */ +/*! @{ */ + +#define TCD_TCD_DLAST_SGA_DLAST_SGA_MASK (0xFFFFFFFFU) +#define TCD_TCD_DLAST_SGA_DLAST_SGA_SHIFT (0U) +/*! DLAST_SGA - Last Destination Address Adjustment / Scatter Gather Address */ +#define TCD_TCD_DLAST_SGA_DLAST_SGA(x) (((uint32_t)(((uint32_t)(x)) << TCD_TCD_DLAST_SGA_DLAST_SGA_SHIFT)) & TCD_TCD_DLAST_SGA_DLAST_SGA_MASK) +/*! @} */ + +/* The count of TCD_TCD_DLAST_SGA */ +#define TCD_TCD_DLAST_SGA_COUNT (31U) + +/*! @name TCD_CSR - TCD Control and Status */ +/*! @{ */ + +#define TCD_TCD_CSR_START_MASK (0x1U) +#define TCD_TCD_CSR_START_SHIFT (0U) +/*! START - Channel Start + * 0b0..Channel not explicitly started + * 0b1..Channel explicitly started via a software-initiated service request + */ +#define TCD_TCD_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_START_SHIFT)) & TCD_TCD_CSR_START_MASK) + +#define TCD_TCD_CSR_INTMAJOR_MASK (0x2U) +#define TCD_TCD_CSR_INTMAJOR_SHIFT (1U) +/*! INTMAJOR - Enable Interrupt If Major count complete + * 0b0..End-of-major loop interrupt disabled + * 0b1..End-of-major loop interrupt enabled + */ +#define TCD_TCD_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_INTMAJOR_SHIFT)) & TCD_TCD_CSR_INTMAJOR_MASK) + +#define TCD_TCD_CSR_INTHALF_MASK (0x4U) +#define TCD_TCD_CSR_INTHALF_SHIFT (2U) +/*! INTHALF - Enable Interrupt If Major Counter Half-complete + * 0b0..Halfway point interrupt disabled + * 0b1..Halfway point interrupt enabled + */ +#define TCD_TCD_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_INTHALF_SHIFT)) & TCD_TCD_CSR_INTHALF_MASK) + +#define TCD_TCD_CSR_DREQ_MASK (0x8U) +#define TCD_TCD_CSR_DREQ_SHIFT (3U) +/*! DREQ - Disable Request + * 0b0..No operation + * 0b1..Clear the ERQ field to 0 upon major loop completion, thus disabling hardware service requests + */ +#define TCD_TCD_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_DREQ_SHIFT)) & TCD_TCD_CSR_DREQ_MASK) + +#define TCD_TCD_CSR_ESG_MASK (0x10U) +#define TCD_TCD_CSR_ESG_SHIFT (4U) +/*! ESG - Enable Scatter/Gather Processing + * 0b0..Current channel's TCD is normal format + * 0b1..Current channel's TCD specifies scatter/gather format. + */ +#define TCD_TCD_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_ESG_SHIFT)) & TCD_TCD_CSR_ESG_MASK) + +#define TCD_TCD_CSR_MAJORELINK_MASK (0x20U) +#define TCD_TCD_CSR_MAJORELINK_SHIFT (5U) +/*! MAJORELINK - Enable Link When Major Loop Complete + * 0b0..Channel-to-channel linking disabled + * 0b1..Channel-to-channel linking enabled + */ +#define TCD_TCD_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_MAJORELINK_SHIFT)) & TCD_TCD_CSR_MAJORELINK_MASK) + +#define TCD_TCD_CSR_EEOP_MASK (0x40U) +#define TCD_TCD_CSR_EEOP_SHIFT (6U) +/*! EEOP - Enable End-Of-Packet Processing + * 0b0..End-of-packet operation disabled + * 0b1..End-of-packet hardware input signal enabled + */ +#define TCD_TCD_CSR_EEOP(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_EEOP_SHIFT)) & TCD_TCD_CSR_EEOP_MASK) + +#define TCD_TCD_CSR_ESDA_MASK (0x80U) +#define TCD_TCD_CSR_ESDA_SHIFT (7U) +/*! ESDA - Enable Store Destination Address + * 0b0..Ability to store destination address to system memory disabled + * 0b1..Ability to store destination address to system memory enabled + */ +#define TCD_TCD_CSR_ESDA(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_ESDA_SHIFT)) & TCD_TCD_CSR_ESDA_MASK) + +#define TCD_TCD_CSR_MAJORLINKCH_MASK (0x1F00U) +#define TCD_TCD_CSR_MAJORLINKCH_SHIFT (8U) +/*! MAJORLINKCH - Major Loop Link Channel Number */ +#define TCD_TCD_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_MAJORLINKCH_SHIFT)) & TCD_TCD_CSR_MAJORLINKCH_MASK) + +#define TCD_TCD_CSR_BWC_MASK (0xC000U) +#define TCD_TCD_CSR_BWC_SHIFT (14U) +/*! BWC - Bandwidth Control + * 0b00..No eDMA engine stalls + * 0b01.. + * 0b10..eDMA engine stalls for 4 cycles after each R/W + * 0b11..eDMA engine stalls for 8 cycles after each R/W + */ +#define TCD_TCD_CSR_BWC(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_CSR_BWC_SHIFT)) & TCD_TCD_CSR_BWC_MASK) +/*! @} */ + +/* The count of TCD_TCD_CSR */ +#define TCD_TCD_CSR_COUNT (31U) + +/*! @name TCD_BITER_ELINKNO - TCD Beginning Major Loop Count (Minor Loop Channel Linking Disabled) */ +/*! @{ */ + +#define TCD_TCD_BITER_ELINKNO_BITER_MASK (0x7FFFU) +#define TCD_TCD_BITER_ELINKNO_BITER_SHIFT (0U) +/*! BITER - Starting Major Iteration Count */ +#define TCD_TCD_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_BITER_ELINKNO_BITER_SHIFT)) & TCD_TCD_BITER_ELINKNO_BITER_MASK) + +#define TCD_TCD_BITER_ELINKNO_ELINK_MASK (0x8000U) +#define TCD_TCD_BITER_ELINKNO_ELINK_SHIFT (15U) +/*! ELINK - Enables Link + * 0b0..Channel-to-channel linking disabled + * 0b1..Channel-to-channel linking enabled + */ +#define TCD_TCD_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_BITER_ELINKNO_ELINK_SHIFT)) & TCD_TCD_BITER_ELINKNO_ELINK_MASK) +/*! @} */ + +/* The count of TCD_TCD_BITER_ELINKNO */ +#define TCD_TCD_BITER_ELINKNO_COUNT (31U) + +/*! @name TCD_BITER_ELINKYES - TCD Beginning Major Loop Count (Minor Loop Channel Linking Enabled) */ +/*! @{ */ + +#define TCD_TCD_BITER_ELINKYES_BITER_MASK (0x1FFU) +#define TCD_TCD_BITER_ELINKYES_BITER_SHIFT (0U) +/*! BITER - Starting Major Iteration Count */ +#define TCD_TCD_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_BITER_ELINKYES_BITER_SHIFT)) & TCD_TCD_BITER_ELINKYES_BITER_MASK) + +#define TCD_TCD_BITER_ELINKYES_LINKCH_MASK (0x3E00U) +#define TCD_TCD_BITER_ELINKYES_LINKCH_SHIFT (9U) +/*! LINKCH - Link Channel Number */ +#define TCD_TCD_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_BITER_ELINKYES_LINKCH_SHIFT)) & TCD_TCD_BITER_ELINKYES_LINKCH_MASK) + +#define TCD_TCD_BITER_ELINKYES_ELINK_MASK (0x8000U) +#define TCD_TCD_BITER_ELINKYES_ELINK_SHIFT (15U) +/*! ELINK - Enable Link + * 0b0..Channel-to-channel linking disabled + * 0b1..Channel-to-channel linking enabled + */ +#define TCD_TCD_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << TCD_TCD_BITER_ELINKYES_ELINK_SHIFT)) & TCD_TCD_BITER_ELINKYES_ELINK_MASK) +/*! @} */ + +/* The count of TCD_TCD_BITER_ELINKYES */ +#define TCD_TCD_BITER_ELINKYES_COUNT (31U) + + +/*! + * @} + */ /* end of group TCD_Register_Masks */ + + +/* TCD - Peripheral instance base addresses */ +/** Peripheral EDMA3_1__TCD base address */ +#define EDMA3_1__TCD_BASE (0x44010000u) +/** Peripheral EDMA3_1__TCD base pointer */ +#define EDMA3_1__TCD ((TCD_Type *)EDMA3_1__TCD_BASE) +/** Array initializer of TCD peripheral base addresses */ +#define TCD_BASE_ADDRS { EDMA3_1__TCD_BASE } +/** Array initializer of TCD peripheral base pointers */ +#define TCD_BASE_PTRS { EDMA3_1__TCD } + +/*! + * @} + */ /* end of group TCD_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- TEMPSENSE Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TEMPSENSE_Peripheral_Access_Layer TEMPSENSE Peripheral Access Layer + * @{ + */ + +/** TEMPSENSE - Register Layout Typedef */ +typedef struct { + struct { /* offset: 0x0 */ + __IO uint32_t RW; /**< Control 0, offset: 0x0 */ + __IO uint32_t SET; /**< Control 0, offset: 0x4 */ + __IO uint32_t CLR; /**< Control 0, offset: 0x8 */ + __IO uint32_t TOG; /**< Control 0, offset: 0xC */ + } CTRL0; + struct { /* offset: 0x10 */ + __IO uint32_t RW; /**< Status 0, offset: 0x10 */ + __IO uint32_t SET; /**< Status 0, offset: 0x14 */ + __IO uint32_t CLR; /**< Status 0, offset: 0x18 */ + __IO uint32_t TOG; /**< Status 0, offset: 0x1C */ + } STAT0; + struct { /* offset: 0x20 */ + __IO uint32_t RW; /**< Data 0, offset: 0x20 */ + __IO uint32_t SET; /**< Data 0, offset: 0x24 */ + __IO uint32_t CLR; /**< Data 0, offset: 0x28 */ + __IO uint32_t TOG; /**< Data 0, offset: 0x2C */ + } DATA0; + struct { /* offset: 0x30 */ + __IO uint32_t RW; /**< Threshold Control 01, offset: 0x30 */ + __IO uint32_t SET; /**< Threshold Control 01, offset: 0x34 */ + __IO uint32_t CLR; /**< Threshold Control 01, offset: 0x38 */ + __IO uint32_t TOG; /**< Threshold Control 01, offset: 0x3C */ + } THR_CTRL01; + struct { /* offset: 0x40 */ + __IO uint32_t RW; /**< Threshold Control 23, offset: 0x40 */ + __IO uint32_t SET; /**< Threshold Control 23, offset: 0x44 */ + __IO uint32_t CLR; /**< Threshold Control 23, offset: 0x48 */ + __IO uint32_t TOG; /**< Threshold Control 23, offset: 0x4C */ + } THR_CTRL23; + uint8_t RESERVED_0[432]; + struct { /* offset: 0x200 */ + __IO uint32_t RW; /**< Control 1, offset: 0x200 */ + __IO uint32_t SET; /**< Control 1, offset: 0x204 */ + __IO uint32_t CLR; /**< Control 1, offset: 0x208 */ + __IO uint32_t TOG; /**< Control 1, offset: 0x20C */ + } CTRL1; + struct { /* offset: 0x210 */ + __IO uint32_t RW; /**< Status 1, offset: 0x210 */ + __IO uint32_t SET; /**< Status 1, offset: 0x214 */ + __IO uint32_t CLR; /**< Status 1, offset: 0x218 */ + __IO uint32_t TOG; /**< Status 1, offset: 0x21C */ + } STAT1; + struct { /* offset: 0x220 */ + __IO uint32_t RW; /**< Data 1, offset: 0x220 */ + __IO uint32_t SET; /**< Data 1, offset: 0x224 */ + __IO uint32_t CLR; /**< Data 1, offset: 0x228 */ + __IO uint32_t TOG; /**< Data 1, offset: 0x22C */ + } DATA1; + uint8_t RESERVED_1[32]; + struct { /* offset: 0x250 */ + __IO uint32_t RW; /**< Threshold Control 45, offset: 0x250 */ + __IO uint32_t SET; /**< Threshold Control 45, offset: 0x254 */ + __IO uint32_t CLR; /**< Threshold Control 45, offset: 0x258 */ + __IO uint32_t TOG; /**< Threshold Control 45, offset: 0x25C */ + } THR_CTRL45; + uint8_t RESERVED_2[16]; + struct { /* offset: 0x270 */ + __IO uint32_t RW; /**< Measurement Period Control, offset: 0x270 */ + __IO uint32_t SET; /**< Measurement Period Control, offset: 0x274 */ + __IO uint32_t CLR; /**< Measurement Period Control, offset: 0x278 */ + __IO uint32_t TOG; /**< Measurement Period Control, offset: 0x27C */ + } PERIOD_CTRL; + __IO uint32_t REF_DIV; /**< Reference Clock Divider Control, offset: 0x280 */ + uint8_t RESERVED_3[44]; + struct { /* offset: 0x2B0 */ + __IO uint32_t RW; /**< Power-Up Delay Control, offset: 0x2B0 */ + __IO uint32_t SET; /**< Power-Up Delay Control, offset: 0x2B4 */ + __IO uint32_t CLR; /**< Power-Up Delay Control, offset: 0x2B8 */ + __IO uint32_t TOG; /**< Power-Up Delay Control, offset: 0x2BC */ + } PUD_ST_CTRL; + uint8_t RESERVED_4[32]; + struct { /* offset: 0x2E0 */ + __IO uint32_t RW; /**< Trim Control 1, offset: 0x2E0 */ + __IO uint32_t SET; /**< Trim Control 1, offset: 0x2E4 */ + __IO uint32_t CLR; /**< Trim Control 1, offset: 0x2E8 */ + __IO uint32_t TOG; /**< Trim Control 1, offset: 0x2EC */ + } TRIM1; + struct { /* offset: 0x2F0 */ + __IO uint32_t RW; /**< Trim Control 2, offset: 0x2F0 */ + __IO uint32_t SET; /**< Trim Control 2, offset: 0x2F4 */ + __IO uint32_t CLR; /**< Trim Control 2, offset: 0x2F8 */ + __IO uint32_t TOG; /**< Trim Control 2, offset: 0x2FC */ + } TRIM2; +} TEMPSENSE_Type; + +/* ---------------------------------------------------------------------------- + -- TEMPSENSE Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TEMPSENSE_Register_Masks TEMPSENSE Register Masks + * @{ + */ + +/*! @name CTRL0 - Control 0 */ +/*! @{ */ + +#define TEMPSENSE_CTRL0_THR0_MODE_MASK (0x3U) +#define TEMPSENSE_CTRL0_THR0_MODE_SHIFT (0U) +/*! THR0_MODE - Threshold0 Comparator Mode + * 0b00..Less than or equal to threshold + * 0b01..Greater than threshold + * 0b10..High to low temperature data transition at threshold + * 0b11..Low to high temperature data transition at threshold + */ +#define TEMPSENSE_CTRL0_THR0_MODE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_THR0_MODE_SHIFT)) & TEMPSENSE_CTRL0_THR0_MODE_MASK) + +#define TEMPSENSE_CTRL0_THR1_MODE_MASK (0xCU) +#define TEMPSENSE_CTRL0_THR1_MODE_SHIFT (2U) +/*! THR1_MODE - Threshold1 Comparator Mode + * 0b00..Less than or equal to threshold + * 0b01..Greater than threshold + * 0b10..High to low temperature data transition at threshold + * 0b11..Low to high temperature data transition at threshold + */ +#define TEMPSENSE_CTRL0_THR1_MODE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_THR1_MODE_SHIFT)) & TEMPSENSE_CTRL0_THR1_MODE_MASK) + +#define TEMPSENSE_CTRL0_THR2_MODE_MASK (0x30U) +#define TEMPSENSE_CTRL0_THR2_MODE_SHIFT (4U) +/*! THR2_MODE - Threshold2 Comparator Mode + * 0b00..Less than or equal to threshold + * 0b01..Greater than threshold + * 0b10..High to low temperature data transition at threshold + * 0b11..Low to high temperature data transition at threshold + */ +#define TEMPSENSE_CTRL0_THR2_MODE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_THR2_MODE_SHIFT)) & TEMPSENSE_CTRL0_THR2_MODE_MASK) + +#define TEMPSENSE_CTRL0_THR0_IE_MASK (0x100U) +#define TEMPSENSE_CTRL0_THR0_IE_SHIFT (8U) +/*! THR0_IE - Threshold0 Comparator Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_CTRL0_THR0_IE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_THR0_IE_SHIFT)) & TEMPSENSE_CTRL0_THR0_IE_MASK) + +#define TEMPSENSE_CTRL0_THR1_IE_MASK (0x200U) +#define TEMPSENSE_CTRL0_THR1_IE_SHIFT (9U) +/*! THR1_IE - Threshold1 Comparator Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_CTRL0_THR1_IE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_THR1_IE_SHIFT)) & TEMPSENSE_CTRL0_THR1_IE_MASK) + +#define TEMPSENSE_CTRL0_THR2_IE_MASK (0x400U) +#define TEMPSENSE_CTRL0_THR2_IE_SHIFT (10U) +/*! THR2_IE - Threshold2 Comparator Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_CTRL0_THR2_IE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_THR2_IE_SHIFT)) & TEMPSENSE_CTRL0_THR2_IE_MASK) + +#define TEMPSENSE_CTRL0_N_FILT_0_MASK (0xF000U) +#define TEMPSENSE_CTRL0_N_FILT_0_SHIFT (12U) +/*! N_FILT_0 - Filter Length for Threshold Flag */ +#define TEMPSENSE_CTRL0_N_FILT_0(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_N_FILT_0_SHIFT)) & TEMPSENSE_CTRL0_N_FILT_0_MASK) + +#define TEMPSENSE_CTRL0_DRDY0_IE_MASK (0x10000U) +#define TEMPSENSE_CTRL0_DRDY0_IE_SHIFT (16U) +/*! DRDY0_IE - Data-Ready Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_CTRL0_DRDY0_IE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_DRDY0_IE_SHIFT)) & TEMPSENSE_CTRL0_DRDY0_IE_MASK) + +#define TEMPSENSE_CTRL0_FILT0_CNT_CLR_MASK (0x100000U) +#define TEMPSENSE_CTRL0_FILT0_CNT_CLR_SHIFT (20U) +/*! FILT0_CNT_CLR - Filter 0 Counter Clear + * 0b0..Settle to 0 after clearing the counter + * 0b1..Clear the internal counter + */ +#define TEMPSENSE_CTRL0_FILT0_CNT_CLR(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_FILT0_CNT_CLR_SHIFT)) & TEMPSENSE_CTRL0_FILT0_CNT_CLR_MASK) + +#define TEMPSENSE_CTRL0_FILT1_CNT_CLR_MASK (0x200000U) +#define TEMPSENSE_CTRL0_FILT1_CNT_CLR_SHIFT (21U) +/*! FILT1_CNT_CLR - Filter 1 Counter Clear + * 0b0..Settle to 0 after clearing the counter + * 0b1..Clear the internal counter + */ +#define TEMPSENSE_CTRL0_FILT1_CNT_CLR(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_FILT1_CNT_CLR_SHIFT)) & TEMPSENSE_CTRL0_FILT1_CNT_CLR_MASK) + +#define TEMPSENSE_CTRL0_FILT2_CNT_CLR_MASK (0x400000U) +#define TEMPSENSE_CTRL0_FILT2_CNT_CLR_SHIFT (22U) +/*! FILT2_CNT_CLR - Filter 2 Counter Clear + * 0b0..Settle to 0 after clearing the counter + * 0b1..Clear the internal counter + */ +#define TEMPSENSE_CTRL0_FILT2_CNT_CLR(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL0_FILT2_CNT_CLR_SHIFT)) & TEMPSENSE_CTRL0_FILT2_CNT_CLR_MASK) +/*! @} */ + +/*! @name STAT0 - Status 0 */ +/*! @{ */ + +#define TEMPSENSE_STAT0_THR0_IF_MASK (0x100U) +#define TEMPSENSE_STAT0_THR0_IF_SHIFT (8U) +/*! THR0_IF - Threshold0 Status Flag + * 0b0..Event did not occur + * 0b0..No effect + * 0b1..Event occurred + * 0b1..Clear the flag + */ +#define TEMPSENSE_STAT0_THR0_IF(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT0_THR0_IF_SHIFT)) & TEMPSENSE_STAT0_THR0_IF_MASK) + +#define TEMPSENSE_STAT0_THR1_IF_MASK (0x200U) +#define TEMPSENSE_STAT0_THR1_IF_SHIFT (9U) +/*! THR1_IF - Threshold1 Status Flag + * 0b0..Event did not occur + * 0b0..No effect + * 0b1..Event occurred + * 0b1..Clear the flag + */ +#define TEMPSENSE_STAT0_THR1_IF(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT0_THR1_IF_SHIFT)) & TEMPSENSE_STAT0_THR1_IF_MASK) + +#define TEMPSENSE_STAT0_THR2_IF_MASK (0x400U) +#define TEMPSENSE_STAT0_THR2_IF_SHIFT (10U) +/*! THR2_IF - Threshold2 Status Flag + * 0b0..Event did not occur + * 0b0..No effect + * 0b1..Event occurred + * 0b1..Clear the flag + */ +#define TEMPSENSE_STAT0_THR2_IF(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT0_THR2_IF_SHIFT)) & TEMPSENSE_STAT0_THR2_IF_MASK) + +#define TEMPSENSE_STAT0_THR0_STAT_MASK (0x1000U) +#define TEMPSENSE_STAT0_THR0_STAT_SHIFT (12U) +/*! THR0_STAT - Threshold0 State */ +#define TEMPSENSE_STAT0_THR0_STAT(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT0_THR0_STAT_SHIFT)) & TEMPSENSE_STAT0_THR0_STAT_MASK) + +#define TEMPSENSE_STAT0_THR1_STAT_MASK (0x2000U) +#define TEMPSENSE_STAT0_THR1_STAT_SHIFT (13U) +/*! THR1_STAT - Threshold1 State */ +#define TEMPSENSE_STAT0_THR1_STAT(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT0_THR1_STAT_SHIFT)) & TEMPSENSE_STAT0_THR1_STAT_MASK) + +#define TEMPSENSE_STAT0_THR2_STAT_MASK (0x4000U) +#define TEMPSENSE_STAT0_THR2_STAT_SHIFT (14U) +/*! THR2_STAT - Threshold2 State */ +#define TEMPSENSE_STAT0_THR2_STAT(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT0_THR2_STAT_SHIFT)) & TEMPSENSE_STAT0_THR2_STAT_MASK) + +#define TEMPSENSE_STAT0_DRDY0_IF_MASK (0x10000U) +#define TEMPSENSE_STAT0_DRDY0_IF_SHIFT (16U) +/*! DRDY0_IF - Data Ready Flag + * 0b0..No new data available + * 0b1..New data available + */ +#define TEMPSENSE_STAT0_DRDY0_IF(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT0_DRDY0_IF_SHIFT)) & TEMPSENSE_STAT0_DRDY0_IF_MASK) + +#define TEMPSENSE_STAT0_IDLE_MASK (0x80000000U) +#define TEMPSENSE_STAT0_IDLE_SHIFT (31U) +/*! IDLE - Idle State + * 0b0..Conversion + * 0b1..Idle + */ +#define TEMPSENSE_STAT0_IDLE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT0_IDLE_SHIFT)) & TEMPSENSE_STAT0_IDLE_MASK) +/*! @} */ + +/*! @name DATA0 - Data 0 */ +/*! @{ */ + +#define TEMPSENSE_DATA0_DATA_VAL_MASK (0xFFFFU) +#define TEMPSENSE_DATA0_DATA_VAL_SHIFT (0U) +/*! DATA_VAL - Temperature Data Value */ +#define TEMPSENSE_DATA0_DATA_VAL(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_DATA0_DATA_VAL_SHIFT)) & TEMPSENSE_DATA0_DATA_VAL_MASK) +/*! @} */ + +/*! @name THR_CTRL01 - Threshold Control 01 */ +/*! @{ */ + +#define TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD0_MASK (0xFFFFU) +#define TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD0_SHIFT (0U) +/*! TEMPERATURE_THRESHOLD0 - Temperature Threshold0 */ +#define TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD0(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD0_SHIFT)) & TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD0_MASK) + +#define TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD1_MASK (0xFFFF0000U) +#define TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD1_SHIFT (16U) +/*! TEMPERATURE_THRESHOLD1 - Temperature Threshold1 */ +#define TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD1(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD1_SHIFT)) & TEMPSENSE_THR_CTRL01_TEMPERATURE_THRESHOLD1_MASK) +/*! @} */ + +/*! @name THR_CTRL23 - Threshold Control 23 */ +/*! @{ */ + +#define TEMPSENSE_THR_CTRL23_TEMPERATURE_THRESHOLD2_MASK (0xFFFFU) +#define TEMPSENSE_THR_CTRL23_TEMPERATURE_THRESHOLD2_SHIFT (0U) +/*! TEMPERATURE_THRESHOLD2 - Temperature Threshold2 */ +#define TEMPSENSE_THR_CTRL23_TEMPERATURE_THRESHOLD2(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_THR_CTRL23_TEMPERATURE_THRESHOLD2_SHIFT)) & TEMPSENSE_THR_CTRL23_TEMPERATURE_THRESHOLD2_MASK) +/*! @} */ + +/*! @name CTRL1 - Control 1 */ +/*! @{ */ + +#define TEMPSENSE_CTRL1_THR4_MODE_MASK (0x3U) +#define TEMPSENSE_CTRL1_THR4_MODE_SHIFT (0U) +/*! THR4_MODE - Threshold4 Comparator Mode + * 0b00..Less than or equal to threshold + * 0b01..Greater than threshold + * 0b10..High to low temperature data transition at threshold + * 0b11..Low to high temperature data transition at threshold + */ +#define TEMPSENSE_CTRL1_THR4_MODE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_THR4_MODE_SHIFT)) & TEMPSENSE_CTRL1_THR4_MODE_MASK) + +#define TEMPSENSE_CTRL1_THR5_MODE_MASK (0xCU) +#define TEMPSENSE_CTRL1_THR5_MODE_SHIFT (2U) +/*! THR5_MODE - Threshold5 Comparator Mode + * 0b00..Less than or equal to threshold + * 0b01..Greater than threshold + * 0b10..High to low temperature data transition at threshold + * 0b11..Low to high temperature data transition at threshold + */ +#define TEMPSENSE_CTRL1_THR5_MODE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_THR5_MODE_SHIFT)) & TEMPSENSE_CTRL1_THR5_MODE_MASK) + +#define TEMPSENSE_CTRL1_THR4_IE_MASK (0x100U) +#define TEMPSENSE_CTRL1_THR4_IE_SHIFT (8U) +/*! THR4_IE - Threshold Comparator4 Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_CTRL1_THR4_IE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_THR4_IE_SHIFT)) & TEMPSENSE_CTRL1_THR4_IE_MASK) + +#define TEMPSENSE_CTRL1_THR5_IE_MASK (0x200U) +#define TEMPSENSE_CTRL1_THR5_IE_SHIFT (9U) +/*! THR5_IE - Threshold Comparator5 Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_CTRL1_THR5_IE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_THR5_IE_SHIFT)) & TEMPSENSE_CTRL1_THR5_IE_MASK) + +#define TEMPSENSE_CTRL1_N_FILT_1_MASK (0xF000U) +#define TEMPSENSE_CTRL1_N_FILT_1_SHIFT (12U) +/*! N_FILT_1 - Filter Length for Threshold Flag */ +#define TEMPSENSE_CTRL1_N_FILT_1(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_N_FILT_1_SHIFT)) & TEMPSENSE_CTRL1_N_FILT_1_MASK) + +#define TEMPSENSE_CTRL1_DRDY1_IE_MASK (0x10000U) +#define TEMPSENSE_CTRL1_DRDY1_IE_SHIFT (16U) +/*! DRDY1_IE - Data-Ready Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_CTRL1_DRDY1_IE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_DRDY1_IE_SHIFT)) & TEMPSENSE_CTRL1_DRDY1_IE_MASK) + +#define TEMPSENSE_CTRL1_RESOLUTION_MASK (0xC0000U) +#define TEMPSENSE_CTRL1_RESOLUTION_SHIFT (18U) +/*! RESOLUTION - Resolution Mode + * 0b00..0.59325 ms + * 0b01..1.10525 ms + * 0b10..2.12925 ms + * 0b11..4.17725 ms + */ +#define TEMPSENSE_CTRL1_RESOLUTION(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_RESOLUTION_SHIFT)) & TEMPSENSE_CTRL1_RESOLUTION_MASK) + +#define TEMPSENSE_CTRL1_FILT4_CNT_CLR_MASK (0x100000U) +#define TEMPSENSE_CTRL1_FILT4_CNT_CLR_SHIFT (20U) +/*! FILT4_CNT_CLR - Filter 4 Counter Clear + * 0b0..Settle to 0 after clearing the counter + * 0b1..Clear the internal counter + */ +#define TEMPSENSE_CTRL1_FILT4_CNT_CLR(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_FILT4_CNT_CLR_SHIFT)) & TEMPSENSE_CTRL1_FILT4_CNT_CLR_MASK) + +#define TEMPSENSE_CTRL1_FILT5_CNT_CLR_MASK (0x200000U) +#define TEMPSENSE_CTRL1_FILT5_CNT_CLR_SHIFT (21U) +/*! FILT5_CNT_CLR - Filter 5 Counter Clear + * 0b0..Settle to 0 after clearing the counter + * 0b1..Clear the internal counter + */ +#define TEMPSENSE_CTRL1_FILT5_CNT_CLR(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_FILT5_CNT_CLR_SHIFT)) & TEMPSENSE_CTRL1_FILT5_CNT_CLR_MASK) + +#define TEMPSENSE_CTRL1_MEAS_MODE_MASK (0x3000000U) +#define TEMPSENSE_CTRL1_MEAS_MODE_SHIFT (24U) +/*! MEAS_MODE - Measurement Mode + * 0b00..Single One-Shot Measurement + * 0b01..Continuous Measurement + * 0b10..Periodic One-Shot Measurement + * 0b11..Reserved + */ +#define TEMPSENSE_CTRL1_MEAS_MODE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_MEAS_MODE_SHIFT)) & TEMPSENSE_CTRL1_MEAS_MODE_MASK) + +#define TEMPSENSE_CTRL1_STOP_MASK (0x20000000U) +#define TEMPSENSE_CTRL1_STOP_SHIFT (29U) +/*! STOP - Stop Measurement + * 0b0..Clear after conversion is over + * 0b1..Stop the conversion + */ +#define TEMPSENSE_CTRL1_STOP(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_STOP_SHIFT)) & TEMPSENSE_CTRL1_STOP_MASK) + +#define TEMPSENSE_CTRL1_START_MASK (0x40000000U) +#define TEMPSENSE_CTRL1_START_SHIFT (30U) +/*! START - Start Measurement + * 0b0..No effect + * 0b1..Start the measurement + */ +#define TEMPSENSE_CTRL1_START(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_START_SHIFT)) & TEMPSENSE_CTRL1_START_MASK) + +#define TEMPSENSE_CTRL1_ENABLE_MASK (0x80000000U) +#define TEMPSENSE_CTRL1_ENABLE_SHIFT (31U) +/*! ENABLE - TEMPSENSE Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_CTRL1_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_CTRL1_ENABLE_SHIFT)) & TEMPSENSE_CTRL1_ENABLE_MASK) +/*! @} */ + +/*! @name STAT1 - Status 1 */ +/*! @{ */ + +#define TEMPSENSE_STAT1_THR4_IF_MASK (0x100U) +#define TEMPSENSE_STAT1_THR4_IF_SHIFT (8U) +/*! THR4_IF - Threshold4 Status Flag + * 0b0..Event did not occur + * 0b0..No effect + * 0b1..Event occurred + * 0b1..Clear the flag + */ +#define TEMPSENSE_STAT1_THR4_IF(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT1_THR4_IF_SHIFT)) & TEMPSENSE_STAT1_THR4_IF_MASK) + +#define TEMPSENSE_STAT1_THR5_IF_MASK (0x200U) +#define TEMPSENSE_STAT1_THR5_IF_SHIFT (9U) +/*! THR5_IF - Threshold5 Status Flag + * 0b0..Event did not occur + * 0b0..No effect + * 0b1..Event occurred + * 0b1..Clear the flag + */ +#define TEMPSENSE_STAT1_THR5_IF(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT1_THR5_IF_SHIFT)) & TEMPSENSE_STAT1_THR5_IF_MASK) + +#define TEMPSENSE_STAT1_THR4_STAT_MASK (0x1000U) +#define TEMPSENSE_STAT1_THR4_STAT_SHIFT (12U) +/*! THR4_STAT - Threshold4 State */ +#define TEMPSENSE_STAT1_THR4_STAT(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT1_THR4_STAT_SHIFT)) & TEMPSENSE_STAT1_THR4_STAT_MASK) + +#define TEMPSENSE_STAT1_THR5_STAT_MASK (0x2000U) +#define TEMPSENSE_STAT1_THR5_STAT_SHIFT (13U) +/*! THR5_STAT - Threshold5 State */ +#define TEMPSENSE_STAT1_THR5_STAT(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT1_THR5_STAT_SHIFT)) & TEMPSENSE_STAT1_THR5_STAT_MASK) + +#define TEMPSENSE_STAT1_DRDY1_IF_MASK (0x10000U) +#define TEMPSENSE_STAT1_DRDY1_IF_SHIFT (16U) +/*! DRDY1_IF - Data Ready Flag + * 0b0..No new data + * 0b1..New data + */ +#define TEMPSENSE_STAT1_DRDY1_IF(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT1_DRDY1_IF_SHIFT)) & TEMPSENSE_STAT1_DRDY1_IF_MASK) + +#define TEMPSENSE_STAT1_IDLE_MASK (0x80000000U) +#define TEMPSENSE_STAT1_IDLE_SHIFT (31U) +/*! IDLE - Idle State + * 0b0..Conversion + * 0b1..Idle + */ +#define TEMPSENSE_STAT1_IDLE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_STAT1_IDLE_SHIFT)) & TEMPSENSE_STAT1_IDLE_MASK) +/*! @} */ + +/*! @name DATA1 - Data 1 */ +/*! @{ */ + +#define TEMPSENSE_DATA1_DATA_VAL_MASK (0xFFFFU) +#define TEMPSENSE_DATA1_DATA_VAL_SHIFT (0U) +/*! DATA_VAL - Temperature Data Value */ +#define TEMPSENSE_DATA1_DATA_VAL(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_DATA1_DATA_VAL_SHIFT)) & TEMPSENSE_DATA1_DATA_VAL_MASK) +/*! @} */ + +/*! @name THR_CTRL45 - Threshold Control 45 */ +/*! @{ */ + +#define TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD4_MASK (0xFFFFU) +#define TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD4_SHIFT (0U) +/*! TEMPERATURE_THRESHOLD4 - Temperature Threshold4 */ +#define TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD4(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD4_SHIFT)) & TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD4_MASK) + +#define TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD5_MASK (0xFFFF0000U) +#define TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD5_SHIFT (16U) +/*! TEMPERATURE_THRESHOLD5 - Temperature Threshold5 */ +#define TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD5(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD5_SHIFT)) & TEMPSENSE_THR_CTRL45_TEMPERATURE_THRESHOLD5_MASK) +/*! @} */ + +/*! @name PERIOD_CTRL - Measurement Period Control */ +/*! @{ */ + +#define TEMPSENSE_PERIOD_CTRL_MEAS_FREQ_MASK (0xFFFFFFU) +#define TEMPSENSE_PERIOD_CTRL_MEAS_FREQ_SHIFT (0U) +/*! MEAS_FREQ - TEMPSENSE Periodic Measurement Frequency */ +#define TEMPSENSE_PERIOD_CTRL_MEAS_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_PERIOD_CTRL_MEAS_FREQ_SHIFT)) & TEMPSENSE_PERIOD_CTRL_MEAS_FREQ_MASK) +/*! @} */ + +/*! @name REF_DIV - Reference Clock Divider Control */ +/*! @{ */ + +#define TEMPSENSE_REF_DIV_DIV_MASK (0xFF0000U) +#define TEMPSENSE_REF_DIV_DIV_SHIFT (16U) +/*! DIV - Divider Value + * 0b00000000..Output clock frequency = input clock frequency + * 0b00000001..Output clock frequency = input clock frequency / 2 + * 0b00000010..Output clock frequency = input clock frequency / 3 + * 0b00000011..... + * 0b11111111..Output clock frequency = input clock frequency / 256 + */ +#define TEMPSENSE_REF_DIV_DIV(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_REF_DIV_DIV_SHIFT)) & TEMPSENSE_REF_DIV_DIV_MASK) + +#define TEMPSENSE_REF_DIV_DE_MASK (0x80000000U) +#define TEMPSENSE_REF_DIV_DE_SHIFT (31U) +/*! DE - Divider Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TEMPSENSE_REF_DIV_DE(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_REF_DIV_DE_SHIFT)) & TEMPSENSE_REF_DIV_DE_MASK) +/*! @} */ + +/*! @name PUD_ST_CTRL - Power-Up Delay Control */ +/*! @{ */ + +#define TEMPSENSE_PUD_ST_CTRL_PUD_MASK (0xFF0000U) +#define TEMPSENSE_PUD_ST_CTRL_PUD_SHIFT (16U) +/*! PUD - Power-Up Delay */ +#define TEMPSENSE_PUD_ST_CTRL_PUD(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_PUD_ST_CTRL_PUD_SHIFT)) & TEMPSENSE_PUD_ST_CTRL_PUD_MASK) +/*! @} */ + +/*! @name TRIM1 - Trim Control 1 */ +/*! @{ */ + +#define TEMPSENSE_TRIM1_VAL_A_MASK (0xFFFFU) +#define TEMPSENSE_TRIM1_VAL_A_SHIFT (0U) +/*! VAL_A - VAL_A */ +#define TEMPSENSE_TRIM1_VAL_A(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_TRIM1_VAL_A_SHIFT)) & TEMPSENSE_TRIM1_VAL_A_MASK) + +#define TEMPSENSE_TRIM1_VAL_B_MASK (0xFFFF0000U) +#define TEMPSENSE_TRIM1_VAL_B_SHIFT (16U) +/*! VAL_B - VAL_B */ +#define TEMPSENSE_TRIM1_VAL_B(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_TRIM1_VAL_B_SHIFT)) & TEMPSENSE_TRIM1_VAL_B_MASK) +/*! @} */ + +/*! @name TRIM2 - Trim Control 2 */ +/*! @{ */ + +#define TEMPSENSE_TRIM2_VAL_ALPHA_MASK (0xFFFFU) +#define TEMPSENSE_TRIM2_VAL_ALPHA_SHIFT (0U) +/*! VAL_ALPHA - VAL_ALPHA */ +#define TEMPSENSE_TRIM2_VAL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_TRIM2_VAL_ALPHA_SHIFT)) & TEMPSENSE_TRIM2_VAL_ALPHA_MASK) + +#define TEMPSENSE_TRIM2_VAL_OFFSET_MASK (0xFFFF0000U) +#define TEMPSENSE_TRIM2_VAL_OFFSET_SHIFT (16U) +/*! VAL_OFFSET - VAL_OFFSET */ +#define TEMPSENSE_TRIM2_VAL_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << TEMPSENSE_TRIM2_VAL_OFFSET_SHIFT)) & TEMPSENSE_TRIM2_VAL_OFFSET_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group TEMPSENSE_Register_Masks */ + + +/* TEMPSENSE - Peripheral instance base addresses */ +/** Peripheral U_TEMP_ANAMIX base address */ +#define U_TEMP_ANAMIX_BASE (0x44482000u) +/** Peripheral U_TEMP_ANAMIX base pointer */ +#define U_TEMP_ANAMIX ((TEMPSENSE_Type *)U_TEMP_ANAMIX_BASE) +/** Array initializer of TEMPSENSE peripheral base addresses */ +#define TEMPSENSE_BASE_ADDRS { U_TEMP_ANAMIX_BASE } +/** Array initializer of TEMPSENSE peripheral base pointers */ +#define TEMPSENSE_BASE_PTRS { U_TEMP_ANAMIX } + +/*! + * @} + */ /* end of group TEMPSENSE_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- TPM Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TPM_Peripheral_Access_Layer TPM Peripheral Access Layer + * @{ + */ + +/** TPM - Register Layout Typedef */ +typedef struct { + __I uint32_t VERID; /**< Version ID, offset: 0x0 */ + __I uint32_t PARAM; /**< Parameter, offset: 0x4 */ + __IO uint32_t GLOBAL; /**< TPM Global, offset: 0x8 */ + uint8_t RESERVED_0[4]; + __IO uint32_t SC; /**< Status and Control, offset: 0x10 */ + __IO uint32_t CNT; /**< Counter, offset: 0x14 */ + __IO uint32_t MOD; /**< Modulo, offset: 0x18 */ + __IO uint32_t STATUS; /**< Capture and Compare Status, offset: 0x1C */ + struct { /* offset: 0x20, array step: 0x8 */ + __IO uint32_t CnSC; /**< Channel n Status and Control, array offset: 0x20, array step: 0x8 */ + __IO uint32_t CnV; /**< Channel n Value, array offset: 0x24, array step: 0x8 */ + } CONTROLS[4]; + uint8_t RESERVED_1[36]; + __IO uint32_t COMBINE; /**< Combine Channel, offset: 0x64 */ + uint8_t RESERVED_2[4]; + __IO uint32_t TRIG; /**< Channel Trigger, offset: 0x6C */ + __IO uint32_t POL; /**< Channel Polarity, offset: 0x70 */ + uint8_t RESERVED_3[4]; + __IO uint32_t FILTER; /**< Filter Control, offset: 0x78 */ + uint8_t RESERVED_4[4]; + __IO uint32_t QDCTRL; /**< Quadrature Decoder Control and Status, offset: 0x80 */ + __IO uint32_t CONF; /**< Configuration, offset: 0x84 */ +} TPM_Type; + +/* ---------------------------------------------------------------------------- + -- TPM Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TPM_Register_Masks TPM Register Masks + * @{ + */ + +/*! @name VERID - Version ID */ +/*! @{ */ + +#define TPM_VERID_FEATURE_MASK (0xFFFFU) +#define TPM_VERID_FEATURE_SHIFT (0U) +/*! FEATURE - Feature Identification Number + * 0b0000000000000001..Standard feature set + * 0b0000000000000011..Standard feature set with the filter and combine registers implemented + * 0b0000000000000101..Standard feature set with the quadrature register implemented + * 0b0000000000000111..Standard feature set with the filter, combine, and quadrature registers implemented + */ +#define TPM_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_FEATURE_SHIFT)) & TPM_VERID_FEATURE_MASK) + +#define TPM_VERID_MINOR_MASK (0xFF0000U) +#define TPM_VERID_MINOR_SHIFT (16U) +/*! MINOR - Minor Version Number */ +#define TPM_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_MINOR_SHIFT)) & TPM_VERID_MINOR_MASK) + +#define TPM_VERID_MAJOR_MASK (0xFF000000U) +#define TPM_VERID_MAJOR_SHIFT (24U) +/*! MAJOR - Major Version Number */ +#define TPM_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_MAJOR_SHIFT)) & TPM_VERID_MAJOR_MASK) +/*! @} */ + +/*! @name PARAM - Parameter */ +/*! @{ */ + +#define TPM_PARAM_CHAN_MASK (0xFFU) +#define TPM_PARAM_CHAN_SHIFT (0U) +/*! CHAN - Channel Count */ +#define TPM_PARAM_CHAN(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_CHAN_SHIFT)) & TPM_PARAM_CHAN_MASK) + +#define TPM_PARAM_TRIG_MASK (0xFF00U) +#define TPM_PARAM_TRIG_SHIFT (8U) +/*! TRIG - Trigger Count */ +#define TPM_PARAM_TRIG(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_TRIG_SHIFT)) & TPM_PARAM_TRIG_MASK) + +#define TPM_PARAM_WIDTH_MASK (0xFF0000U) +#define TPM_PARAM_WIDTH_SHIFT (16U) +/*! WIDTH - Counter Width */ +#define TPM_PARAM_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_WIDTH_SHIFT)) & TPM_PARAM_WIDTH_MASK) +/*! @} */ + +/*! @name GLOBAL - TPM Global */ +/*! @{ */ + +#define TPM_GLOBAL_NOUPDATE_MASK (0x1U) +#define TPM_GLOBAL_NOUPDATE_SHIFT (0U) +/*! NOUPDATE - No Update + * 0b0..Internal double-buffered registers update as normal + * 0b1..Internal double-buffered registers do not update + */ +#define TPM_GLOBAL_NOUPDATE(x) (((uint32_t)(((uint32_t)(x)) << TPM_GLOBAL_NOUPDATE_SHIFT)) & TPM_GLOBAL_NOUPDATE_MASK) + +#define TPM_GLOBAL_RST_MASK (0x2U) +#define TPM_GLOBAL_RST_SHIFT (1U) +/*! RST - Software Reset + * 0b0..Module is not reset + * 0b1..Module is reset + */ +#define TPM_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << TPM_GLOBAL_RST_SHIFT)) & TPM_GLOBAL_RST_MASK) +/*! @} */ + +/*! @name SC - Status and Control */ +/*! @{ */ + +#define TPM_SC_PS_MASK (0x7U) +#define TPM_SC_PS_SHIFT (0U) +/*! PS - Prescale Factor Selection + * 0b000..Divide by 1 + * 0b001..Divide by 2 + * 0b010..Divide by 4 + * 0b011..Divide by 8 + * 0b100..Divide by 16 + * 0b101..Divide by 32 + * 0b110..Divide by 64 + * 0b111..Divide by 128 + */ +#define TPM_SC_PS(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_PS_SHIFT)) & TPM_SC_PS_MASK) + +#define TPM_SC_CMOD_MASK (0x18U) +#define TPM_SC_CMOD_SHIFT (3U) +/*! CMOD - Clock Mode Selection + * 0b00..TPM counter is disabled + * 0b01..TPM counter increments on every TPM counter clock + * 0b10..TPM counter increments on the rising edge of EXTCLK synchronized to the TPM counter clock + * 0b11..TPM counter increments on the rising edge of the selected external input trigger + */ +#define TPM_SC_CMOD(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_CMOD_SHIFT)) & TPM_SC_CMOD_MASK) + +#define TPM_SC_CPWMS_MASK (0x20U) +#define TPM_SC_CPWMS_SHIFT (5U) +/*! CPWMS - Center-Aligned PWM Select + * 0b0..Up counting mode + * 0b1..Up-down counting mode + */ +#define TPM_SC_CPWMS(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_CPWMS_SHIFT)) & TPM_SC_CPWMS_MASK) + +#define TPM_SC_TOIE_MASK (0x40U) +#define TPM_SC_TOIE_SHIFT (6U) +/*! TOIE - Timer Overflow Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TPM_SC_TOIE(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_TOIE_SHIFT)) & TPM_SC_TOIE_MASK) + +#define TPM_SC_TOF_MASK (0x80U) +#define TPM_SC_TOF_SHIFT (7U) +/*! TOF - Timer Overflow Flag + * 0b0..No overflow + * 0b1..Overflow + */ +#define TPM_SC_TOF(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_TOF_SHIFT)) & TPM_SC_TOF_MASK) + +#define TPM_SC_DMA_MASK (0x100U) +#define TPM_SC_DMA_SHIFT (8U) +/*! DMA - DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TPM_SC_DMA(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_DMA_SHIFT)) & TPM_SC_DMA_MASK) +/*! @} */ + +/*! @name CNT - Counter */ +/*! @{ */ + +#define TPM_CNT_COUNT_MASK (0xFFFFFFFFU) +#define TPM_CNT_COUNT_SHIFT (0U) +/*! COUNT - Counter Value */ +#define TPM_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CNT_COUNT_SHIFT)) & TPM_CNT_COUNT_MASK) +/*! @} */ + +/*! @name MOD - Modulo */ +/*! @{ */ + +#define TPM_MOD_MOD_MASK (0xFFFFFFFFU) +#define TPM_MOD_MOD_SHIFT (0U) +/*! MOD - Modulo Value */ +#define TPM_MOD_MOD(x) (((uint32_t)(((uint32_t)(x)) << TPM_MOD_MOD_SHIFT)) & TPM_MOD_MOD_MASK) +/*! @} */ + +/*! @name STATUS - Capture and Compare Status */ +/*! @{ */ + +#define TPM_STATUS_CH0F_MASK (0x1U) +#define TPM_STATUS_CH0F_SHIFT (0U) +/*! CH0F - Channel 0 Flag + * 0b0..Event not occurred + * 0b1..Event occurred + */ +#define TPM_STATUS_CH0F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH0F_SHIFT)) & TPM_STATUS_CH0F_MASK) + +#define TPM_STATUS_CH1F_MASK (0x2U) +#define TPM_STATUS_CH1F_SHIFT (1U) +/*! CH1F - Channel 1 Flag + * 0b0..Event not occurred + * 0b1..Event occurred + */ +#define TPM_STATUS_CH1F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH1F_SHIFT)) & TPM_STATUS_CH1F_MASK) + +#define TPM_STATUS_CH2F_MASK (0x4U) +#define TPM_STATUS_CH2F_SHIFT (2U) +/*! CH2F - Channel 2 Flag + * 0b0..Event not occurred + * 0b1..Event occurred + */ +#define TPM_STATUS_CH2F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH2F_SHIFT)) & TPM_STATUS_CH2F_MASK) + +#define TPM_STATUS_CH3F_MASK (0x8U) +#define TPM_STATUS_CH3F_SHIFT (3U) +/*! CH3F - Channel 3 Flag + * 0b0..Event not occurred + * 0b1..Event occurred + */ +#define TPM_STATUS_CH3F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH3F_SHIFT)) & TPM_STATUS_CH3F_MASK) + +#define TPM_STATUS_TOF_MASK (0x100U) +#define TPM_STATUS_TOF_SHIFT (8U) +/*! TOF - Timer Overflow Flag + * 0b0..No overflow + * 0b1..Overflow + */ +#define TPM_STATUS_TOF(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_TOF_SHIFT)) & TPM_STATUS_TOF_MASK) +/*! @} */ + +/*! @name CnSC - Channel n Status and Control */ +/*! @{ */ + +#define TPM_CnSC_DMA_MASK (0x1U) +#define TPM_CnSC_DMA_SHIFT (0U) +/*! DMA - DMA Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TPM_CnSC_DMA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_DMA_SHIFT)) & TPM_CnSC_DMA_MASK) + +#define TPM_CnSC_ELSA_MASK (0x4U) +#define TPM_CnSC_ELSA_SHIFT (2U) +/*! ELSA - Edge or Level Select A */ +#define TPM_CnSC_ELSA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_ELSA_SHIFT)) & TPM_CnSC_ELSA_MASK) + +#define TPM_CnSC_ELSB_MASK (0x8U) +#define TPM_CnSC_ELSB_SHIFT (3U) +/*! ELSB - Edge or Level Select B */ +#define TPM_CnSC_ELSB(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_ELSB_SHIFT)) & TPM_CnSC_ELSB_MASK) + +#define TPM_CnSC_MSA_MASK (0x10U) +#define TPM_CnSC_MSA_SHIFT (4U) +/*! MSA - Channel Mode Select A */ +#define TPM_CnSC_MSA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_MSA_SHIFT)) & TPM_CnSC_MSA_MASK) + +#define TPM_CnSC_MSB_MASK (0x20U) +#define TPM_CnSC_MSB_SHIFT (5U) +/*! MSB - Channel Mode Select B */ +#define TPM_CnSC_MSB(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_MSB_SHIFT)) & TPM_CnSC_MSB_MASK) + +#define TPM_CnSC_CHIE_MASK (0x40U) +#define TPM_CnSC_CHIE_SHIFT (6U) +/*! CHIE - Channel Interrupt Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TPM_CnSC_CHIE(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_CHIE_SHIFT)) & TPM_CnSC_CHIE_MASK) + +#define TPM_CnSC_CHF_MASK (0x80U) +#define TPM_CnSC_CHF_SHIFT (7U) +/*! CHF - Channel Flag + * 0b0..Event not occurred + * 0b1..Event occurred + */ +#define TPM_CnSC_CHF(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_CHF_SHIFT)) & TPM_CnSC_CHF_MASK) +/*! @} */ + +/* The count of TPM_CnSC */ +#define TPM_CnSC_COUNT (4U) + +/*! @name CnV - Channel n Value */ +/*! @{ */ + +#define TPM_CnV_VAL_MASK (0xFFFFFFFFU) +#define TPM_CnV_VAL_SHIFT (0U) +/*! VAL - Channel Value */ +#define TPM_CnV_VAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnV_VAL_SHIFT)) & TPM_CnV_VAL_MASK) +/*! @} */ + +/* The count of TPM_CnV */ +#define TPM_CnV_COUNT (4U) + +/*! @name COMBINE - Combine Channel */ +/*! @{ */ + +#define TPM_COMBINE_COMBINE0_MASK (0x1U) +#define TPM_COMBINE_COMBINE0_SHIFT (0U) +/*! COMBINE0 - Combine Channels 0 and 1 + * 0b0..Independent + * 0b1..Combined + */ +#define TPM_COMBINE_COMBINE0(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMBINE0_SHIFT)) & TPM_COMBINE_COMBINE0_MASK) + +#define TPM_COMBINE_COMSWAP0_MASK (0x2U) +#define TPM_COMBINE_COMSWAP0_SHIFT (1U) +/*! COMSWAP0 - Combine Channel 0 and 1 Swap + * 0b0..Even channel + * 0b1..Odd channel + */ +#define TPM_COMBINE_COMSWAP0(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMSWAP0_SHIFT)) & TPM_COMBINE_COMSWAP0_MASK) + +#define TPM_COMBINE_COMBINE1_MASK (0x100U) +#define TPM_COMBINE_COMBINE1_SHIFT (8U) +/*! COMBINE1 - Combine Channels 2 and 3 + * 0b0..Independent + * 0b1..Combined + */ +#define TPM_COMBINE_COMBINE1(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMBINE1_SHIFT)) & TPM_COMBINE_COMBINE1_MASK) + +#define TPM_COMBINE_COMSWAP1_MASK (0x200U) +#define TPM_COMBINE_COMSWAP1_SHIFT (9U) +/*! COMSWAP1 - Combine Channels 2 and 3 Swap + * 0b0..Even channel + * 0b1..Odd channel + */ +#define TPM_COMBINE_COMSWAP1(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMSWAP1_SHIFT)) & TPM_COMBINE_COMSWAP1_MASK) +/*! @} */ + +/*! @name TRIG - Channel Trigger */ +/*! @{ */ + +#define TPM_TRIG_TRIG0_MASK (0x1U) +#define TPM_TRIG_TRIG0_SHIFT (0U) +/*! TRIG0 - Channel 0 Trigger + * 0b0..No effect + * 0b1..Configures trigger input 0 to be used by channel 0 + */ +#define TPM_TRIG_TRIG0(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG0_SHIFT)) & TPM_TRIG_TRIG0_MASK) + +#define TPM_TRIG_TRIG1_MASK (0x2U) +#define TPM_TRIG_TRIG1_SHIFT (1U) +/*! TRIG1 - Channel 1 Trigger + * 0b0..No effect + * 0b1..Configures trigger input 1 to be used by channel 1 + */ +#define TPM_TRIG_TRIG1(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG1_SHIFT)) & TPM_TRIG_TRIG1_MASK) + +#define TPM_TRIG_TRIG2_MASK (0x4U) +#define TPM_TRIG_TRIG2_SHIFT (2U) +/*! TRIG2 - Channel 2 Trigger + * 0b0..No effect + * 0b1..Configures trigger input 0 to be used by channel 2 + */ +#define TPM_TRIG_TRIG2(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG2_SHIFT)) & TPM_TRIG_TRIG2_MASK) + +#define TPM_TRIG_TRIG3_MASK (0x8U) +#define TPM_TRIG_TRIG3_SHIFT (3U) +/*! TRIG3 - Channel 3 Trigger + * 0b0..No effect + * 0b1..Configures trigger input 1 to be used by channel 3 + */ +#define TPM_TRIG_TRIG3(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG3_SHIFT)) & TPM_TRIG_TRIG3_MASK) +/*! @} */ + +/*! @name POL - Channel Polarity */ +/*! @{ */ + +#define TPM_POL_POL0_MASK (0x1U) +#define TPM_POL_POL0_SHIFT (0U) +/*! POL0 - Channel 0 Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define TPM_POL_POL0(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL0_SHIFT)) & TPM_POL_POL0_MASK) + +#define TPM_POL_POL1_MASK (0x2U) +#define TPM_POL_POL1_SHIFT (1U) +/*! POL1 - Channel 1 Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define TPM_POL_POL1(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL1_SHIFT)) & TPM_POL_POL1_MASK) + +#define TPM_POL_POL2_MASK (0x4U) +#define TPM_POL_POL2_SHIFT (2U) +/*! POL2 - Channel 2 Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define TPM_POL_POL2(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL2_SHIFT)) & TPM_POL_POL2_MASK) + +#define TPM_POL_POL3_MASK (0x8U) +#define TPM_POL_POL3_SHIFT (3U) +/*! POL3 - Channel 3 Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define TPM_POL_POL3(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL3_SHIFT)) & TPM_POL_POL3_MASK) +/*! @} */ + +/*! @name FILTER - Filter Control */ +/*! @{ */ + +#define TPM_FILTER_CH0FVAL_MASK (0xFU) +#define TPM_FILTER_CH0FVAL_SHIFT (0U) +/*! CH0FVAL - Channel 0 Filter Value */ +#define TPM_FILTER_CH0FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH0FVAL_SHIFT)) & TPM_FILTER_CH0FVAL_MASK) + +#define TPM_FILTER_CH1FVAL_MASK (0xF0U) +#define TPM_FILTER_CH1FVAL_SHIFT (4U) +/*! CH1FVAL - Channel 1 Filter Value */ +#define TPM_FILTER_CH1FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH1FVAL_SHIFT)) & TPM_FILTER_CH1FVAL_MASK) + +#define TPM_FILTER_CH2FVAL_MASK (0xF00U) +#define TPM_FILTER_CH2FVAL_SHIFT (8U) +/*! CH2FVAL - Channel 2 Filter Value */ +#define TPM_FILTER_CH2FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH2FVAL_SHIFT)) & TPM_FILTER_CH2FVAL_MASK) + +#define TPM_FILTER_CH3FVAL_MASK (0xF000U) +#define TPM_FILTER_CH3FVAL_SHIFT (12U) +/*! CH3FVAL - Channel 3 Filter Value */ +#define TPM_FILTER_CH3FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH3FVAL_SHIFT)) & TPM_FILTER_CH3FVAL_MASK) +/*! @} */ + +/*! @name QDCTRL - Quadrature Decoder Control and Status */ +/*! @{ */ + +#define TPM_QDCTRL_QUADEN_MASK (0x1U) +#define TPM_QDCTRL_QUADEN_SHIFT (0U) +/*! QUADEN - Quadrature Decoder Enable + * 0b0..Disable + * 0b1..Enable + */ +#define TPM_QDCTRL_QUADEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADEN_SHIFT)) & TPM_QDCTRL_QUADEN_MASK) + +#define TPM_QDCTRL_TOFDIR_MASK (0x2U) +#define TPM_QDCTRL_TOFDIR_SHIFT (1U) +/*! TOFDIR - Timer Overflow Direction + * 0b0..Bottom of counting + * 0b1..Top of counting + */ +#define TPM_QDCTRL_TOFDIR(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_TOFDIR_SHIFT)) & TPM_QDCTRL_TOFDIR_MASK) + +#define TPM_QDCTRL_QUADIR_MASK (0x4U) +#define TPM_QDCTRL_QUADIR_SHIFT (2U) +/*! QUADIR - Counter Direction in Quadrature Decode Mode + * 0b0..Decreasing (counter decrement) + * 0b1..Increasing (counter increment) + */ +#define TPM_QDCTRL_QUADIR(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADIR_SHIFT)) & TPM_QDCTRL_QUADIR_MASK) + +#define TPM_QDCTRL_QUADMODE_MASK (0x8U) +#define TPM_QDCTRL_QUADMODE_SHIFT (3U) +/*! QUADMODE - Quadrature Decoder Mode + * 0b0..Phase encoding mode + * 0b1..Count and direction encoding mode + */ +#define TPM_QDCTRL_QUADMODE(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADMODE_SHIFT)) & TPM_QDCTRL_QUADMODE_MASK) +/*! @} */ + +/*! @name CONF - Configuration */ +/*! @{ */ + +#define TPM_CONF_DOZEEN_MASK (0x20U) +#define TPM_CONF_DOZEEN_SHIFT (5U) +/*! DOZEEN - Doze Enable + * 0b0..TPM counter continues + * 0b1..TPM counter pauses + */ +#define TPM_CONF_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_DOZEEN_SHIFT)) & TPM_CONF_DOZEEN_MASK) + +#define TPM_CONF_DBGMODE_MASK (0xC0U) +#define TPM_CONF_DBGMODE_SHIFT (6U) +/*! DBGMODE - Debug Mode + * 0b00..TPM counter pauses + * 0b11..TPM counter continues + */ +#define TPM_CONF_DBGMODE(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_DBGMODE_SHIFT)) & TPM_CONF_DBGMODE_MASK) + +#define TPM_CONF_GTBSYNC_MASK (0x100U) +#define TPM_CONF_GTBSYNC_SHIFT (8U) +/*! GTBSYNC - GTB Synchronization + * 0b0..Disable + * 0b1..Enable + */ +#define TPM_CONF_GTBSYNC(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_GTBSYNC_SHIFT)) & TPM_CONF_GTBSYNC_MASK) + +#define TPM_CONF_GTBEEN_MASK (0x200U) +#define TPM_CONF_GTBEEN_SHIFT (9U) +/*! GTBEEN - GTB Enable + * 0b0..Internally generated TPM counter + * 0b1..Externally generated GTB counter + */ +#define TPM_CONF_GTBEEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_GTBEEN_SHIFT)) & TPM_CONF_GTBEEN_MASK) + +#define TPM_CONF_CSOT_MASK (0x10000U) +#define TPM_CONF_CSOT_SHIFT (16U) +/*! CSOT - Counter Start on Trigger + * 0b0..Counter starts immediately + * 0b1..Counter starts after detection of a rising edge on the selected input trigger + */ +#define TPM_CONF_CSOT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CSOT_SHIFT)) & TPM_CONF_CSOT_MASK) + +#define TPM_CONF_CSOO_MASK (0x20000U) +#define TPM_CONF_CSOO_SHIFT (17U) +/*! CSOO - Counter Stop on Overflow + * 0b0..TPM counter continues + * 0b1..TPM counter stops + */ +#define TPM_CONF_CSOO(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CSOO_SHIFT)) & TPM_CONF_CSOO_MASK) + +#define TPM_CONF_CROT_MASK (0x40000U) +#define TPM_CONF_CROT_SHIFT (18U) +/*! CROT - Counter Reload on Trigger + * 0b0..No reload + * 0b1..Reload + */ +#define TPM_CONF_CROT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CROT_SHIFT)) & TPM_CONF_CROT_MASK) + +#define TPM_CONF_CPOT_MASK (0x80000U) +#define TPM_CONF_CPOT_SHIFT (19U) +/*! CPOT - Counter Pause on Trigger + * 0b0..TPM counter continues + * 0b1..TPM counter pauses + */ +#define TPM_CONF_CPOT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CPOT_SHIFT)) & TPM_CONF_CPOT_MASK) + +#define TPM_CONF_TRGPOL_MASK (0x400000U) +#define TPM_CONF_TRGPOL_SHIFT (22U) +/*! TRGPOL - Trigger Polarity + * 0b0..Active high + * 0b1..Active low + */ +#define TPM_CONF_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGPOL_SHIFT)) & TPM_CONF_TRGPOL_MASK) + +#define TPM_CONF_TRGSRC_MASK (0x800000U) +#define TPM_CONF_TRGSRC_SHIFT (23U) +/*! TRGSRC - Trigger Source + * 0b0..External + * 0b1..Internal (channel pin input capture) + */ +#define TPM_CONF_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGSRC_SHIFT)) & TPM_CONF_TRGSRC_MASK) + +#define TPM_CONF_TRGSEL_MASK (0x3000000U) +#define TPM_CONF_TRGSEL_SHIFT (24U) +/*! TRGSEL - Trigger Select + * 0b01..Channel 0 pin input capture + * 0b10..Channel 1 pin input capture + * 0b11..Channel 0 or channel 1 pin input capture + */ +#define TPM_CONF_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGSEL_SHIFT)) & TPM_CONF_TRGSEL_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group TPM_Register_Masks */ + + +/* TPM - Peripheral instance base addresses */ +/** Peripheral TPM1 base address */ +#define TPM1_BASE (0x44310000u) +/** Peripheral TPM1 base pointer */ +#define TPM1 ((TPM_Type *)TPM1_BASE) +/** Peripheral TPM2 base address */ +#define TPM2_BASE (0x44320000u) +/** Peripheral TPM2 base pointer */ +#define TPM2 ((TPM_Type *)TPM2_BASE) +/** Peripheral TPM3 base address */ +#define TPM3_BASE (0x424E0000u) +/** Peripheral TPM3 base pointer */ +#define TPM3 ((TPM_Type *)TPM3_BASE) +/** Peripheral TPM4 base address */ +#define TPM4_BASE (0x424F0000u) +/** Peripheral TPM4 base pointer */ +#define TPM4 ((TPM_Type *)TPM4_BASE) +/** Peripheral TPM5 base address */ +#define TPM5_BASE (0x42500000u) +/** Peripheral TPM5 base pointer */ +#define TPM5 ((TPM_Type *)TPM5_BASE) +/** Peripheral TPM6 base address */ +#define TPM6_BASE (0x42510000u) +/** Peripheral TPM6 base pointer */ +#define TPM6 ((TPM_Type *)TPM6_BASE) +/** Array initializer of TPM peripheral base addresses */ +#define TPM_BASE_ADDRS { TPM1_BASE, TPM2_BASE, TPM3_BASE, TPM4_BASE, TPM5_BASE, TPM6_BASE } +/** Array initializer of TPM peripheral base pointers */ +#define TPM_BASE_PTRS { TPM1, TPM2, TPM3, TPM4, TPM5, TPM6 } +/** Interrupt vectors for the TPM peripheral type */ +#define TPM_IRQS { TPM1_IRQn, TPM2_IRQn, TPM3_IRQn, TPM4_IRQn, TPM5_IRQn, TPM6_IRQn } + +/*! + * @} + */ /* end of group TPM_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- TRDC_MBC0 Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TRDC_MBC0_Peripheral_Access_Layer TRDC_MBC0 Peripheral Access Layer + * @{ + */ + +/** TRDC_MBC0 - Register Layout Typedef */ +typedef struct { + __IO uint32_t TRDC_CR; /**< TRDC Register, offset: 0x0 */ + uint8_t RESERVED_0[236]; + __I uint32_t TRDC_HWCFG0; /**< TRDC Hardware Configuration Register 0, offset: 0xF0 */ + __I uint32_t TRDC_HWCFG1; /**< TRDC Hardware Configuration Register 1, offset: 0xF4 */ + uint8_t RESERVED_1[8]; + __I uint8_t DACFG[7]; /**< Domain Assignment Configuration Register, array offset: 0x100, array step: 0x1, irregular array, not all indices are valid */ + uint8_t RESERVED_2[185]; + __IO uint32_t TRDC_IDAU_CR; /**< TRDC IDAU Control Register, offset: 0x1C0 */ + uint8_t RESERVED_3[28]; + __IO uint32_t TRDC_FLW_CTL; /**< TRDC FLW Control, offset: 0x1E0 */ + __I uint32_t TRDC_FLW_PBASE; /**< TRDC FLW Physical Base, offset: 0x1E4 */ + __IO uint32_t TRDC_FLW_ABASE; /**< TRDC FLW Array Base, offset: 0x1E8 */ + __IO uint32_t TRDC_FLW_BCNT; /**< TRDC FLW Block Count, offset: 0x1EC */ + uint8_t RESERVED_4[12]; + __IO uint32_t TRDC_FDID; /**< TRDC Fault Domain ID, offset: 0x1FC */ + __I uint32_t TRDC_DERRLOC[16]; /**< TRDC Domain Error Location Register, array offset: 0x200, array step: 0x4 */ + uint8_t RESERVED_5[1472]; + struct { /* offset: 0x800, array step: 0x20 */ + struct { /* offset: 0x800, array step: index*0x20, index2*0x4 */ + __IO uint32_t MDA_W_DFMT1; /**< DAC Master Domain Assignment Register, array offset: 0x800, array step: index*0x20, index2*0x4, irregular array, not all indices are valid */ + } MDA_Wx_DFMT1[1]; + uint8_t RESERVED_0[28]; + } MDA_Wx_y_DFMT[7]; +} TRDC_MBC0_Type; + +/* ---------------------------------------------------------------------------- + -- TRDC_MBC0 Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TRDC_MBC0_Register_Masks TRDC_MBC0 Register Masks + * @{ + */ + +/*! @name TRDC_CR - TRDC Register */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_CR_GVLDM_MASK (0x1U) +#define TRDC_MBC0_TRDC_CR_GVLDM_SHIFT (0U) +/*! GVLDM - Global Valid for Domain Assignment Controllers + * 0b0..TRDC DACs are disabled. + * 0b1..TRDC DACs are enabled. + */ +#define TRDC_MBC0_TRDC_CR_GVLDM(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_CR_GVLDM_SHIFT)) & TRDC_MBC0_TRDC_CR_GVLDM_MASK) + +#define TRDC_MBC0_TRDC_CR_HRL_MASK (0x1EU) +#define TRDC_MBC0_TRDC_CR_HRL_SHIFT (1U) +/*! HRL - Hardware Revision Level */ +#define TRDC_MBC0_TRDC_CR_HRL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_CR_HRL_SHIFT)) & TRDC_MBC0_TRDC_CR_HRL_MASK) + +#define TRDC_MBC0_TRDC_CR_GVLDB_MASK (0x4000U) +#define TRDC_MBC0_TRDC_CR_GVLDB_SHIFT (14U) +/*! GVLDB - Global Valid for Memory Block Checkers + * 0b0..TRDC MBCs are disabled. + * 0b1..TRDC MBCs are enabled. + */ +#define TRDC_MBC0_TRDC_CR_GVLDB(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_CR_GVLDB_SHIFT)) & TRDC_MBC0_TRDC_CR_GVLDB_MASK) + +#define TRDC_MBC0_TRDC_CR_GVLDR_MASK (0x8000U) +#define TRDC_MBC0_TRDC_CR_GVLDR_SHIFT (15U) +/*! GVLDR - Global Valid for Memory Region Checkers + * 0b0..TRDC MRCs are disabled. + * 0b1..TRDC MRCs are enabled. + */ +#define TRDC_MBC0_TRDC_CR_GVLDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_CR_GVLDR_SHIFT)) & TRDC_MBC0_TRDC_CR_GVLDR_MASK) + +#define TRDC_MBC0_TRDC_CR_LK1_MASK (0x40000000U) +#define TRDC_MBC0_TRDC_CR_LK1_SHIFT (30U) +/*! LK1 - Lock Status + * 0b0..The CR can be written by any secure privileged write. + * 0b1..The CR is locked (read-only) until the next reset. + */ +#define TRDC_MBC0_TRDC_CR_LK1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_CR_LK1_SHIFT)) & TRDC_MBC0_TRDC_CR_LK1_MASK) +/*! @} */ + +/*! @name TRDC_HWCFG0 - TRDC Hardware Configuration Register 0 */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_HWCFG0_NDID_MASK (0x1FU) +#define TRDC_MBC0_TRDC_HWCFG0_NDID_SHIFT (0U) +/*! NDID - Number of domains */ +#define TRDC_MBC0_TRDC_HWCFG0_NDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_HWCFG0_NDID_SHIFT)) & TRDC_MBC0_TRDC_HWCFG0_NDID_MASK) + +#define TRDC_MBC0_TRDC_HWCFG0_NMSTR_MASK (0xFF00U) +#define TRDC_MBC0_TRDC_HWCFG0_NMSTR_SHIFT (8U) +/*! NMSTR - Number of bus masters */ +#define TRDC_MBC0_TRDC_HWCFG0_NMSTR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_HWCFG0_NMSTR_SHIFT)) & TRDC_MBC0_TRDC_HWCFG0_NMSTR_MASK) + +#define TRDC_MBC0_TRDC_HWCFG0_NMBC_MASK (0xF0000U) +#define TRDC_MBC0_TRDC_HWCFG0_NMBC_SHIFT (16U) +/*! NMBC - Number of MBCs */ +#define TRDC_MBC0_TRDC_HWCFG0_NMBC(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_HWCFG0_NMBC_SHIFT)) & TRDC_MBC0_TRDC_HWCFG0_NMBC_MASK) + +#define TRDC_MBC0_TRDC_HWCFG0_NMRC_MASK (0x1F000000U) +#define TRDC_MBC0_TRDC_HWCFG0_NMRC_SHIFT (24U) +/*! NMRC - Number of MRCs */ +#define TRDC_MBC0_TRDC_HWCFG0_NMRC(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_HWCFG0_NMRC_SHIFT)) & TRDC_MBC0_TRDC_HWCFG0_NMRC_MASK) + +#define TRDC_MBC0_TRDC_HWCFG0_MID_MASK (0xE0000000U) +#define TRDC_MBC0_TRDC_HWCFG0_MID_SHIFT (29U) +/*! MID - Module ID */ +#define TRDC_MBC0_TRDC_HWCFG0_MID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_HWCFG0_MID_SHIFT)) & TRDC_MBC0_TRDC_HWCFG0_MID_MASK) +/*! @} */ + +/*! @name TRDC_HWCFG1 - TRDC Hardware Configuration Register 1 */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_HWCFG1_DID_MASK (0xFU) +#define TRDC_MBC0_TRDC_HWCFG1_DID_SHIFT (0U) +/*! DID - Domain identifier number */ +#define TRDC_MBC0_TRDC_HWCFG1_DID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_HWCFG1_DID_SHIFT)) & TRDC_MBC0_TRDC_HWCFG1_DID_MASK) +/*! @} */ + +/*! @name DACFG - Domain Assignment Configuration Register */ +/*! @{ */ + +#define TRDC_MBC0_DACFG_NMDAR_MASK (0xFU) +#define TRDC_MBC0_DACFG_NMDAR_SHIFT (0U) +/*! NMDAR - Number of master domain assignment registers for bus master m */ +#define TRDC_MBC0_DACFG_NMDAR(x) (((uint8_t)(((uint8_t)(x)) << TRDC_MBC0_DACFG_NMDAR_SHIFT)) & TRDC_MBC0_DACFG_NMDAR_MASK) + +#define TRDC_MBC0_DACFG_NCM_MASK (0x80U) +#define TRDC_MBC0_DACFG_NCM_SHIFT (7U) +/*! NCM - Non-CPU Master + * 0b0..Bus master is a processor. + * 0b1..Bus master is a non-processor. + */ +#define TRDC_MBC0_DACFG_NCM(x) (((uint8_t)(((uint8_t)(x)) << TRDC_MBC0_DACFG_NCM_SHIFT)) & TRDC_MBC0_DACFG_NCM_MASK) +/*! @} */ + +/* The count of TRDC_MBC0_DACFG */ +#define TRDC_MBC0_DACFG_COUNT (7U) + +/*! @name TRDC_IDAU_CR - TRDC IDAU Control Register */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_IDAU_CR_VLD_MASK (0x1U) +#define TRDC_MBC0_TRDC_IDAU_CR_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC0_TRDC_IDAU_CR_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_VLD_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_VLD_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_CFGSECEXT_MASK (0x8U) +#define TRDC_MBC0_TRDC_IDAU_CR_CFGSECEXT_SHIFT (3U) +/*! CFGSECEXT - Configure Security Extension + * 0b0..Armv8M Security Extension is disabled + * 0b1..Armv8-M Security Extension is enabled + */ +#define TRDC_MBC0_TRDC_IDAU_CR_CFGSECEXT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_CFGSECEXT_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_CFGSECEXT_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_MPUSDIS_MASK (0x10U) +#define TRDC_MBC0_TRDC_IDAU_CR_MPUSDIS_SHIFT (4U) +/*! MPUSDIS - Secure Memory Protection Unit Disabled + * 0b0..Secure MPU is enabled + * 0b1..Secure MPU is disabled + */ +#define TRDC_MBC0_TRDC_IDAU_CR_MPUSDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_MPUSDIS_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_MPUSDIS_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_MPUNSDIS_MASK (0x20U) +#define TRDC_MBC0_TRDC_IDAU_CR_MPUNSDIS_SHIFT (5U) +/*! MPUNSDIS - NonSecure Memory Protection Unit Disabled + * 0b0..Nonsecure MPU is enabled + * 0b1..Nonsecure MPU is disabled + */ +#define TRDC_MBC0_TRDC_IDAU_CR_MPUNSDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_MPUNSDIS_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_MPUNSDIS_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_SAUDIS_MASK (0x40U) +#define TRDC_MBC0_TRDC_IDAU_CR_SAUDIS_SHIFT (6U) +/*! SAUDIS - Security Attribution Unit Disable + * 0b0..SAU is enabled + * 0b1..SAU is disabled + */ +#define TRDC_MBC0_TRDC_IDAU_CR_SAUDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_SAUDIS_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_SAUDIS_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_LKSVTAIRCR_MASK (0x100U) +#define TRDC_MBC0_TRDC_IDAU_CR_LKSVTAIRCR_SHIFT (8U) +/*! LKSVTAIRCR - Lock Secure VTOR, Application interrupt and Reset Control Registers + * 0b0..Unlock these registers + * 0b1..Disable writes to the VTOR_S, AIRCR[PRIS], and AIRCR[BFHFNMINS] registers + */ +#define TRDC_MBC0_TRDC_IDAU_CR_LKSVTAIRCR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_LKSVTAIRCR_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_LKSVTAIRCR_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_LKNSVTOR_MASK (0x200U) +#define TRDC_MBC0_TRDC_IDAU_CR_LKNSVTOR_SHIFT (9U) +/*! LKNSVTOR - Lock Nonsecure Vector Table Offset Register + * 0b0..Unlock this register + * 0b1..Disable writes to the VTOR_NS register + */ +#define TRDC_MBC0_TRDC_IDAU_CR_LKNSVTOR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_LKNSVTOR_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_LKNSVTOR_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_LKSMPU_MASK (0x400U) +#define TRDC_MBC0_TRDC_IDAU_CR_LKSMPU_SHIFT (10U) +/*! LKSMPU - Lock Secure MPU + * 0b0..Unlock these registers + * 0b1..Disable writes to the MPU_CTRL, MPU_RNR, MPU_RBAR, MPU_RLAR, MPU_RBAR_An and MPU_RLAR_An from software or + * from a debug agent connected to the processor in Secure state + */ +#define TRDC_MBC0_TRDC_IDAU_CR_LKSMPU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_LKSMPU_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_LKSMPU_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_LKNSMPU_MASK (0x800U) +#define TRDC_MBC0_TRDC_IDAU_CR_LKNSMPU_SHIFT (11U) +/*! LKNSMPU - Lock Nonsecure MPU + * 0b0..Unlock these registers + * 0b1..Disable writes to the MPU_CTRL_NS, MPU_RNR_NS, MPU_RBAR_NS, MPU_RLAR_NS, MPU_RBAR_A_NSn and + * MPU_RLAR_A_NSn from software or from a debug agent connected to the processor + */ +#define TRDC_MBC0_TRDC_IDAU_CR_LKNSMPU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_LKNSMPU_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_LKNSMPU_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_LKSAU_MASK (0x1000U) +#define TRDC_MBC0_TRDC_IDAU_CR_LKSAU_SHIFT (12U) +/*! LKSAU - Lock SAU + * 0b0..Unlock these registers + * 0b1..Disable writes to the SAU_CTRL, SAU_RNR, SAU_RBAR and SAU_RLAR registers from software or from a debug agent connected to the processor + */ +#define TRDC_MBC0_TRDC_IDAU_CR_LKSAU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_LKSAU_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_LKSAU_MASK) + +#define TRDC_MBC0_TRDC_IDAU_CR_PCURRNS_MASK (0x80000000U) +#define TRDC_MBC0_TRDC_IDAU_CR_PCURRNS_SHIFT (31U) +/*! PCURRNS - Processor current security + * 0b0..Processor is in Secure state + * 0b1..Processor is in Nonsecure state + */ +#define TRDC_MBC0_TRDC_IDAU_CR_PCURRNS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_IDAU_CR_PCURRNS_SHIFT)) & TRDC_MBC0_TRDC_IDAU_CR_PCURRNS_MASK) +/*! @} */ + +/*! @name TRDC_FLW_CTL - TRDC FLW Control */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_FLW_CTL_LK_MASK (0x40000000U) +#define TRDC_MBC0_TRDC_FLW_CTL_LK_SHIFT (30U) +/*! LK - Lock bit + * 0b0..FLW registers may be modified. + * 0b1..FLW registers are locked until the next reset. + */ +#define TRDC_MBC0_TRDC_FLW_CTL_LK(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_FLW_CTL_LK_SHIFT)) & TRDC_MBC0_TRDC_FLW_CTL_LK_MASK) + +#define TRDC_MBC0_TRDC_FLW_CTL_V_MASK (0x80000000U) +#define TRDC_MBC0_TRDC_FLW_CTL_V_SHIFT (31U) +/*! V - Valid bit + * 0b0..FLW function is disabled. + * 0b1..FLW function is enabled. + */ +#define TRDC_MBC0_TRDC_FLW_CTL_V(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_FLW_CTL_V_SHIFT)) & TRDC_MBC0_TRDC_FLW_CTL_V_MASK) +/*! @} */ + +/*! @name TRDC_FLW_PBASE - TRDC FLW Physical Base */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_FLW_PBASE_PBASE_MASK (0xFFFFFFFFU) +#define TRDC_MBC0_TRDC_FLW_PBASE_PBASE_SHIFT (0U) +/*! PBASE - Physical base address */ +#define TRDC_MBC0_TRDC_FLW_PBASE_PBASE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_FLW_PBASE_PBASE_SHIFT)) & TRDC_MBC0_TRDC_FLW_PBASE_PBASE_MASK) +/*! @} */ + +/*! @name TRDC_FLW_ABASE - TRDC FLW Array Base */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_FLW_ABASE_ABASE_L_MASK (0x3F8000U) +#define TRDC_MBC0_TRDC_FLW_ABASE_ABASE_L_SHIFT (15U) +/*! ABASE_L - Array base address low */ +#define TRDC_MBC0_TRDC_FLW_ABASE_ABASE_L(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_FLW_ABASE_ABASE_L_SHIFT)) & TRDC_MBC0_TRDC_FLW_ABASE_ABASE_L_MASK) + +#define TRDC_MBC0_TRDC_FLW_ABASE_ABASE_H_MASK (0xFFC00000U) +#define TRDC_MBC0_TRDC_FLW_ABASE_ABASE_H_SHIFT (22U) +/*! ABASE_H - Array base address high */ +#define TRDC_MBC0_TRDC_FLW_ABASE_ABASE_H(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_FLW_ABASE_ABASE_H_SHIFT)) & TRDC_MBC0_TRDC_FLW_ABASE_ABASE_H_MASK) +/*! @} */ + +/*! @name TRDC_FLW_BCNT - TRDC FLW Block Count */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_FLW_BCNT_BCNT_MASK (0x7FFFU) +#define TRDC_MBC0_TRDC_FLW_BCNT_BCNT_SHIFT (0U) +/*! BCNT - Block Count */ +#define TRDC_MBC0_TRDC_FLW_BCNT_BCNT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_FLW_BCNT_BCNT_SHIFT)) & TRDC_MBC0_TRDC_FLW_BCNT_BCNT_MASK) +/*! @} */ + +/*! @name TRDC_FDID - TRDC Fault Domain ID */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_FDID_FDID_MASK (0xFU) +#define TRDC_MBC0_TRDC_FDID_FDID_SHIFT (0U) +/*! FDID - Domain ID of Faulted Access */ +#define TRDC_MBC0_TRDC_FDID_FDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_FDID_FDID_SHIFT)) & TRDC_MBC0_TRDC_FDID_FDID_MASK) +/*! @} */ + +/*! @name TRDC_DERRLOC - TRDC Domain Error Location Register */ +/*! @{ */ + +#define TRDC_MBC0_TRDC_DERRLOC_MBCINST_MASK (0xFFU) +#define TRDC_MBC0_TRDC_DERRLOC_MBCINST_SHIFT (0U) +/*! MBCINST - MBC instance */ +#define TRDC_MBC0_TRDC_DERRLOC_MBCINST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_DERRLOC_MBCINST_SHIFT)) & TRDC_MBC0_TRDC_DERRLOC_MBCINST_MASK) + +#define TRDC_MBC0_TRDC_DERRLOC_MRCINST_MASK (0xFFFF0000U) +#define TRDC_MBC0_TRDC_DERRLOC_MRCINST_SHIFT (16U) +/*! MRCINST - MRC instance */ +#define TRDC_MBC0_TRDC_DERRLOC_MRCINST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_TRDC_DERRLOC_MRCINST_SHIFT)) & TRDC_MBC0_TRDC_DERRLOC_MRCINST_MASK) +/*! @} */ + +/* The count of TRDC_MBC0_TRDC_DERRLOC */ +#define TRDC_MBC0_TRDC_DERRLOC_COUNT (16U) + +/*! @name MDA_W_DFMT1 - DAC Master Domain Assignment Register */ +/*! @{ */ + +#define TRDC_MBC0_MDA_W_DFMT1_DID_MASK (0xFU) +#define TRDC_MBC0_MDA_W_DFMT1_DID_SHIFT (0U) +/*! DID - Domain identifier */ +#define TRDC_MBC0_MDA_W_DFMT1_DID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_MDA_W_DFMT1_DID_SHIFT)) & TRDC_MBC0_MDA_W_DFMT1_DID_MASK) + +#define TRDC_MBC0_MDA_W_DFMT1_PA_MASK (0x30U) +#define TRDC_MBC0_MDA_W_DFMT1_PA_SHIFT (4U) +/*! PA - Privileged attribute + * 0b00..Force the bus attribute for this master to user. + * 0b01..Force the bus attribute for this master to privileged. + * 0b10..Use the bus master's privileged/user attribute directly. + * 0b11..Use the bus master's privileged/user attribute directly. + */ +#define TRDC_MBC0_MDA_W_DFMT1_PA(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_MDA_W_DFMT1_PA_SHIFT)) & TRDC_MBC0_MDA_W_DFMT1_PA_MASK) + +#define TRDC_MBC0_MDA_W_DFMT1_SA_MASK (0xC0U) +#define TRDC_MBC0_MDA_W_DFMT1_SA_SHIFT (6U) +/*! SA - Secure attribute + * 0b00..Force the bus attribute for this master to secure. + * 0b01..Force the bus attribute for this master to nonsecure. + * 0b10..Use the bus master's secure/nonsecure attribute directly. + * 0b11..Use the bus master's secure/nonsecure attribute directly. + */ +#define TRDC_MBC0_MDA_W_DFMT1_SA(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_MDA_W_DFMT1_SA_SHIFT)) & TRDC_MBC0_MDA_W_DFMT1_SA_MASK) + +#define TRDC_MBC0_MDA_W_DFMT1_DIDB_MASK (0x100U) +#define TRDC_MBC0_MDA_W_DFMT1_DIDB_SHIFT (8U) +/*! DIDB - DID Bypass + * 0b0..Use MDAn[3:0] as the domain identifier. + * 0b1..Use the DID input as the domain identifier. + */ +#define TRDC_MBC0_MDA_W_DFMT1_DIDB(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_MDA_W_DFMT1_DIDB_SHIFT)) & TRDC_MBC0_MDA_W_DFMT1_DIDB_MASK) + +#define TRDC_MBC0_MDA_W_DFMT1_DFMT_MASK (0x20000000U) +#define TRDC_MBC0_MDA_W_DFMT1_DFMT_SHIFT (29U) +/*! DFMT - Domain format + * 0b0..Processor-core domain assignment + * 0b1..Non-processor domain assignment + */ +#define TRDC_MBC0_MDA_W_DFMT1_DFMT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_MDA_W_DFMT1_DFMT_SHIFT)) & TRDC_MBC0_MDA_W_DFMT1_DFMT_MASK) + +#define TRDC_MBC0_MDA_W_DFMT1_LK1_MASK (0x40000000U) +#define TRDC_MBC0_MDA_W_DFMT1_LK1_SHIFT (30U) +/*! LK1 - 1-bit Lock + * 0b0..Register can be written by any secure privileged write. + * 0b1..Register is locked (read-only) until the next reset. + */ +#define TRDC_MBC0_MDA_W_DFMT1_LK1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_MDA_W_DFMT1_LK1_SHIFT)) & TRDC_MBC0_MDA_W_DFMT1_LK1_MASK) + +#define TRDC_MBC0_MDA_W_DFMT1_VLD_MASK (0x80000000U) +#define TRDC_MBC0_MDA_W_DFMT1_VLD_SHIFT (31U) +/*! VLD - Valid + * 0b0..The Wr domain assignment is invalid. + * 0b1..The Wr domain assignment is valid. + */ +#define TRDC_MBC0_MDA_W_DFMT1_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC0_MDA_W_DFMT1_VLD_SHIFT)) & TRDC_MBC0_MDA_W_DFMT1_VLD_MASK) +/*! @} */ + +/* The count of TRDC_MBC0_MDA_W_DFMT1 */ +#define TRDC_MBC0_MDA_W_DFMT1_COUNT (7U) + +/* The count of TRDC_MBC0_MDA_W_DFMT1 */ +#define TRDC_MBC0_MDA_W_DFMT1_COUNT2 (1U) + + +/*! + * @} + */ /* end of group TRDC_MBC0_Register_Masks */ + + +/* TRDC_MBC0 - Peripheral instance base addresses */ +/** Peripheral TRDC3 base address */ +#define TRDC3_BASE (0x42810000u) +/** Peripheral TRDC3 base pointer */ +#define TRDC3 ((TRDC_MBC0_Type *)TRDC3_BASE) +/** Peripheral TRDC5 base address */ +#define TRDC5_BASE (0x4AC30000u) +/** Peripheral TRDC5 base pointer */ +#define TRDC5 ((TRDC_MBC0_Type *)TRDC5_BASE) +/** Peripheral TRDC6 base address */ +#define TRDC6_BASE (0x4C030000u) +/** Peripheral TRDC6 base pointer */ +#define TRDC6 ((TRDC_MBC0_Type *)TRDC6_BASE) +/** Array initializer of TRDC_MBC0 peripheral base addresses */ +#define TRDC_MBC0_BASE_ADDRS { 0u, 0u, 0u, TRDC3_BASE, 0u, TRDC5_BASE, TRDC6_BASE } +/** Array initializer of TRDC_MBC0 peripheral base pointers */ +#define TRDC_MBC0_BASE_PTRS { (TRDC_MBC0_Type *)0u, (TRDC_MBC0_Type *)0u, (TRDC_MBC0_Type *)0u, TRDC3, (TRDC_MBC0_Type *)0u, TRDC5, TRDC6 } + +/*! + * @} + */ /* end of group TRDC_MBC0_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- TRDC_MBC2 Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TRDC_MBC2_Peripheral_Access_Layer TRDC_MBC2 Peripheral Access Layer + * @{ + */ + +/** TRDC_MBC2 - Register Layout Typedef */ +typedef struct { + __IO uint32_t TRDC_CR; /**< TRDC Register, offset: 0x0 */ + uint8_t RESERVED_0[236]; + __I uint32_t TRDC_HWCFG0; /**< TRDC Hardware Configuration Register 0, offset: 0xF0 */ + __I uint32_t TRDC_HWCFG1; /**< TRDC Hardware Configuration Register 1, offset: 0xF4 */ + uint8_t RESERVED_1[8]; + __I uint8_t DACFG[5]; /**< Domain Assignment Configuration Register, array offset: 0x100, array step: 0x1, valid indices: [2-4] */ + uint8_t RESERVED_2[187]; + __IO uint32_t TRDC_IDAU_CR; /**< TRDC IDAU Control Register, offset: 0x1C0 */ + uint8_t RESERVED_3[28]; + __IO uint32_t TRDC_FLW_CTL; /**< TRDC FLW Control, offset: 0x1E0 */ + __I uint32_t TRDC_FLW_PBASE; /**< TRDC FLW Physical Base, offset: 0x1E4 */ + __IO uint32_t TRDC_FLW_ABASE; /**< TRDC FLW Array Base, offset: 0x1E8 */ + __IO uint32_t TRDC_FLW_BCNT; /**< TRDC FLW Block Count, offset: 0x1EC */ + uint8_t RESERVED_4[12]; + __IO uint32_t TRDC_FDID; /**< TRDC Fault Domain ID, offset: 0x1FC */ + __I uint32_t TRDC_DERRLOC[16]; /**< TRDC Domain Error Location Register, array offset: 0x200, array step: 0x4 */ + uint8_t RESERVED_5[448]; + struct { /* offset: 0x400, array step: 0x10 */ + __I uint32_t W0; /**< MBC Domain Error Word0 Register, array offset: 0x400, array step: 0x10, irregular array, not all indices are valid */ + __I uint32_t W1; /**< MBC Domain Error Word1 Register, array offset: 0x404, array step: 0x10, irregular array, not all indices are valid */ + uint8_t RESERVED_0[4]; + __IO uint32_t W3; /**< MBC Domain Error Word3 Register, array offset: 0x40C, array step: 0x10, irregular array, not all indices are valid */ + } MBC_DERR[2]; + uint8_t RESERVED_6[96]; + struct { /* offset: 0x480, array step: 0x10 */ + __I uint32_t W0; /**< MRC Domain Error Word0 Register, array offset: 0x480, array step: 0x10, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + __I uint32_t W1; /**< MRC Domain Error Word1 Register, array offset: 0x484, array step: 0x10, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_0[4]; + __IO uint32_t W3; /**< MRC Domain Error Word3 Register, array offset: 0x48C, array step: 0x10, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + } MRC_DERR[2]; + uint8_t RESERVED_7[864]; + struct { /* offset: 0x800, array step: 0x20 */ + struct { /* offset: 0x800, array step: index*0x20, index2*0x4 */ + __IO uint32_t MDA_W_DFMT1; /**< DAC Master Domain Assignment Register, array offset: 0x800, array step: index*0x20, index2*0x4, valid indices: [2-4][0] */ + } MDA_Wx_DFMT1[1]; + uint8_t RESERVED_0[28]; + } MDA_Wx_y_DFMT[5]; + uint8_t RESERVED_8[63328]; + struct { /* offset: 0x10000, array step: 0x2000 */ + __I uint32_t MBC_MEM_GLBCFG[4]; /**< MBC Global Configuration Register, array offset: 0x10000, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + __IO uint32_t MBC_NSE_BLK_INDEX; /**< MBC NonSecure Enable Block Index, array offset: 0x10010, array step: 0x2000, irregular array, not all indices are valid */ + __IO uint32_t MBC_NSE_BLK_SET; /**< MBC NonSecure Enable Block Set, array offset: 0x10014, array step: 0x2000, irregular array, not all indices are valid */ + __IO uint32_t MBC_NSE_BLK_CLR; /**< MBC NonSecure Enable Block Clear, array offset: 0x10018, array step: 0x2000, irregular array, not all indices are valid */ + __IO uint32_t MBC_NSE_BLK_CLR_ALL; /**< MBC NonSecure Enable Block Clear All, array offset: 0x1001C, array step: 0x2000, irregular array, not all indices are valid */ + __IO uint32_t MBC_MEMN_GLBAC[8]; /**< MBC Global Access Control, array offset: 0x10020, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + __IO uint32_t MBC_DOM0_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x10040, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_0[192]; + __IO uint32_t MBC_DOM0_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10140, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_1[48]; + __IO uint32_t MBC_DOM0_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10180, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_2[28]; + __IO uint32_t MBC_DOM0_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_3[4]; + __IO uint32_t MBC_DOM0_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x101A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_4[28]; + __IO uint32_t MBC_DOM0_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_5[4]; + __IO uint32_t MBC_DOM0_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x101D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_6[20]; + __IO uint32_t MBC_DOM0_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_7[76]; + __IO uint32_t MBC_DOM1_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x10240, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_8[192]; + __IO uint32_t MBC_DOM1_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10340, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_9[48]; + __IO uint32_t MBC_DOM1_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10380, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_10[28]; + __IO uint32_t MBC_DOM1_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_11[4]; + __IO uint32_t MBC_DOM1_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x103A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_12[28]; + __IO uint32_t MBC_DOM1_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_13[4]; + __IO uint32_t MBC_DOM1_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x103D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_14[20]; + __IO uint32_t MBC_DOM1_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_15[76]; + __IO uint32_t MBC_DOM2_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x10440, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_16[192]; + __IO uint32_t MBC_DOM2_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10540, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_17[48]; + __IO uint32_t MBC_DOM2_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10580, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_18[28]; + __IO uint32_t MBC_DOM2_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_19[4]; + __IO uint32_t MBC_DOM2_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x105A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_20[28]; + __IO uint32_t MBC_DOM2_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_21[4]; + __IO uint32_t MBC_DOM2_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x105D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_22[20]; + __IO uint32_t MBC_DOM2_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_23[76]; + __IO uint32_t MBC_DOM3_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x10640, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_24[192]; + __IO uint32_t MBC_DOM3_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10740, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_25[48]; + __IO uint32_t MBC_DOM3_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10780, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_26[28]; + __IO uint32_t MBC_DOM3_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_27[4]; + __IO uint32_t MBC_DOM3_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x107A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_28[28]; + __IO uint32_t MBC_DOM3_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_29[4]; + __IO uint32_t MBC_DOM3_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x107D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_30[20]; + __IO uint32_t MBC_DOM3_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_31[76]; + __IO uint32_t MBC_DOM4_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x10840, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_32[192]; + __IO uint32_t MBC_DOM4_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10940, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_33[48]; + __IO uint32_t MBC_DOM4_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10980, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_34[28]; + __IO uint32_t MBC_DOM4_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_35[4]; + __IO uint32_t MBC_DOM4_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x109A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_36[28]; + __IO uint32_t MBC_DOM4_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_37[4]; + __IO uint32_t MBC_DOM4_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x109D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_38[20]; + __IO uint32_t MBC_DOM4_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_39[76]; + __IO uint32_t MBC_DOM5_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x10A40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_40[192]; + __IO uint32_t MBC_DOM5_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10B40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_41[48]; + __IO uint32_t MBC_DOM5_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10B80, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_42[28]; + __IO uint32_t MBC_DOM5_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BA0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_43[4]; + __IO uint32_t MBC_DOM5_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10BA8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_44[28]; + __IO uint32_t MBC_DOM5_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BC8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_45[4]; + __IO uint32_t MBC_DOM5_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10BD0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_46[20]; + __IO uint32_t MBC_DOM5_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BF0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_47[76]; + __IO uint32_t MBC_DOM6_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x10C40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_48[192]; + __IO uint32_t MBC_DOM6_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10D40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_49[48]; + __IO uint32_t MBC_DOM6_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10D80, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_50[28]; + __IO uint32_t MBC_DOM6_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DA0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_51[4]; + __IO uint32_t MBC_DOM6_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10DA8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_52[28]; + __IO uint32_t MBC_DOM6_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DC8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_53[4]; + __IO uint32_t MBC_DOM6_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10DD0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_54[20]; + __IO uint32_t MBC_DOM6_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DF0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_55[76]; + __IO uint32_t MBC_DOM7_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x10E40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_56[192]; + __IO uint32_t MBC_DOM7_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10F40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_57[48]; + __IO uint32_t MBC_DOM7_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10F80, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_58[28]; + __IO uint32_t MBC_DOM7_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FA0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_59[4]; + __IO uint32_t MBC_DOM7_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x10FA8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_60[28]; + __IO uint32_t MBC_DOM7_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FC8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_61[4]; + __IO uint32_t MBC_DOM7_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10FD0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_62[20]; + __IO uint32_t MBC_DOM7_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FF0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_63[76]; + __IO uint32_t MBC_DOM8_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x11040, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_64[192]; + __IO uint32_t MBC_DOM8_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11140, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_65[48]; + __IO uint32_t MBC_DOM8_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11180, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_66[28]; + __IO uint32_t MBC_DOM8_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_67[4]; + __IO uint32_t MBC_DOM8_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x111A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_68[28]; + __IO uint32_t MBC_DOM8_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_69[4]; + __IO uint32_t MBC_DOM8_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x111D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_70[20]; + __IO uint32_t MBC_DOM8_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_71[76]; + __IO uint32_t MBC_DOM9_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x11240, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_72[192]; + __IO uint32_t MBC_DOM9_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11340, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_73[48]; + __IO uint32_t MBC_DOM9_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11380, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_74[28]; + __IO uint32_t MBC_DOM9_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_75[4]; + __IO uint32_t MBC_DOM9_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x113A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_76[28]; + __IO uint32_t MBC_DOM9_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_77[4]; + __IO uint32_t MBC_DOM9_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x113D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_78[20]; + __IO uint32_t MBC_DOM9_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_79[76]; + __IO uint32_t MBC_DOM10_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x11440, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_80[192]; + __IO uint32_t MBC_DOM10_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11540, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_81[48]; + __IO uint32_t MBC_DOM10_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11580, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_82[28]; + __IO uint32_t MBC_DOM10_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_83[4]; + __IO uint32_t MBC_DOM10_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x115A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_84[28]; + __IO uint32_t MBC_DOM10_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_85[4]; + __IO uint32_t MBC_DOM10_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x115D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_86[20]; + __IO uint32_t MBC_DOM10_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_87[76]; + __IO uint32_t MBC_DOM11_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x11640, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_88[192]; + __IO uint32_t MBC_DOM11_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11740, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_89[48]; + __IO uint32_t MBC_DOM11_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11780, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_90[28]; + __IO uint32_t MBC_DOM11_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_91[4]; + __IO uint32_t MBC_DOM11_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x117A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_92[28]; + __IO uint32_t MBC_DOM11_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_93[4]; + __IO uint32_t MBC_DOM11_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x117D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_94[20]; + __IO uint32_t MBC_DOM11_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_95[76]; + __IO uint32_t MBC_DOM12_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x11840, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_96[192]; + __IO uint32_t MBC_DOM12_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11940, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_97[48]; + __IO uint32_t MBC_DOM12_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11980, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_98[28]; + __IO uint32_t MBC_DOM12_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119A0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_99[4]; + __IO uint32_t MBC_DOM12_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x119A8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_100[28]; + __IO uint32_t MBC_DOM12_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119C8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_101[4]; + __IO uint32_t MBC_DOM12_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x119D0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_102[20]; + __IO uint32_t MBC_DOM12_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119F0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_103[76]; + __IO uint32_t MBC_DOM13_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x11A40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_104[192]; + __IO uint32_t MBC_DOM13_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11B40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_105[48]; + __IO uint32_t MBC_DOM13_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11B80, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_106[28]; + __IO uint32_t MBC_DOM13_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BA0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_107[4]; + __IO uint32_t MBC_DOM13_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11BA8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_108[28]; + __IO uint32_t MBC_DOM13_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BC8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_109[4]; + __IO uint32_t MBC_DOM13_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11BD0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_110[20]; + __IO uint32_t MBC_DOM13_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BF0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_111[76]; + __IO uint32_t MBC_DOM14_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x11C40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_112[192]; + __IO uint32_t MBC_DOM14_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11D40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_113[48]; + __IO uint32_t MBC_DOM14_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11D80, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_114[28]; + __IO uint32_t MBC_DOM14_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DA0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_115[4]; + __IO uint32_t MBC_DOM14_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11DA8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_116[28]; + __IO uint32_t MBC_DOM14_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DC8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_117[4]; + __IO uint32_t MBC_DOM14_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11DD0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_118[20]; + __IO uint32_t MBC_DOM14_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DF0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_119[76]; + __IO uint32_t MBC_DOM15_MEM0_BLK_CFG_W[16]; /**< MBC Memory Block Configuration Word, array offset: 0x11E40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_120[192]; + __IO uint32_t MBC_DOM15_MEM0_BLK_NSE_W[4]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11F40, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_121[48]; + __IO uint32_t MBC_DOM15_MEM1_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11F80, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_122[28]; + __IO uint32_t MBC_DOM15_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FA0, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_123[4]; + __IO uint32_t MBC_DOM15_MEM2_BLK_CFG_W[1]; /**< MBC Memory Block Configuration Word, array offset: 0x11FA8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_124[28]; + __IO uint32_t MBC_DOM15_MEM2_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FC8, array step: index*0x2000, index2*0x4, irregular array, not all indices are valid */ + uint8_t RESERVED_125[4]; + __IO uint32_t MBC_DOM15_MEM3_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11FD0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1), valid indices: [0][0-2], [1][0] */ + uint8_t RESERVED_126[20]; + __IO uint32_t MBC_DOM15_MEM3_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FF0, array step: index*0x2000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_127[12]; + } MBC_INDEX[2]; + struct { /* offset: 0x14000, array step: 0x1000 */ + __I uint32_t MRC_GLBCFG; /**< MRC Global Configuration Register, array offset: 0x14000, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_0[12]; + __IO uint32_t MRC_NSE_RGN_INDIRECT; /**< MRC NonSecure Enable Region Indirect, array offset: 0x14010, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + __IO uint32_t MRC_NSE_RGN_SET; /**< MRC NonSecure Enable Region Set, array offset: 0x14014, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + __IO uint32_t MRC_NSE_RGN_CLR; /**< MRC NonSecure Enable Region Clear, array offset: 0x14018, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + __IO uint32_t MRC_NSE_RGN_CLR_ALL; /**< MRC NonSecure Enable Region Clear All, array offset: 0x1401C, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + __IO uint32_t MRC_GLBAC[8]; /**< MRC Global Access Control, array offset: 0x14020, array step: index*0x1000, index2*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + __IO uint32_t MRC_DOM0_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14040, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_1[64]; + __IO uint32_t MRC_DOM0_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x140C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_2[124]; + __IO uint32_t MRC_DOM1_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14140, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_3[64]; + __IO uint32_t MRC_DOM1_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x141C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_4[124]; + __IO uint32_t MRC_DOM2_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14240, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_5[64]; + __IO uint32_t MRC_DOM2_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x142C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_6[124]; + __IO uint32_t MRC_DOM3_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14340, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_7[64]; + __IO uint32_t MRC_DOM3_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x143C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_8[124]; + __IO uint32_t MRC_DOM4_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14440, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_9[64]; + __IO uint32_t MRC_DOM4_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x144C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_10[124]; + __IO uint32_t MRC_DOM5_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14540, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_11[64]; + __IO uint32_t MRC_DOM5_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x145C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_12[124]; + __IO uint32_t MRC_DOM6_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14640, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_13[64]; + __IO uint32_t MRC_DOM6_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x146C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_14[124]; + __IO uint32_t MRC_DOM7_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14740, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_15[64]; + __IO uint32_t MRC_DOM7_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x147C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_16[124]; + __IO uint32_t MRC_DOM8_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14840, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_17[64]; + __IO uint32_t MRC_DOM8_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x148C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_18[124]; + __IO uint32_t MRC_DOM9_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14940, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_19[64]; + __IO uint32_t MRC_DOM9_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x149C0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_20[124]; + __IO uint32_t MRC_DOM10_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14A40, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_21[64]; + __IO uint32_t MRC_DOM10_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14AC0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_22[124]; + __IO uint32_t MRC_DOM11_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14B40, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_23[64]; + __IO uint32_t MRC_DOM11_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14BC0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_24[124]; + __IO uint32_t MRC_DOM12_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14C40, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_25[64]; + __IO uint32_t MRC_DOM12_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14CC0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_26[124]; + __IO uint32_t MRC_DOM13_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14D40, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_27[64]; + __IO uint32_t MRC_DOM13_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14DC0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_28[124]; + __IO uint32_t MRC_DOM14_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14E40, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_29[64]; + __IO uint32_t MRC_DOM14_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14EC0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_30[124]; + __IO uint32_t MRC_DOM15_RGD_W[8][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x14F40, array step: index*0x1000, index2*0x8, index3*0x4, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_31[64]; + __IO uint32_t MRC_DOM15_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x14FC0, array step: 0x1000, available only on: TRDC_WAKEUPMIX/TRDC2 (missing on TRDC_AONMIX/TRDC1) */ + uint8_t RESERVED_32[60]; + } MRC_INDEX[2]; +} TRDC_MBC2_Type; + +/* ---------------------------------------------------------------------------- + -- TRDC_MBC2 Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TRDC_MBC2_Register_Masks TRDC_MBC2 Register Masks + * @{ + */ + +/*! @name TRDC_CR - TRDC Register */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_CR_GVLDM_MASK (0x1U) +#define TRDC_MBC2_TRDC_CR_GVLDM_SHIFT (0U) +/*! GVLDM - Global Valid for Domain Assignment Controllers + * 0b0..TRDC DACs are disabled. + * 0b1..TRDC DACs are enabled. + */ +#define TRDC_MBC2_TRDC_CR_GVLDM(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_CR_GVLDM_SHIFT)) & TRDC_MBC2_TRDC_CR_GVLDM_MASK) + +#define TRDC_MBC2_TRDC_CR_HRL_MASK (0x1EU) +#define TRDC_MBC2_TRDC_CR_HRL_SHIFT (1U) +/*! HRL - Hardware Revision Level */ +#define TRDC_MBC2_TRDC_CR_HRL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_CR_HRL_SHIFT)) & TRDC_MBC2_TRDC_CR_HRL_MASK) + +#define TRDC_MBC2_TRDC_CR_GVLDB_MASK (0x4000U) +#define TRDC_MBC2_TRDC_CR_GVLDB_SHIFT (14U) +/*! GVLDB - Global Valid for Memory Block Checkers + * 0b0..TRDC MBCs are disabled. + * 0b1..TRDC MBCs are enabled. + */ +#define TRDC_MBC2_TRDC_CR_GVLDB(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_CR_GVLDB_SHIFT)) & TRDC_MBC2_TRDC_CR_GVLDB_MASK) + +#define TRDC_MBC2_TRDC_CR_GVLDR_MASK (0x8000U) +#define TRDC_MBC2_TRDC_CR_GVLDR_SHIFT (15U) +/*! GVLDR - Global Valid for Memory Region Checkers + * 0b0..TRDC MRCs are disabled. + * 0b1..TRDC MRCs are enabled. + */ +#define TRDC_MBC2_TRDC_CR_GVLDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_CR_GVLDR_SHIFT)) & TRDC_MBC2_TRDC_CR_GVLDR_MASK) + +#define TRDC_MBC2_TRDC_CR_LK1_MASK (0x40000000U) +#define TRDC_MBC2_TRDC_CR_LK1_SHIFT (30U) +/*! LK1 - Lock Status + * 0b0..The CR can be written by any secure privileged write. + * 0b1..The CR is locked (read-only) until the next reset. + */ +#define TRDC_MBC2_TRDC_CR_LK1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_CR_LK1_SHIFT)) & TRDC_MBC2_TRDC_CR_LK1_MASK) +/*! @} */ + +/*! @name TRDC_HWCFG0 - TRDC Hardware Configuration Register 0 */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_HWCFG0_NDID_MASK (0x1FU) +#define TRDC_MBC2_TRDC_HWCFG0_NDID_SHIFT (0U) +/*! NDID - Number of domains */ +#define TRDC_MBC2_TRDC_HWCFG0_NDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_HWCFG0_NDID_SHIFT)) & TRDC_MBC2_TRDC_HWCFG0_NDID_MASK) + +#define TRDC_MBC2_TRDC_HWCFG0_NMSTR_MASK (0xFF00U) +#define TRDC_MBC2_TRDC_HWCFG0_NMSTR_SHIFT (8U) +/*! NMSTR - Number of bus masters */ +#define TRDC_MBC2_TRDC_HWCFG0_NMSTR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_HWCFG0_NMSTR_SHIFT)) & TRDC_MBC2_TRDC_HWCFG0_NMSTR_MASK) + +#define TRDC_MBC2_TRDC_HWCFG0_NMBC_MASK (0xF0000U) +#define TRDC_MBC2_TRDC_HWCFG0_NMBC_SHIFT (16U) +/*! NMBC - Number of MBCs */ +#define TRDC_MBC2_TRDC_HWCFG0_NMBC(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_HWCFG0_NMBC_SHIFT)) & TRDC_MBC2_TRDC_HWCFG0_NMBC_MASK) + +#define TRDC_MBC2_TRDC_HWCFG0_NMRC_MASK (0x1F000000U) +#define TRDC_MBC2_TRDC_HWCFG0_NMRC_SHIFT (24U) +/*! NMRC - Number of MRCs */ +#define TRDC_MBC2_TRDC_HWCFG0_NMRC(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_HWCFG0_NMRC_SHIFT)) & TRDC_MBC2_TRDC_HWCFG0_NMRC_MASK) + +#define TRDC_MBC2_TRDC_HWCFG0_MID_MASK (0xE0000000U) +#define TRDC_MBC2_TRDC_HWCFG0_MID_SHIFT (29U) +/*! MID - Module ID */ +#define TRDC_MBC2_TRDC_HWCFG0_MID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_HWCFG0_MID_SHIFT)) & TRDC_MBC2_TRDC_HWCFG0_MID_MASK) +/*! @} */ + +/*! @name TRDC_HWCFG1 - TRDC Hardware Configuration Register 1 */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_HWCFG1_DID_MASK (0xFU) +#define TRDC_MBC2_TRDC_HWCFG1_DID_SHIFT (0U) +/*! DID - Domain identifier number */ +#define TRDC_MBC2_TRDC_HWCFG1_DID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_HWCFG1_DID_SHIFT)) & TRDC_MBC2_TRDC_HWCFG1_DID_MASK) +/*! @} */ + +/*! @name DACFG - Domain Assignment Configuration Register */ +/*! @{ */ + +#define TRDC_MBC2_DACFG_NMDAR_MASK (0xFU) +#define TRDC_MBC2_DACFG_NMDAR_SHIFT (0U) +/*! NMDAR - Number of master domain assignment registers for bus master m */ +#define TRDC_MBC2_DACFG_NMDAR(x) (((uint8_t)(((uint8_t)(x)) << TRDC_MBC2_DACFG_NMDAR_SHIFT)) & TRDC_MBC2_DACFG_NMDAR_MASK) + +#define TRDC_MBC2_DACFG_NCM_MASK (0x80U) +#define TRDC_MBC2_DACFG_NCM_SHIFT (7U) +/*! NCM - Non-CPU Master + * 0b0..Bus master is a processor. + * 0b1..Bus master is a non-processor. + */ +#define TRDC_MBC2_DACFG_NCM(x) (((uint8_t)(((uint8_t)(x)) << TRDC_MBC2_DACFG_NCM_SHIFT)) & TRDC_MBC2_DACFG_NCM_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_DACFG */ +#define TRDC_MBC2_DACFG_COUNT (5U) + +/*! @name TRDC_IDAU_CR - TRDC IDAU Control Register */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_IDAU_CR_VLD_MASK (0x1U) +#define TRDC_MBC2_TRDC_IDAU_CR_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_TRDC_IDAU_CR_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_VLD_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_VLD_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_CFGSECEXT_MASK (0x8U) +#define TRDC_MBC2_TRDC_IDAU_CR_CFGSECEXT_SHIFT (3U) +/*! CFGSECEXT - Configure Security Extension + * 0b0..Armv8M Security Extension is disabled + * 0b1..Armv8-M Security Extension is enabled + */ +#define TRDC_MBC2_TRDC_IDAU_CR_CFGSECEXT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_CFGSECEXT_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_CFGSECEXT_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_MPUSDIS_MASK (0x10U) +#define TRDC_MBC2_TRDC_IDAU_CR_MPUSDIS_SHIFT (4U) +/*! MPUSDIS - Secure Memory Protection Unit Disabled + * 0b0..Secure MPU is enabled + * 0b1..Secure MPU is disabled + */ +#define TRDC_MBC2_TRDC_IDAU_CR_MPUSDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_MPUSDIS_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_MPUSDIS_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_MPUNSDIS_MASK (0x20U) +#define TRDC_MBC2_TRDC_IDAU_CR_MPUNSDIS_SHIFT (5U) +/*! MPUNSDIS - NonSecure Memory Protection Unit Disabled + * 0b0..Nonsecure MPU is enabled + * 0b1..Nonsecure MPU is disabled + */ +#define TRDC_MBC2_TRDC_IDAU_CR_MPUNSDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_MPUNSDIS_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_MPUNSDIS_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_SAUDIS_MASK (0x40U) +#define TRDC_MBC2_TRDC_IDAU_CR_SAUDIS_SHIFT (6U) +/*! SAUDIS - Security Attribution Unit Disable + * 0b0..SAU is enabled + * 0b1..SAU is disabled + */ +#define TRDC_MBC2_TRDC_IDAU_CR_SAUDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_SAUDIS_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_SAUDIS_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_LKSVTAIRCR_MASK (0x100U) +#define TRDC_MBC2_TRDC_IDAU_CR_LKSVTAIRCR_SHIFT (8U) +/*! LKSVTAIRCR - Lock Secure VTOR, Application interrupt and Reset Control Registers + * 0b0..Unlock these registers + * 0b1..Disable writes to the VTOR_S, AIRCR[PRIS], and AIRCR[BFHFNMINS] registers + */ +#define TRDC_MBC2_TRDC_IDAU_CR_LKSVTAIRCR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_LKSVTAIRCR_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_LKSVTAIRCR_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_LKNSVTOR_MASK (0x200U) +#define TRDC_MBC2_TRDC_IDAU_CR_LKNSVTOR_SHIFT (9U) +/*! LKNSVTOR - Lock Nonsecure Vector Table Offset Register + * 0b0..Unlock this register + * 0b1..Disable writes to the VTOR_NS register + */ +#define TRDC_MBC2_TRDC_IDAU_CR_LKNSVTOR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_LKNSVTOR_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_LKNSVTOR_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_LKSMPU_MASK (0x400U) +#define TRDC_MBC2_TRDC_IDAU_CR_LKSMPU_SHIFT (10U) +/*! LKSMPU - Lock Secure MPU + * 0b0..Unlock these registers + * 0b1..Disable writes to the MPU_CTRL, MPU_RNR, MPU_RBAR, MPU_RLAR, MPU_RBAR_An and MPU_RLAR_An from software or + * from a debug agent connected to the processor in Secure state + */ +#define TRDC_MBC2_TRDC_IDAU_CR_LKSMPU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_LKSMPU_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_LKSMPU_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_LKNSMPU_MASK (0x800U) +#define TRDC_MBC2_TRDC_IDAU_CR_LKNSMPU_SHIFT (11U) +/*! LKNSMPU - Lock Nonsecure MPU + * 0b0..Unlock these registers + * 0b1..Disable writes to the MPU_CTRL_NS, MPU_RNR_NS, MPU_RBAR_NS, MPU_RLAR_NS, MPU_RBAR_A_NSn and + * MPU_RLAR_A_NSn from software or from a debug agent connected to the processor + */ +#define TRDC_MBC2_TRDC_IDAU_CR_LKNSMPU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_LKNSMPU_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_LKNSMPU_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_LKSAU_MASK (0x1000U) +#define TRDC_MBC2_TRDC_IDAU_CR_LKSAU_SHIFT (12U) +/*! LKSAU - Lock SAU + * 0b0..Unlock these registers + * 0b1..Disable writes to the SAU_CTRL, SAU_RNR, SAU_RBAR and SAU_RLAR registers from software or from a debug agent connected to the processor + */ +#define TRDC_MBC2_TRDC_IDAU_CR_LKSAU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_LKSAU_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_LKSAU_MASK) + +#define TRDC_MBC2_TRDC_IDAU_CR_PCURRNS_MASK (0x80000000U) +#define TRDC_MBC2_TRDC_IDAU_CR_PCURRNS_SHIFT (31U) +/*! PCURRNS - Processor current security + * 0b0..Processor is in Secure state + * 0b1..Processor is in Nonsecure state + */ +#define TRDC_MBC2_TRDC_IDAU_CR_PCURRNS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_IDAU_CR_PCURRNS_SHIFT)) & TRDC_MBC2_TRDC_IDAU_CR_PCURRNS_MASK) +/*! @} */ + +/*! @name TRDC_FLW_CTL - TRDC FLW Control */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_FLW_CTL_LK_MASK (0x40000000U) +#define TRDC_MBC2_TRDC_FLW_CTL_LK_SHIFT (30U) +/*! LK - Lock bit + * 0b0..FLW registers may be modified. + * 0b1..FLW registers are locked until the next reset. + */ +#define TRDC_MBC2_TRDC_FLW_CTL_LK(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_FLW_CTL_LK_SHIFT)) & TRDC_MBC2_TRDC_FLW_CTL_LK_MASK) + +#define TRDC_MBC2_TRDC_FLW_CTL_V_MASK (0x80000000U) +#define TRDC_MBC2_TRDC_FLW_CTL_V_SHIFT (31U) +/*! V - Valid bit + * 0b0..FLW function is disabled. + * 0b1..FLW function is enabled. + */ +#define TRDC_MBC2_TRDC_FLW_CTL_V(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_FLW_CTL_V_SHIFT)) & TRDC_MBC2_TRDC_FLW_CTL_V_MASK) +/*! @} */ + +/*! @name TRDC_FLW_PBASE - TRDC FLW Physical Base */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_FLW_PBASE_PBASE_MASK (0xFFFFFFFFU) +#define TRDC_MBC2_TRDC_FLW_PBASE_PBASE_SHIFT (0U) +/*! PBASE - Physical base address */ +#define TRDC_MBC2_TRDC_FLW_PBASE_PBASE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_FLW_PBASE_PBASE_SHIFT)) & TRDC_MBC2_TRDC_FLW_PBASE_PBASE_MASK) +/*! @} */ + +/*! @name TRDC_FLW_ABASE - TRDC FLW Array Base */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_FLW_ABASE_ABASE_L_MASK (0x3F8000U) +#define TRDC_MBC2_TRDC_FLW_ABASE_ABASE_L_SHIFT (15U) +/*! ABASE_L - Array base address low */ +#define TRDC_MBC2_TRDC_FLW_ABASE_ABASE_L(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_FLW_ABASE_ABASE_L_SHIFT)) & TRDC_MBC2_TRDC_FLW_ABASE_ABASE_L_MASK) + +#define TRDC_MBC2_TRDC_FLW_ABASE_ABASE_H_MASK (0xFFC00000U) +#define TRDC_MBC2_TRDC_FLW_ABASE_ABASE_H_SHIFT (22U) +/*! ABASE_H - Array base address high */ +#define TRDC_MBC2_TRDC_FLW_ABASE_ABASE_H(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_FLW_ABASE_ABASE_H_SHIFT)) & TRDC_MBC2_TRDC_FLW_ABASE_ABASE_H_MASK) +/*! @} */ + +/*! @name TRDC_FLW_BCNT - TRDC FLW Block Count */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_FLW_BCNT_BCNT_MASK (0x7FFFU) +#define TRDC_MBC2_TRDC_FLW_BCNT_BCNT_SHIFT (0U) +/*! BCNT - Block Count */ +#define TRDC_MBC2_TRDC_FLW_BCNT_BCNT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_FLW_BCNT_BCNT_SHIFT)) & TRDC_MBC2_TRDC_FLW_BCNT_BCNT_MASK) +/*! @} */ + +/*! @name TRDC_FDID - TRDC Fault Domain ID */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_FDID_FDID_MASK (0xFU) +#define TRDC_MBC2_TRDC_FDID_FDID_SHIFT (0U) +/*! FDID - Domain ID of Faulted Access */ +#define TRDC_MBC2_TRDC_FDID_FDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_FDID_FDID_SHIFT)) & TRDC_MBC2_TRDC_FDID_FDID_MASK) +/*! @} */ + +/*! @name TRDC_DERRLOC - TRDC Domain Error Location Register */ +/*! @{ */ + +#define TRDC_MBC2_TRDC_DERRLOC_MBCINST_MASK (0xFFU) +#define TRDC_MBC2_TRDC_DERRLOC_MBCINST_SHIFT (0U) +/*! MBCINST - MBC instance */ +#define TRDC_MBC2_TRDC_DERRLOC_MBCINST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_DERRLOC_MBCINST_SHIFT)) & TRDC_MBC2_TRDC_DERRLOC_MBCINST_MASK) + +#define TRDC_MBC2_TRDC_DERRLOC_MRCINST_MASK (0xFFFF0000U) +#define TRDC_MBC2_TRDC_DERRLOC_MRCINST_SHIFT (16U) +/*! MRCINST - MRC instance */ +#define TRDC_MBC2_TRDC_DERRLOC_MRCINST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_TRDC_DERRLOC_MRCINST_SHIFT)) & TRDC_MBC2_TRDC_DERRLOC_MRCINST_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_TRDC_DERRLOC */ +#define TRDC_MBC2_TRDC_DERRLOC_COUNT (16U) + +/*! @name W0 - MBC Domain Error Word0 Register */ +/*! @{ */ + +#define TRDC_MBC2_W0_EADDR_MASK (0xFFFFFFFFU) +#define TRDC_MBC2_W0_EADDR_SHIFT (0U) +/*! EADDR - Error address */ +#define TRDC_MBC2_W0_EADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W0_EADDR_SHIFT)) & TRDC_MBC2_W0_EADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_W0 */ +#define TRDC_MBC2_W0_COUNT (2U) + +/*! @name W1 - MBC Domain Error Word1 Register */ +/*! @{ */ + +#define TRDC_MBC2_W1_EDID_MASK (0xFU) +#define TRDC_MBC2_W1_EDID_SHIFT (0U) +/*! EDID - Error domain identifier */ +#define TRDC_MBC2_W1_EDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_EDID_SHIFT)) & TRDC_MBC2_W1_EDID_MASK) + +#define TRDC_MBC2_W1_EATR_MASK (0x700U) +#define TRDC_MBC2_W1_EATR_SHIFT (8U) +/*! EATR - Error attributes + * 0b000..Secure user mode, instruction fetch access. + * 0b001..Secure user mode, data access. + * 0b010..Secure privileged mode, instruction fetch access. + * 0b011..Secure privileged mode, data access. + * 0b100..Nonsecure user mode, instruction fetch access. + * 0b101..Nonsecure user mode, data access. + * 0b110..Nonsecure privileged mode, instruction fetch access. + * 0b111..Nonsecure privileged mode, data access. + */ +#define TRDC_MBC2_W1_EATR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_EATR_SHIFT)) & TRDC_MBC2_W1_EATR_MASK) + +#define TRDC_MBC2_W1_ERW_MASK (0x800U) +#define TRDC_MBC2_W1_ERW_SHIFT (11U) +/*! ERW - Error read/write + * 0b0..Read access + * 0b1..Write access + */ +#define TRDC_MBC2_W1_ERW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_ERW_SHIFT)) & TRDC_MBC2_W1_ERW_MASK) + +#define TRDC_MBC2_W1_EPORT_MASK (0x7000000U) +#define TRDC_MBC2_W1_EPORT_SHIFT (24U) +/*! EPORT - Error port + * 0b000..mbcxslv0 + * 0b001..mbcxslv1 + * 0b010..mbcxslv2 + * 0b011..mbcxslv3 + */ +#define TRDC_MBC2_W1_EPORT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_EPORT_SHIFT)) & TRDC_MBC2_W1_EPORT_MASK) + +#define TRDC_MBC2_W1_EST_MASK (0xC0000000U) +#define TRDC_MBC2_W1_EST_SHIFT (30U) +/*! EST - Error state + * 0b00..No access violation has been detected. + * 0b01..No access violation has been detected. + * 0b10..A single access violation has been detected. + * 0b11..Multiple access violations for this domain have been detected by this submodule instance. Only the + * address and attribute information for the first error have been captured in DERR_W0_i and DERR_W1_i. + */ +#define TRDC_MBC2_W1_EST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_EST_SHIFT)) & TRDC_MBC2_W1_EST_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_W1 */ +#define TRDC_MBC2_W1_COUNT (2U) + +/*! @name W3 - MBC Domain Error Word3 Register */ +/*! @{ */ + +#define TRDC_MBC2_W3_RECR_MASK (0xC0000000U) +#define TRDC_MBC2_W3_RECR_SHIFT (30U) +/*! RECR - Rearm Error Capture Registers */ +#define TRDC_MBC2_W3_RECR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W3_RECR_SHIFT)) & TRDC_MBC2_W3_RECR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_W3 */ +#define TRDC_MBC2_W3_COUNT (2U) + +/*! @name W0 - MRC Domain Error Word0 Register */ +/*! @{ */ + +#define TRDC_MBC2_W0_EADDR_MASK (0xFFFFFFFFU) +#define TRDC_MBC2_W0_EADDR_SHIFT (0U) +/*! EADDR - Error address */ +#define TRDC_MBC2_W0_EADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W0_EADDR_SHIFT)) & TRDC_MBC2_W0_EADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_W0 */ +#define TRDC_MBC2_MRC_DERR_W0_COUNT (2U) + +/*! @name W1 - MRC Domain Error Word1 Register */ +/*! @{ */ + +#define TRDC_MBC2_W1_EDID_MASK (0xFU) +#define TRDC_MBC2_W1_EDID_SHIFT (0U) +/*! EDID - Error domain identifier */ +#define TRDC_MBC2_W1_EDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_EDID_SHIFT)) & TRDC_MBC2_W1_EDID_MASK) + +#define TRDC_MBC2_W1_EATR_MASK (0x700U) +#define TRDC_MBC2_W1_EATR_SHIFT (8U) +/*! EATR - Error attributes + * 0b000..Secure user mode, instruction fetch access. + * 0b001..Secure user mode, data access. + * 0b010..Secure privileged mode, instruction fetch access. + * 0b011..Secure privileged mode, data access. + * 0b100..Nonsecure user mode, instruction fetch access. + * 0b101..Nonsecure user mode, data access. + * 0b110..Nonsecure privileged mode, instruction fetch access. + * 0b111..Nonsecure privileged mode, data access. + */ +#define TRDC_MBC2_W1_EATR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_EATR_SHIFT)) & TRDC_MBC2_W1_EATR_MASK) + +#define TRDC_MBC2_W1_ERW_MASK (0x800U) +#define TRDC_MBC2_W1_ERW_SHIFT (11U) +/*! ERW - Error read/write + * 0b0..Read access + * 0b1..Write access + */ +#define TRDC_MBC2_W1_ERW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_ERW_SHIFT)) & TRDC_MBC2_W1_ERW_MASK) + +#define TRDC_MBC2_W1_EPORT_MASK (0x7000000U) +#define TRDC_MBC2_W1_EPORT_SHIFT (24U) +/*! EPORT - Error port */ +#define TRDC_MBC2_W1_EPORT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_EPORT_SHIFT)) & TRDC_MBC2_W1_EPORT_MASK) + +#define TRDC_MBC2_W1_EST_MASK (0xC0000000U) +#define TRDC_MBC2_W1_EST_SHIFT (30U) +/*! EST - Error state + * 0b00..No access violation has been detected. + * 0b01..No access violation has been detected. + * 0b10..A single access violation has been detected. + * 0b11..Multiple access violations for this domain have been detected by this submodule instance. Only the + * address and attribute information for the first error have been captured in DERR_W0_i and DERR_W1_i. + */ +#define TRDC_MBC2_W1_EST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W1_EST_SHIFT)) & TRDC_MBC2_W1_EST_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_W1 */ +#define TRDC_MBC2_MRC_DERR_W1_COUNT (2U) + +/*! @name W3 - MRC Domain Error Word3 Register */ +/*! @{ */ + +#define TRDC_MBC2_W3_RECR_MASK (0xC0000000U) +#define TRDC_MBC2_W3_RECR_SHIFT (30U) +/*! RECR - Rearm Error Capture Registers */ +#define TRDC_MBC2_W3_RECR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_W3_RECR_SHIFT)) & TRDC_MBC2_W3_RECR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_W3 */ +#define TRDC_MBC2_MRC_DERR_W3_COUNT (2U) + +/*! @name MDA_W_DFMT1 - DAC Master Domain Assignment Register */ +/*! @{ */ + +#define TRDC_MBC2_MDA_W_DFMT1_DID_MASK (0xFU) +#define TRDC_MBC2_MDA_W_DFMT1_DID_SHIFT (0U) +/*! DID - Domain identifier */ +#define TRDC_MBC2_MDA_W_DFMT1_DID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MDA_W_DFMT1_DID_SHIFT)) & TRDC_MBC2_MDA_W_DFMT1_DID_MASK) + +#define TRDC_MBC2_MDA_W_DFMT1_PA_MASK (0x30U) +#define TRDC_MBC2_MDA_W_DFMT1_PA_SHIFT (4U) +/*! PA - Privileged attribute + * 0b00..Force the bus attribute for this master to user. + * 0b01..Force the bus attribute for this master to privileged. + * 0b10..Use the bus master's privileged/user attribute directly. + * 0b11..Use the bus master's privileged/user attribute directly. + */ +#define TRDC_MBC2_MDA_W_DFMT1_PA(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MDA_W_DFMT1_PA_SHIFT)) & TRDC_MBC2_MDA_W_DFMT1_PA_MASK) + +#define TRDC_MBC2_MDA_W_DFMT1_SA_MASK (0xC0U) +#define TRDC_MBC2_MDA_W_DFMT1_SA_SHIFT (6U) +/*! SA - Secure attribute + * 0b00..Force the bus attribute for this master to secure. + * 0b01..Force the bus attribute for this master to nonsecure. + * 0b10..Use the bus master's secure/nonsecure attribute directly. + * 0b11..Use the bus master's secure/nonsecure attribute directly. + */ +#define TRDC_MBC2_MDA_W_DFMT1_SA(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MDA_W_DFMT1_SA_SHIFT)) & TRDC_MBC2_MDA_W_DFMT1_SA_MASK) + +#define TRDC_MBC2_MDA_W_DFMT1_DIDB_MASK (0x100U) +#define TRDC_MBC2_MDA_W_DFMT1_DIDB_SHIFT (8U) +/*! DIDB - DID Bypass + * 0b0..Use MDAn[3:0] as the domain identifier. + * 0b1..Use the DID input as the domain identifier. + */ +#define TRDC_MBC2_MDA_W_DFMT1_DIDB(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MDA_W_DFMT1_DIDB_SHIFT)) & TRDC_MBC2_MDA_W_DFMT1_DIDB_MASK) + +#define TRDC_MBC2_MDA_W_DFMT1_DFMT_MASK (0x20000000U) +#define TRDC_MBC2_MDA_W_DFMT1_DFMT_SHIFT (29U) +/*! DFMT - Domain format + * 0b0..Processor-core domain assignment + * 0b1..Non-processor domain assignment + */ +#define TRDC_MBC2_MDA_W_DFMT1_DFMT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MDA_W_DFMT1_DFMT_SHIFT)) & TRDC_MBC2_MDA_W_DFMT1_DFMT_MASK) + +#define TRDC_MBC2_MDA_W_DFMT1_LK1_MASK (0x40000000U) +#define TRDC_MBC2_MDA_W_DFMT1_LK1_SHIFT (30U) +/*! LK1 - 1-bit Lock + * 0b0..Register can be written by any secure privileged write. + * 0b1..Register is locked (read-only) until the next reset. + */ +#define TRDC_MBC2_MDA_W_DFMT1_LK1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MDA_W_DFMT1_LK1_SHIFT)) & TRDC_MBC2_MDA_W_DFMT1_LK1_MASK) + +#define TRDC_MBC2_MDA_W_DFMT1_VLD_MASK (0x80000000U) +#define TRDC_MBC2_MDA_W_DFMT1_VLD_SHIFT (31U) +/*! VLD - Valid + * 0b0..The Wr domain assignment is invalid. + * 0b1..The Wr domain assignment is valid. + */ +#define TRDC_MBC2_MDA_W_DFMT1_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MDA_W_DFMT1_VLD_SHIFT)) & TRDC_MBC2_MDA_W_DFMT1_VLD_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MDA_W_DFMT1 */ +#define TRDC_MBC2_MDA_W_DFMT1_COUNT (5U) + +/* The count of TRDC_MBC2_MDA_W_DFMT1 */ +#define TRDC_MBC2_MDA_W_DFMT1_COUNT2 (1U) + +/*! @name MBC_MEM_GLBCFG - MBC Global Configuration Register */ +/*! @{ */ + +#define TRDC_MBC2_MBC_MEM_GLBCFG_NBLKS_MASK (0x3FFU) +#define TRDC_MBC2_MBC_MEM_GLBCFG_NBLKS_SHIFT (0U) +/*! NBLKS - Number of blocks in this memory */ +#define TRDC_MBC2_MBC_MEM_GLBCFG_NBLKS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEM_GLBCFG_NBLKS_SHIFT)) & TRDC_MBC2_MBC_MEM_GLBCFG_NBLKS_MASK) + +#define TRDC_MBC2_MBC_MEM_GLBCFG_SIZE_LOG2_MASK (0x1F0000U) +#define TRDC_MBC2_MBC_MEM_GLBCFG_SIZE_LOG2_SHIFT (16U) +/*! SIZE_LOG2 - Log2 size per block */ +#define TRDC_MBC2_MBC_MEM_GLBCFG_SIZE_LOG2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEM_GLBCFG_SIZE_LOG2_SHIFT)) & TRDC_MBC2_MBC_MEM_GLBCFG_SIZE_LOG2_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_MEM_GLBCFG */ +#define TRDC_MBC2_MBC_MEM_GLBCFG_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_MEM_GLBCFG */ +#define TRDC_MBC2_MBC_MEM_GLBCFG_COUNT2 (4U) + +/*! @name MBC_NSE_BLK_INDEX - MBC NonSecure Enable Block Index */ +/*! @{ */ + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_AI_MASK (0x1U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_AI_SHIFT (0U) +/*! AI - Auto Increment + * 0b0..No effect. + * 0b1..Add 1 to the WNDX field after the register write. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_AI(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_AI_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_AI_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_WNDX_MASK (0x3CU) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_WNDX_SHIFT (2U) +/*! WNDX - Word index into the block NSE bitmap. It selects the BLK_NSE_Wn register, where WNDX determines the value of n. */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_WNDX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_WNDX_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_WNDX_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_MEM_SEL_MASK (0xF00U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_MEM_SEL_SHIFT (8U) +/*! MEM_SEL - Memory Select */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_MEM_SEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_MEM_SEL_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_MEM_SEL_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL0_MASK (0x10000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL0_SHIFT (16U) +/*! DID_SEL0 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL0_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL0_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL1_MASK (0x20000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL1_SHIFT (17U) +/*! DID_SEL1 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL1_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL1_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL2_MASK (0x40000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL2_SHIFT (18U) +/*! DID_SEL2 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL2_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL2_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL3_MASK (0x80000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL3_SHIFT (19U) +/*! DID_SEL3 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL3_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL3_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL4_MASK (0x100000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL4_SHIFT (20U) +/*! DID_SEL4 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL4_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL4_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL5_MASK (0x200000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL5_SHIFT (21U) +/*! DID_SEL5 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL5_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL5_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL6_MASK (0x400000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL6_SHIFT (22U) +/*! DID_SEL6 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL6_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL6_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL7_MASK (0x800000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL7_SHIFT (23U) +/*! DID_SEL7 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL7_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL7_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL8_MASK (0x1000000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL8_SHIFT (24U) +/*! DID_SEL8 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL8_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL8_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL9_MASK (0x2000000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL9_SHIFT (25U) +/*! DID_SEL9 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL9_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL9_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL10_MASK (0x4000000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL10_SHIFT (26U) +/*! DID_SEL10 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL10_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL10_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL11_MASK (0x8000000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL11_SHIFT (27U) +/*! DID_SEL11 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL11_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL11_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL12_MASK (0x10000000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL12_SHIFT (28U) +/*! DID_SEL12 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL12_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL12_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL13_MASK (0x20000000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL13_SHIFT (29U) +/*! DID_SEL13 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL13_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL13_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL14_MASK (0x40000000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL14_SHIFT (30U) +/*! DID_SEL14 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL14_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL14_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL15_MASK (0x80000000U) +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL15_SHIFT (31U) +/*! DID_SEL15 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL15_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_INDEX_DID_SEL15_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_NSE_BLK_INDEX */ +#define TRDC_MBC2_MBC_NSE_BLK_INDEX_COUNT (2U) + +/*! @name MBC_NSE_BLK_SET - MBC NonSecure Enable Block Set */ +/*! @{ */ + +#define TRDC_MBC2_MBC_NSE_BLK_SET_W1SET_MASK (0xFFFFFFFFU) +#define TRDC_MBC2_MBC_NSE_BLK_SET_W1SET_SHIFT (0U) +/*! W1SET - Write-1 Set */ +#define TRDC_MBC2_MBC_NSE_BLK_SET_W1SET(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_SET_W1SET_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_SET_W1SET_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_NSE_BLK_SET */ +#define TRDC_MBC2_MBC_NSE_BLK_SET_COUNT (2U) + +/*! @name MBC_NSE_BLK_CLR - MBC NonSecure Enable Block Clear */ +/*! @{ */ + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_W1CLR_MASK (0xFFFFFFFFU) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_W1CLR_SHIFT (0U) +/*! W1CLR - Write-1 Clear */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_W1CLR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_W1CLR_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_W1CLR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_NSE_BLK_CLR */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_COUNT (2U) + +/*! @name MBC_NSE_BLK_CLR_ALL - MBC NonSecure Enable Block Clear All */ +/*! @{ */ + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_MEMSEL_MASK (0xF00U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_MEMSEL_SHIFT (8U) +/*! MEMSEL - Memory Select */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_MEMSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_MEMSEL_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_MEMSEL_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL0_MASK (0x10000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL0_SHIFT (16U) +/*! DID_SEL0 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL0_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL0_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL1_MASK (0x20000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL1_SHIFT (17U) +/*! DID_SEL1 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL1_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL1_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL2_MASK (0x40000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL2_SHIFT (18U) +/*! DID_SEL2 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL2_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL2_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL3_MASK (0x80000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL3_SHIFT (19U) +/*! DID_SEL3 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL3_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL3_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL4_MASK (0x100000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL4_SHIFT (20U) +/*! DID_SEL4 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL4_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL4_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL5_MASK (0x200000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL5_SHIFT (21U) +/*! DID_SEL5 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL5_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL5_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL6_MASK (0x400000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL6_SHIFT (22U) +/*! DID_SEL6 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL6_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL6_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL7_MASK (0x800000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL7_SHIFT (23U) +/*! DID_SEL7 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL7_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL7_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL8_MASK (0x1000000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL8_SHIFT (24U) +/*! DID_SEL8 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL8_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL8_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL9_MASK (0x2000000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL9_SHIFT (25U) +/*! DID_SEL9 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL9_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL9_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL10_MASK (0x4000000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL10_SHIFT (26U) +/*! DID_SEL10 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL10_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL10_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL11_MASK (0x8000000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL11_SHIFT (27U) +/*! DID_SEL11 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL11_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL11_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL12_MASK (0x10000000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL12_SHIFT (28U) +/*! DID_SEL12 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL12_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL12_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL13_MASK (0x20000000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL13_SHIFT (29U) +/*! DID_SEL13 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL13_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL13_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL14_MASK (0x40000000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL14_SHIFT (30U) +/*! DID_SEL14 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL14_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL14_MASK) + +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL15_MASK (0x80000000U) +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL15_SHIFT (31U) +/*! DID_SEL15 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL15_SHIFT)) & TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_DID_SEL15_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_NSE_BLK_CLR_ALL */ +#define TRDC_MBC2_MBC_NSE_BLK_CLR_ALL_COUNT (2U) + +/*! @name MBC_MEMN_GLBAC - MBC Global Access Control */ +/*! @{ */ + +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUX_MASK (0x1U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUX_SHIFT (0U) +/*! NUX - NonsecureUser Execute + * 0b0..Execute access is not allowed in Nonsecure User mode. + * 0b1..Execute access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_NUX_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_NUX_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUW_MASK (0x2U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUW_SHIFT (1U) +/*! NUW - NonsecureUser Write + * 0b0..Write access is not allowed in Nonsecure User mode. + * 0b1..Write access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_NUW_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_NUW_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUR_MASK (0x4U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUR_SHIFT (2U) +/*! NUR - NonsecureUser Read + * 0b0..Read access is not allowed in Nonsecure User mode. + * 0b1..Read access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_NUR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_NUR_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_NUR_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPX_MASK (0x10U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPX_SHIFT (4U) +/*! NPX - NonsecurePriv Execute + * 0b0..Execute access is not allowed in Nonsecure Privilege mode. + * 0b1..Execute access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_NPX_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_NPX_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPW_MASK (0x20U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPW_SHIFT (5U) +/*! NPW - NonsecurePriv Write + * 0b0..Write access is not allowed in Nonsecure Privilege mode. + * 0b1..Write access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_NPW_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_NPW_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPR_MASK (0x40U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPR_SHIFT (6U) +/*! NPR - NonsecurePriv Read + * 0b0..Read access is not allowed in Nonsecure Privilege mode. + * 0b1..Read access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_NPR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_NPR_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_NPR_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUX_MASK (0x100U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUX_SHIFT (8U) +/*! SUX - SecureUser Execute + * 0b0..Execute access is not allowed in Secure User mode. + * 0b1..Execute access is allowed in Secure User mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_SUX_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_SUX_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUW_MASK (0x200U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUW_SHIFT (9U) +/*! SUW - SecureUser Write + * 0b0..Write access is not allowed in Secure User mode. + * 0b1..Write access is allowed in Secure User mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_SUW_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_SUW_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUR_MASK (0x400U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUR_SHIFT (10U) +/*! SUR - SecureUser Read + * 0b0..Read access is not allowed in Secure User mode. + * 0b1..Read access is allowed in Secure User mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_SUR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_SUR_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_SUR_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPX_MASK (0x1000U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPX_SHIFT (12U) +/*! SPX - SecurePriv Execute + * 0b0..Execute access is not allowed in Secure Privilege mode. + * 0b1..Execute access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_SPX_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_SPX_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPW_MASK (0x2000U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPW_SHIFT (13U) +/*! SPW - SecurePriv Write + * 0b0..Write access is not allowed in Secure Privilege mode. + * 0b1..Write access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_SPW_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_SPW_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPR_MASK (0x4000U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPR_SHIFT (14U) +/*! SPR - SecurePriv Read + * 0b0..Read access is not allowed in Secure Privilege mode. + * 0b1..Read access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_SPR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_SPR_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_SPR_MASK) + +#define TRDC_MBC2_MBC_MEMN_GLBAC_LK_MASK (0x80000000U) +#define TRDC_MBC2_MBC_MEMN_GLBAC_LK_SHIFT (31U) +/*! LK - LOCK + * 0b0..This register is not locked and can be altered. + * 0b1..This register is locked and cannot be altered. + */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_LK(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_MEMN_GLBAC_LK_SHIFT)) & TRDC_MBC2_MBC_MEMN_GLBAC_LK_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_MEMN_GLBAC */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_MEMN_GLBAC */ +#define TRDC_MBC2_MBC_MEMN_GLBAC_COUNT2 (8U) + +/*! @name MBC_DOM0_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM0_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM0_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM0_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM0_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM0_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM0_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM0_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM0_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM0_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM0_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM0_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM1_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM1_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM1_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM1_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM1_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM1_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM1_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM1_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM1_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM1_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM1_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM1_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM2_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM2_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM2_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM2_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM2_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM2_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM2_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM2_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM2_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM2_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM2_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM2_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM3_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM3_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM3_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM3_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM3_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM3_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM3_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM3_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM3_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM3_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM3_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM3_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM4_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM4_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM4_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM4_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM4_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM4_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM4_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM4_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM4_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM4_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM4_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM4_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM5_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM5_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM5_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM5_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM5_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM5_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM5_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM5_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM5_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM5_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM5_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM5_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM6_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM6_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM6_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM6_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM6_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM6_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM6_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM6_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM6_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM6_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM6_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM6_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM7_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM7_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM7_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM7_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM7_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM7_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM7_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM7_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM7_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM7_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM7_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM7_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM8_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM8_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM8_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM8_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM8_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM8_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM8_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM8_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM8_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM8_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM8_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM8_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM9_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM9_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM9_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM9_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM9_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM9_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM9_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM9_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM9_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM9_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM9_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM9_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM10_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM10_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM10_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM10_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM10_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM10_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM10_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM10_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM10_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM10_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM10_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM10_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM11_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM11_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM11_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM11_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM11_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM11_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM11_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM11_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM11_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM11_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM11_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM11_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM12_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM12_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM12_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM12_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM12_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM12_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM12_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM12_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM12_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM12_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM12_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM12_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM13_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM13_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM13_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM13_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM13_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM13_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM13_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM13_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM13_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM13_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM13_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM13_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM14_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM14_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM14_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM14_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM14_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM14_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM14_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM14_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM14_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM14_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM14_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM14_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM15_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_CFG_W_COUNT2 (16U) + +/*! @name MBC_DOM15_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM15_MEM0_BLK_NSE_W_COUNT2 (4U) + +/*! @name MBC_DOM15_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM15_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM15_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM15_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_CFG_W_COUNT2 (1U) + +/*! @name MBC_DOM15_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM15_MEM2_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM15_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM15_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_COUNT (2U) + +/* The count of TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W */ +#define TRDC_MBC2_MBC_DOM15_MEM3_BLK_NSE_W_COUNT2 (1U) + +/*! @name MRC_GLBCFG - MRC Global Configuration Register */ +/*! @{ */ + +#define TRDC_MBC2_MRC_GLBCFG_NRGNS_MASK (0x1FU) +#define TRDC_MBC2_MRC_GLBCFG_NRGNS_SHIFT (0U) +/*! NRGNS - Number of regions [1-16] */ +#define TRDC_MBC2_MRC_GLBCFG_NRGNS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBCFG_NRGNS_SHIFT)) & TRDC_MBC2_MRC_GLBCFG_NRGNS_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_GLBCFG */ +#define TRDC_MBC2_MRC_GLBCFG_COUNT (2U) + +/*! @name MRC_NSE_RGN_INDIRECT - MRC NonSecure Enable Region Indirect */ +/*! @{ */ + +#define TRDC_MBC2_MRC_NSE_RGN_INDIRECT_DID_SEL_MASK (0xFFFF0000U) +#define TRDC_MBC2_MRC_NSE_RGN_INDIRECT_DID_SEL_SHIFT (16U) +/*! DID_SEL - DID Select */ +#define TRDC_MBC2_MRC_NSE_RGN_INDIRECT_DID_SEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_NSE_RGN_INDIRECT_DID_SEL_SHIFT)) & TRDC_MBC2_MRC_NSE_RGN_INDIRECT_DID_SEL_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_NSE_RGN_INDIRECT */ +#define TRDC_MBC2_MRC_NSE_RGN_INDIRECT_COUNT (2U) + +/*! @name MRC_NSE_RGN_SET - MRC NonSecure Enable Region Set */ +/*! @{ */ + +#define TRDC_MBC2_MRC_NSE_RGN_SET_W1SET_MASK (0xFFFFU) +#define TRDC_MBC2_MRC_NSE_RGN_SET_W1SET_SHIFT (0U) +/*! W1SET - Write-1 Set */ +#define TRDC_MBC2_MRC_NSE_RGN_SET_W1SET(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_NSE_RGN_SET_W1SET_SHIFT)) & TRDC_MBC2_MRC_NSE_RGN_SET_W1SET_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_NSE_RGN_SET */ +#define TRDC_MBC2_MRC_NSE_RGN_SET_COUNT (2U) + +/*! @name MRC_NSE_RGN_CLR - MRC NonSecure Enable Region Clear */ +/*! @{ */ + +#define TRDC_MBC2_MRC_NSE_RGN_CLR_W1CLR_MASK (0xFFFFU) +#define TRDC_MBC2_MRC_NSE_RGN_CLR_W1CLR_SHIFT (0U) +/*! W1CLR - Write-1 Clear */ +#define TRDC_MBC2_MRC_NSE_RGN_CLR_W1CLR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_NSE_RGN_CLR_W1CLR_SHIFT)) & TRDC_MBC2_MRC_NSE_RGN_CLR_W1CLR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_NSE_RGN_CLR */ +#define TRDC_MBC2_MRC_NSE_RGN_CLR_COUNT (2U) + +/*! @name MRC_NSE_RGN_CLR_ALL - MRC NonSecure Enable Region Clear All */ +/*! @{ */ + +#define TRDC_MBC2_MRC_NSE_RGN_CLR_ALL_DID_SEL_MASK (0xFFFF0000U) +#define TRDC_MBC2_MRC_NSE_RGN_CLR_ALL_DID_SEL_SHIFT (16U) +/*! DID_SEL - DID Select */ +#define TRDC_MBC2_MRC_NSE_RGN_CLR_ALL_DID_SEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_NSE_RGN_CLR_ALL_DID_SEL_SHIFT)) & TRDC_MBC2_MRC_NSE_RGN_CLR_ALL_DID_SEL_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_NSE_RGN_CLR_ALL */ +#define TRDC_MBC2_MRC_NSE_RGN_CLR_ALL_COUNT (2U) + +/*! @name MRC_GLBAC - MRC Global Access Control */ +/*! @{ */ + +#define TRDC_MBC2_MRC_GLBAC_NUX_MASK (0x1U) +#define TRDC_MBC2_MRC_GLBAC_NUX_SHIFT (0U) +/*! NUX - NonsecureUser Execute + * 0b0..Execute access is not allowed in Nonsecure User mode. + * 0b1..Execute access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC2_MRC_GLBAC_NUX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_NUX_SHIFT)) & TRDC_MBC2_MRC_GLBAC_NUX_MASK) + +#define TRDC_MBC2_MRC_GLBAC_NUW_MASK (0x2U) +#define TRDC_MBC2_MRC_GLBAC_NUW_SHIFT (1U) +/*! NUW - NonsecureUser Write + * 0b0..Write access is not allowed in Nonsecure User mode. + * 0b1..Write access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC2_MRC_GLBAC_NUW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_NUW_SHIFT)) & TRDC_MBC2_MRC_GLBAC_NUW_MASK) + +#define TRDC_MBC2_MRC_GLBAC_NUR_MASK (0x4U) +#define TRDC_MBC2_MRC_GLBAC_NUR_SHIFT (2U) +/*! NUR - NonsecureUser Read + * 0b0..Read access is not allowed in Nonsecure User mode. + * 0b1..Read access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC2_MRC_GLBAC_NUR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_NUR_SHIFT)) & TRDC_MBC2_MRC_GLBAC_NUR_MASK) + +#define TRDC_MBC2_MRC_GLBAC_NPX_MASK (0x10U) +#define TRDC_MBC2_MRC_GLBAC_NPX_SHIFT (4U) +/*! NPX - NonsecurePriv Execute + * 0b0..Execute access is not allowed in Nonsecure Privilege mode. + * 0b1..Execute access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC2_MRC_GLBAC_NPX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_NPX_SHIFT)) & TRDC_MBC2_MRC_GLBAC_NPX_MASK) + +#define TRDC_MBC2_MRC_GLBAC_NPW_MASK (0x20U) +#define TRDC_MBC2_MRC_GLBAC_NPW_SHIFT (5U) +/*! NPW - NonsecurePriv Write + * 0b0..Write access is not allowed in Nonsecure Privilege mode. + * 0b1..Write access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC2_MRC_GLBAC_NPW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_NPW_SHIFT)) & TRDC_MBC2_MRC_GLBAC_NPW_MASK) + +#define TRDC_MBC2_MRC_GLBAC_NPR_MASK (0x40U) +#define TRDC_MBC2_MRC_GLBAC_NPR_SHIFT (6U) +/*! NPR - NonsecurePriv Read + * 0b0..Read access is not allowed in Nonsecure Privilege mode. + * 0b1..Read access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC2_MRC_GLBAC_NPR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_NPR_SHIFT)) & TRDC_MBC2_MRC_GLBAC_NPR_MASK) + +#define TRDC_MBC2_MRC_GLBAC_SUX_MASK (0x100U) +#define TRDC_MBC2_MRC_GLBAC_SUX_SHIFT (8U) +/*! SUX - SecureUser Execute + * 0b0..Execute access is not allowed in Secure User mode. + * 0b1..Execute access is allowed in Secure User mode. + */ +#define TRDC_MBC2_MRC_GLBAC_SUX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_SUX_SHIFT)) & TRDC_MBC2_MRC_GLBAC_SUX_MASK) + +#define TRDC_MBC2_MRC_GLBAC_SUW_MASK (0x200U) +#define TRDC_MBC2_MRC_GLBAC_SUW_SHIFT (9U) +/*! SUW - SecureUser Write + * 0b0..Write access is not allowed in Secure User mode. + * 0b1..Write access is allowed in Secure User mode. + */ +#define TRDC_MBC2_MRC_GLBAC_SUW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_SUW_SHIFT)) & TRDC_MBC2_MRC_GLBAC_SUW_MASK) + +#define TRDC_MBC2_MRC_GLBAC_SUR_MASK (0x400U) +#define TRDC_MBC2_MRC_GLBAC_SUR_SHIFT (10U) +/*! SUR - SecureUser Read + * 0b0..Read access is not allowed in Secure User mode. + * 0b1..Read access is allowed in Secure User mode. + */ +#define TRDC_MBC2_MRC_GLBAC_SUR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_SUR_SHIFT)) & TRDC_MBC2_MRC_GLBAC_SUR_MASK) + +#define TRDC_MBC2_MRC_GLBAC_SPX_MASK (0x1000U) +#define TRDC_MBC2_MRC_GLBAC_SPX_SHIFT (12U) +/*! SPX - SecurePriv Execute + * 0b0..Execute access is not allowed in Secure Privilege mode. + * 0b1..Execute access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC2_MRC_GLBAC_SPX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_SPX_SHIFT)) & TRDC_MBC2_MRC_GLBAC_SPX_MASK) + +#define TRDC_MBC2_MRC_GLBAC_SPW_MASK (0x2000U) +#define TRDC_MBC2_MRC_GLBAC_SPW_SHIFT (13U) +/*! SPW - SecurePriv Write + * 0b0..Write access is not allowed in Secure Privilege mode. + * 0b1..Write access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC2_MRC_GLBAC_SPW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_SPW_SHIFT)) & TRDC_MBC2_MRC_GLBAC_SPW_MASK) + +#define TRDC_MBC2_MRC_GLBAC_SPR_MASK (0x4000U) +#define TRDC_MBC2_MRC_GLBAC_SPR_SHIFT (14U) +/*! SPR - SecurePriv Read + * 0b0..Read access is not allowed in Secure Privilege mode. + * 0b1..Read access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC2_MRC_GLBAC_SPR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_SPR_SHIFT)) & TRDC_MBC2_MRC_GLBAC_SPR_MASK) + +#define TRDC_MBC2_MRC_GLBAC_LK_MASK (0x80000000U) +#define TRDC_MBC2_MRC_GLBAC_LK_SHIFT (31U) +/*! LK - LOCK + * 0b0..This register is not locked and can be altered. + * 0b1..This register is locked (read-only) and cannot be altered. + */ +#define TRDC_MBC2_MRC_GLBAC_LK(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_GLBAC_LK_SHIFT)) & TRDC_MBC2_MRC_GLBAC_LK_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_GLBAC */ +#define TRDC_MBC2_MRC_GLBAC_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_GLBAC */ +#define TRDC_MBC2_MRC_GLBAC_COUNT2 (8U) + +/*! @name MRC_DOM0_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM0_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM0_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM0_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM0_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM0_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM0_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM0_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM0_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM0_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM0_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM0_RGD_W */ +#define TRDC_MBC2_MRC_DOM0_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM0_RGD_W */ +#define TRDC_MBC2_MRC_DOM0_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM0_RGD_W */ +#define TRDC_MBC2_MRC_DOM0_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM0_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM0_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM0_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM0_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM1_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM1_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM1_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM1_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM1_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM1_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM1_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM1_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM1_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM1_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM1_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM1_RGD_W */ +#define TRDC_MBC2_MRC_DOM1_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM1_RGD_W */ +#define TRDC_MBC2_MRC_DOM1_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM1_RGD_W */ +#define TRDC_MBC2_MRC_DOM1_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM1_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM1_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM1_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM1_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM2_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM2_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM2_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM2_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM2_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM2_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM2_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM2_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM2_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM2_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM2_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM2_RGD_W */ +#define TRDC_MBC2_MRC_DOM2_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM2_RGD_W */ +#define TRDC_MBC2_MRC_DOM2_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM2_RGD_W */ +#define TRDC_MBC2_MRC_DOM2_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM2_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM2_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM2_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM2_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM3_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM3_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM3_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM3_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM3_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM3_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM3_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM3_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM3_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM3_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM3_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM3_RGD_W */ +#define TRDC_MBC2_MRC_DOM3_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM3_RGD_W */ +#define TRDC_MBC2_MRC_DOM3_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM3_RGD_W */ +#define TRDC_MBC2_MRC_DOM3_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM3_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM3_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM3_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM3_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM4_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM4_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM4_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM4_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM4_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM4_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM4_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM4_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM4_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM4_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM4_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM4_RGD_W */ +#define TRDC_MBC2_MRC_DOM4_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM4_RGD_W */ +#define TRDC_MBC2_MRC_DOM4_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM4_RGD_W */ +#define TRDC_MBC2_MRC_DOM4_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM4_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM4_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM4_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM4_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM5_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM5_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM5_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM5_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM5_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM5_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM5_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM5_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM5_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM5_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM5_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM5_RGD_W */ +#define TRDC_MBC2_MRC_DOM5_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM5_RGD_W */ +#define TRDC_MBC2_MRC_DOM5_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM5_RGD_W */ +#define TRDC_MBC2_MRC_DOM5_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM5_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM5_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM5_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM5_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM6_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM6_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM6_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM6_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM6_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM6_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM6_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM6_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM6_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM6_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM6_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM6_RGD_W */ +#define TRDC_MBC2_MRC_DOM6_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM6_RGD_W */ +#define TRDC_MBC2_MRC_DOM6_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM6_RGD_W */ +#define TRDC_MBC2_MRC_DOM6_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM6_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM6_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM6_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM6_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM7_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM7_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM7_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM7_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM7_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM7_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM7_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM7_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM7_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM7_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM7_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM7_RGD_W */ +#define TRDC_MBC2_MRC_DOM7_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM7_RGD_W */ +#define TRDC_MBC2_MRC_DOM7_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM7_RGD_W */ +#define TRDC_MBC2_MRC_DOM7_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM7_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM7_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM7_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM7_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM8_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM8_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM8_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM8_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM8_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM8_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM8_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM8_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM8_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM8_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM8_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM8_RGD_W */ +#define TRDC_MBC2_MRC_DOM8_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM8_RGD_W */ +#define TRDC_MBC2_MRC_DOM8_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM8_RGD_W */ +#define TRDC_MBC2_MRC_DOM8_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM8_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM8_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM8_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM8_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM9_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM9_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM9_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM9_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM9_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM9_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM9_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM9_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM9_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM9_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM9_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM9_RGD_W */ +#define TRDC_MBC2_MRC_DOM9_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM9_RGD_W */ +#define TRDC_MBC2_MRC_DOM9_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM9_RGD_W */ +#define TRDC_MBC2_MRC_DOM9_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM9_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM9_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM9_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM9_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM10_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM10_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM10_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM10_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM10_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM10_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM10_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM10_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM10_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM10_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM10_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM10_RGD_W */ +#define TRDC_MBC2_MRC_DOM10_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM10_RGD_W */ +#define TRDC_MBC2_MRC_DOM10_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM10_RGD_W */ +#define TRDC_MBC2_MRC_DOM10_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM10_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM10_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM10_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM10_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM11_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM11_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM11_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM11_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM11_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM11_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM11_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM11_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM11_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM11_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM11_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM11_RGD_W */ +#define TRDC_MBC2_MRC_DOM11_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM11_RGD_W */ +#define TRDC_MBC2_MRC_DOM11_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM11_RGD_W */ +#define TRDC_MBC2_MRC_DOM11_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM11_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM11_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM11_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM11_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM12_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM12_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM12_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM12_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM12_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM12_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM12_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM12_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM12_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM12_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM12_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM12_RGD_W */ +#define TRDC_MBC2_MRC_DOM12_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM12_RGD_W */ +#define TRDC_MBC2_MRC_DOM12_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM12_RGD_W */ +#define TRDC_MBC2_MRC_DOM12_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM12_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM12_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM12_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM12_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM13_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM13_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM13_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM13_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM13_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM13_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM13_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM13_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM13_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM13_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM13_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM13_RGD_W */ +#define TRDC_MBC2_MRC_DOM13_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM13_RGD_W */ +#define TRDC_MBC2_MRC_DOM13_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM13_RGD_W */ +#define TRDC_MBC2_MRC_DOM13_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM13_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM13_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM13_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM13_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM14_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM14_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM14_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM14_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM14_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM14_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM14_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM14_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM14_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM14_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM14_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM14_RGD_W */ +#define TRDC_MBC2_MRC_DOM14_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM14_RGD_W */ +#define TRDC_MBC2_MRC_DOM14_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM14_RGD_W */ +#define TRDC_MBC2_MRC_DOM14_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM14_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM14_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM14_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM14_RGD_NSE_COUNT (2U) + +/*! @name MRC_DOM15_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM15_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC2_MRC_DOM15_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC2_MRC_DOM15_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM15_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC2_MRC_DOM15_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_W_VLD_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_W_VLD_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM15_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_W_NSE_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_W_NSE_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM15_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC2_MRC_DOM15_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC2_MRC_DOM15_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC2_MRC_DOM15_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM15_RGD_W */ +#define TRDC_MBC2_MRC_DOM15_RGD_W_COUNT (2U) + +/* The count of TRDC_MBC2_MRC_DOM15_RGD_W */ +#define TRDC_MBC2_MRC_DOM15_RGD_W_COUNT2 (8U) + +/* The count of TRDC_MBC2_MRC_DOM15_RGD_W */ +#define TRDC_MBC2_MRC_DOM15_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM15_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure accesses to region r are not allowed, nonsecure accesses to region r are based on corresponding + * MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC2_MRC_DOM15_RGD_NSE_BIT7_MASK) +/*! @} */ + +/* The count of TRDC_MBC2_MRC_DOM15_RGD_NSE */ +#define TRDC_MBC2_MRC_DOM15_RGD_NSE_COUNT (2U) + + +/*! + * @} + */ /* end of group TRDC_MBC2_Register_Masks */ + + +/* TRDC_MBC2 - Peripheral instance base addresses */ +/** Peripheral TRDC1 base address */ +#define TRDC1_BASE (0x44270000u) +/** Peripheral TRDC1 base pointer */ +#define TRDC1 ((TRDC_MBC2_Type *)TRDC1_BASE) +/** Peripheral TRDC2 base address */ +#define TRDC2_BASE (0x42460000u) +/** Peripheral TRDC2 base pointer */ +#define TRDC2 ((TRDC_MBC2_Type *)TRDC2_BASE) +/** Array initializer of TRDC_MBC2 peripheral base addresses */ +#define TRDC_MBC2_BASE_ADDRS { 0u, TRDC1_BASE, TRDC2_BASE } +/** Array initializer of TRDC_MBC2 peripheral base pointers */ +#define TRDC_MBC2_BASE_PTRS { (TRDC_MBC2_Type *)0u, TRDC1, TRDC2 } + +/*! + * @} + */ /* end of group TRDC_MBC2_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- TRDC_MBC4 Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TRDC_MBC4_Peripheral_Access_Layer TRDC_MBC4 Peripheral Access Layer + * @{ + */ + +/** TRDC_MBC4 - Register Layout Typedef */ +typedef struct { + __IO uint32_t TRDC_CR; /**< TRDC Register, offset: 0x0 */ + uint8_t RESERVED_0[236]; + __I uint32_t TRDC_HWCFG0; /**< TRDC Hardware Configuration Register 0, offset: 0xF0 */ + __I uint32_t TRDC_HWCFG1; /**< TRDC Hardware Configuration Register 1, offset: 0xF4 */ + __I uint32_t TRDC_HWCFG2; /**< TRDC Hardware Configuration Register 2, offset: 0xF8 */ + __I uint32_t TRDC_HWCFG3; /**< TRDC Hardware Configuration Register 3, offset: 0xFC */ + __I uint8_t DACFG[2]; /**< Domain Assignment Configuration Register, array offset: 0x100, array step: 0x1 */ + uint8_t RESERVED_1[190]; + __IO uint32_t TRDC_IDAU_CR; /**< TRDC IDAU Control Register, offset: 0x1C0 */ + uint8_t RESERVED_2[28]; + __IO uint32_t TRDC_FLW_CTL; /**< TRDC FLW Control, offset: 0x1E0 */ + __I uint32_t TRDC_FLW_PBASE; /**< TRDC FLW Physical Base, offset: 0x1E4 */ + __IO uint32_t TRDC_FLW_ABASE; /**< TRDC FLW Array Base, offset: 0x1E8 */ + __IO uint32_t TRDC_FLW_BCNT; /**< TRDC FLW Block Count, offset: 0x1EC */ + uint8_t RESERVED_3[12]; + __IO uint32_t TRDC_FDID; /**< TRDC Fault Domain ID, offset: 0x1FC */ + __I uint32_t TRDC_DERRLOC[16]; /**< TRDC Domain Error Location Register, array offset: 0x200, array step: 0x4 */ + uint8_t RESERVED_4[448]; + struct { /* offset: 0x400, array step: 0x10 */ + __I uint32_t W0; /**< MBC Domain Error Word0 Register, array offset: 0x400, array step: 0x10 */ + __I uint32_t W1; /**< MBC Domain Error Word1 Register, array offset: 0x404, array step: 0x10 */ + uint8_t RESERVED_0[4]; + __IO uint32_t W3; /**< MBC Domain Error Word3 Register, array offset: 0x40C, array step: 0x10 */ + } MBC_DERR[4]; + uint8_t RESERVED_5[64]; + struct { /* offset: 0x480, array step: 0x10 */ + __I uint32_t W0; /**< MRC Domain Error Word0 Register, array offset: 0x480, array step: 0x10 */ + __I uint32_t W1; /**< MRC Domain Error Word1 Register, array offset: 0x484, array step: 0x10 */ + uint8_t RESERVED_0[4]; + __IO uint32_t W3; /**< MRC Domain Error Word3 Register, array offset: 0x48C, array step: 0x10 */ + } MRC_DERR[1]; + uint8_t RESERVED_6[880]; + struct { /* offset: 0x800, array step: 0x20 */ + union { /* offset: 0x800, array step: 0x20 */ + struct { /* offset: 0x800, array step: index*0x20, index2*0x4 */ + __IO uint32_t MDA_W_DFMT0; /**< DAC Master Domain Assignment Register, array offset: 0x800, array step: index*0x20, index2*0x4 */ + } MDA_Wx_DFMT0[4]; + } MDA_W_DFMT; + uint8_t RESERVED_0[16]; + } MDA_Wx_y_DFMT[2]; + uint8_t RESERVED_7[63424]; + struct { /* offset: 0x10000, array step: 0x2000 */ + __I uint32_t MBC_MEM_GLBCFG[4]; /**< MBC Global Configuration Register, array offset: 0x10000, array step: index*0x2000, index2*0x4 */ + __IO uint32_t MBC_NSE_BLK_INDEX; /**< MBC NonSecure Enable Block Index, array offset: 0x10010, array step: 0x2000 */ + __IO uint32_t MBC_NSE_BLK_SET; /**< MBC NonSecure Enable Block Set, array offset: 0x10014, array step: 0x2000 */ + __IO uint32_t MBC_NSE_BLK_CLR; /**< MBC NonSecure Enable Block Clear, array offset: 0x10018, array step: 0x2000 */ + __IO uint32_t MBC_NSE_BLK_CLR_ALL; /**< MBC NonSecure Enable Block Clear All, array offset: 0x1001C, array step: 0x2000 */ + __IO uint32_t MBC_MEMN_GLBAC[8]; /**< MBC Global Access Control, array offset: 0x10020, array step: index*0x2000, index2*0x4 */ + __IO uint32_t MBC_DOM0_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x10040, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_0[228]; + __IO uint32_t MBC_DOM0_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10140, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_1[56]; + __IO uint32_t MBC_DOM0_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10180, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_2[20]; + __IO uint32_t MBC_DOM0_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_3[4]; + __IO uint32_t MBC_DOM0_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x101A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_4[12]; + __IO uint32_t MBC_DOM0_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM0_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x101D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_5[8]; + __IO uint32_t MBC_DOM0_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x101F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_6[72]; + __IO uint32_t MBC_DOM1_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x10240, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_7[228]; + __IO uint32_t MBC_DOM1_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10340, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_8[56]; + __IO uint32_t MBC_DOM1_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10380, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_9[20]; + __IO uint32_t MBC_DOM1_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_10[4]; + __IO uint32_t MBC_DOM1_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x103A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_11[12]; + __IO uint32_t MBC_DOM1_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM1_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x103D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_12[8]; + __IO uint32_t MBC_DOM1_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x103F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_13[72]; + __IO uint32_t MBC_DOM2_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x10440, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_14[228]; + __IO uint32_t MBC_DOM2_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10540, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_15[56]; + __IO uint32_t MBC_DOM2_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10580, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_16[20]; + __IO uint32_t MBC_DOM2_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_17[4]; + __IO uint32_t MBC_DOM2_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x105A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_18[12]; + __IO uint32_t MBC_DOM2_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM2_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x105D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_19[8]; + __IO uint32_t MBC_DOM2_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x105F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_20[72]; + __IO uint32_t MBC_DOM3_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x10640, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_21[228]; + __IO uint32_t MBC_DOM3_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10740, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_22[56]; + __IO uint32_t MBC_DOM3_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10780, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_23[20]; + __IO uint32_t MBC_DOM3_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_24[4]; + __IO uint32_t MBC_DOM3_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x107A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_25[12]; + __IO uint32_t MBC_DOM3_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM3_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x107D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_26[8]; + __IO uint32_t MBC_DOM3_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x107F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_27[72]; + __IO uint32_t MBC_DOM4_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x10840, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_28[228]; + __IO uint32_t MBC_DOM4_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10940, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_29[56]; + __IO uint32_t MBC_DOM4_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10980, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_30[20]; + __IO uint32_t MBC_DOM4_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_31[4]; + __IO uint32_t MBC_DOM4_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x109A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_32[12]; + __IO uint32_t MBC_DOM4_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM4_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x109D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_33[8]; + __IO uint32_t MBC_DOM4_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x109F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_34[72]; + __IO uint32_t MBC_DOM5_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x10A40, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_35[228]; + __IO uint32_t MBC_DOM5_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10B40, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_36[56]; + __IO uint32_t MBC_DOM5_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10B80, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_37[20]; + __IO uint32_t MBC_DOM5_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BA0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_38[4]; + __IO uint32_t MBC_DOM5_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x10BA8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_39[12]; + __IO uint32_t MBC_DOM5_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BC8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM5_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x10BD0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_40[8]; + __IO uint32_t MBC_DOM5_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10BF0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_41[72]; + __IO uint32_t MBC_DOM6_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x10C40, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_42[228]; + __IO uint32_t MBC_DOM6_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10D40, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_43[56]; + __IO uint32_t MBC_DOM6_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10D80, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_44[20]; + __IO uint32_t MBC_DOM6_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DA0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_45[4]; + __IO uint32_t MBC_DOM6_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x10DA8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_46[12]; + __IO uint32_t MBC_DOM6_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DC8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM6_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x10DD0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_47[8]; + __IO uint32_t MBC_DOM6_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10DF0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_48[72]; + __IO uint32_t MBC_DOM7_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x10E40, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_49[228]; + __IO uint32_t MBC_DOM7_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10F40, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_50[56]; + __IO uint32_t MBC_DOM7_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x10F80, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_51[20]; + __IO uint32_t MBC_DOM7_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FA0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_52[4]; + __IO uint32_t MBC_DOM7_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x10FA8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_53[12]; + __IO uint32_t MBC_DOM7_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FC8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM7_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x10FD0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_54[8]; + __IO uint32_t MBC_DOM7_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x10FF0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_55[72]; + __IO uint32_t MBC_DOM8_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x11040, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_56[228]; + __IO uint32_t MBC_DOM8_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11140, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_57[56]; + __IO uint32_t MBC_DOM8_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11180, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_58[20]; + __IO uint32_t MBC_DOM8_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_59[4]; + __IO uint32_t MBC_DOM8_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x111A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_60[12]; + __IO uint32_t MBC_DOM8_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM8_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x111D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_61[8]; + __IO uint32_t MBC_DOM8_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x111F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_62[72]; + __IO uint32_t MBC_DOM9_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x11240, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_63[228]; + __IO uint32_t MBC_DOM9_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11340, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_64[56]; + __IO uint32_t MBC_DOM9_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11380, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_65[20]; + __IO uint32_t MBC_DOM9_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_66[4]; + __IO uint32_t MBC_DOM9_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x113A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_67[12]; + __IO uint32_t MBC_DOM9_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM9_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x113D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_68[8]; + __IO uint32_t MBC_DOM9_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x113F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_69[72]; + __IO uint32_t MBC_DOM10_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x11440, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_70[228]; + __IO uint32_t MBC_DOM10_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11540, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_71[56]; + __IO uint32_t MBC_DOM10_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11580, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_72[20]; + __IO uint32_t MBC_DOM10_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_73[4]; + __IO uint32_t MBC_DOM10_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x115A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_74[12]; + __IO uint32_t MBC_DOM10_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM10_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x115D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_75[8]; + __IO uint32_t MBC_DOM10_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x115F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_76[72]; + __IO uint32_t MBC_DOM11_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x11640, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_77[228]; + __IO uint32_t MBC_DOM11_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11740, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_78[56]; + __IO uint32_t MBC_DOM11_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11780, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_79[20]; + __IO uint32_t MBC_DOM11_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_80[4]; + __IO uint32_t MBC_DOM11_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x117A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_81[12]; + __IO uint32_t MBC_DOM11_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM11_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x117D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_82[8]; + __IO uint32_t MBC_DOM11_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x117F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_83[72]; + __IO uint32_t MBC_DOM12_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x11840, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_84[228]; + __IO uint32_t MBC_DOM12_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11940, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_85[56]; + __IO uint32_t MBC_DOM12_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11980, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_86[20]; + __IO uint32_t MBC_DOM12_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119A0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_87[4]; + __IO uint32_t MBC_DOM12_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x119A8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_88[12]; + __IO uint32_t MBC_DOM12_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119C8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM12_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x119D0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_89[8]; + __IO uint32_t MBC_DOM12_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x119F0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_90[72]; + __IO uint32_t MBC_DOM13_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x11A40, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_91[228]; + __IO uint32_t MBC_DOM13_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11B40, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_92[56]; + __IO uint32_t MBC_DOM13_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11B80, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_93[20]; + __IO uint32_t MBC_DOM13_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BA0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_94[4]; + __IO uint32_t MBC_DOM13_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x11BA8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_95[12]; + __IO uint32_t MBC_DOM13_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BC8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM13_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x11BD0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_96[8]; + __IO uint32_t MBC_DOM13_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11BF0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_97[72]; + __IO uint32_t MBC_DOM14_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x11C40, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_98[228]; + __IO uint32_t MBC_DOM14_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11D40, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_99[56]; + __IO uint32_t MBC_DOM14_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11D80, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_100[20]; + __IO uint32_t MBC_DOM14_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DA0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_101[4]; + __IO uint32_t MBC_DOM14_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x11DA8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_102[12]; + __IO uint32_t MBC_DOM14_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DC8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM14_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x11DD0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_103[8]; + __IO uint32_t MBC_DOM14_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11DF0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_104[72]; + __IO uint32_t MBC_DOM15_MEM0_BLK_CFG_W[7]; /**< MBC Memory Block Configuration Word, array offset: 0x11E40, array step: index*0x2000, index2*0x4, valid indices: [0][0-6], [1][0], [2][0], [3][0-2] */ + uint8_t RESERVED_105[228]; + __IO uint32_t MBC_DOM15_MEM0_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11F40, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0][1] */ + uint8_t RESERVED_106[56]; + __IO uint32_t MBC_DOM15_MEM1_BLK_CFG_W[3]; /**< MBC Memory Block Configuration Word, array offset: 0x11F80, array step: index*0x2000, index2*0x4, valid indices: [0-3][0], [0, 3][1], [3][2] */ + uint8_t RESERVED_107[20]; + __IO uint32_t MBC_DOM15_MEM1_BLK_NSE_W[1]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FA0, array step: index*0x2000, index2*0x4 */ + uint8_t RESERVED_108[4]; + __IO uint32_t MBC_DOM15_MEM2_BLK_CFG_W[5]; /**< MBC Memory Block Configuration Word, array offset: 0x11FA8, array step: index*0x2000, index2*0x4, valid indices: [0][0-4] */ + uint8_t RESERVED_109[12]; + __IO uint32_t MBC_DOM15_MEM2_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FC8, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + __IO uint32_t MBC_DOM15_MEM3_BLK_CFG_W[6]; /**< MBC Memory Block Configuration Word, array offset: 0x11FD0, array step: index*0x2000, index2*0x4, valid indices: [0][0-5] */ + uint8_t RESERVED_110[8]; + __IO uint32_t MBC_DOM15_MEM3_BLK_NSE_W[2]; /**< MBC Memory Block NonSecure Enable Word, array offset: 0x11FF0, array step: index*0x2000, index2*0x4, valid indices: [0][0-1] */ + uint8_t RESERVED_111[8]; + } MBC_INDEX[4]; + struct { /* offset: 0x18000, array step: 0xFC4 */ + __I uint32_t MRC_GLBCFG; /**< MRC Global Configuration Register, array offset: 0x18000, array step: 0xFC4 */ + uint8_t RESERVED_0[12]; + __IO uint32_t MRC_NSE_RGN_INDIRECT; /**< MRC NonSecure Enable Region Indirect, array offset: 0x18010, array step: 0xFC4 */ + __IO uint32_t MRC_NSE_RGN_SET; /**< MRC NonSecure Enable Region Set, array offset: 0x18014, array step: 0xFC4 */ + __IO uint32_t MRC_NSE_RGN_CLR; /**< MRC NonSecure Enable Region Clear, array offset: 0x18018, array step: 0xFC4 */ + __IO uint32_t MRC_NSE_RGN_CLR_ALL; /**< MRC NonSecure Enable Region Clear All, array offset: 0x1801C, array step: 0xFC4 */ + __IO uint32_t MRC_GLBAC[8]; /**< MRC Global Access Control, array offset: 0x18020, array step: index*0xFC4, index2*0x4 */ + __IO uint32_t MRC_DOM0_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18040, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM0_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x180C0, array step: 0xFC4 */ + uint8_t RESERVED_1[124]; + __IO uint32_t MRC_DOM1_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18140, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM1_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x181C0, array step: 0xFC4 */ + uint8_t RESERVED_2[124]; + __IO uint32_t MRC_DOM2_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18240, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM2_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x182C0, array step: 0xFC4 */ + uint8_t RESERVED_3[124]; + __IO uint32_t MRC_DOM3_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18340, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM3_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x183C0, array step: 0xFC4 */ + uint8_t RESERVED_4[124]; + __IO uint32_t MRC_DOM4_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18440, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM4_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x184C0, array step: 0xFC4 */ + uint8_t RESERVED_5[124]; + __IO uint32_t MRC_DOM5_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18540, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM5_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x185C0, array step: 0xFC4 */ + uint8_t RESERVED_6[124]; + __IO uint32_t MRC_DOM6_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18640, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM6_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x186C0, array step: 0xFC4 */ + uint8_t RESERVED_7[124]; + __IO uint32_t MRC_DOM7_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18740, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM7_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x187C0, array step: 0xFC4 */ + uint8_t RESERVED_8[124]; + __IO uint32_t MRC_DOM8_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18840, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM8_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x188C0, array step: 0xFC4 */ + uint8_t RESERVED_9[124]; + __IO uint32_t MRC_DOM9_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18940, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM9_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x189C0, array step: 0xFC4 */ + uint8_t RESERVED_10[124]; + __IO uint32_t MRC_DOM10_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18A40, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM10_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x18AC0, array step: 0xFC4 */ + uint8_t RESERVED_11[124]; + __IO uint32_t MRC_DOM11_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18B40, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM11_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x18BC0, array step: 0xFC4 */ + uint8_t RESERVED_12[124]; + __IO uint32_t MRC_DOM12_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18C40, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM12_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x18CC0, array step: 0xFC4 */ + uint8_t RESERVED_13[124]; + __IO uint32_t MRC_DOM13_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18D40, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM13_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x18DC0, array step: 0xFC4 */ + uint8_t RESERVED_14[124]; + __IO uint32_t MRC_DOM14_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18E40, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM14_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x18EC0, array step: 0xFC4 */ + uint8_t RESERVED_15[124]; + __IO uint32_t MRC_DOM15_RGD_W[16][2]; /**< MRC Region Descriptor Word 0..MRC Region Descriptor Word 1, array offset: 0x18F40, array step: index*0xFC4, index2*0x8, index3*0x4 */ + __IO uint32_t MRC_DOM15_RGD_NSE; /**< MRC Region Descriptor NonSecure Enable, array offset: 0x18FC0, array step: 0xFC4 */ + } MRC_INDEX[1]; +} TRDC_MBC4_Type; + +/* ---------------------------------------------------------------------------- + -- TRDC_MBC4 Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TRDC_MBC4_Register_Masks TRDC_MBC4 Register Masks + * @{ + */ + +/*! @name TRDC_CR - TRDC Register */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_CR_GVLDM_MASK (0x1U) +#define TRDC_MBC4_TRDC_CR_GVLDM_SHIFT (0U) +/*! GVLDM - Global Valid for Domain Assignment Controllers + * 0b0..TRDC DACs are disabled. + * 0b1..TRDC DACs are enabled. + */ +#define TRDC_MBC4_TRDC_CR_GVLDM(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_CR_GVLDM_SHIFT)) & TRDC_MBC4_TRDC_CR_GVLDM_MASK) + +#define TRDC_MBC4_TRDC_CR_HRL_MASK (0x1EU) +#define TRDC_MBC4_TRDC_CR_HRL_SHIFT (1U) +/*! HRL - Hardware Revision Level */ +#define TRDC_MBC4_TRDC_CR_HRL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_CR_HRL_SHIFT)) & TRDC_MBC4_TRDC_CR_HRL_MASK) + +#define TRDC_MBC4_TRDC_CR_GVLDB_MASK (0x4000U) +#define TRDC_MBC4_TRDC_CR_GVLDB_SHIFT (14U) +/*! GVLDB - Global Valid for Memory Block Checkers + * 0b0..TRDC MBCs are disabled. + * 0b1..TRDC MBCs are enabled. + */ +#define TRDC_MBC4_TRDC_CR_GVLDB(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_CR_GVLDB_SHIFT)) & TRDC_MBC4_TRDC_CR_GVLDB_MASK) + +#define TRDC_MBC4_TRDC_CR_GVLDR_MASK (0x8000U) +#define TRDC_MBC4_TRDC_CR_GVLDR_SHIFT (15U) +/*! GVLDR - Global Valid for Memory Region Checkers + * 0b0..TRDC MRCs are disabled. + * 0b1..TRDC MRCs are enabled. + */ +#define TRDC_MBC4_TRDC_CR_GVLDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_CR_GVLDR_SHIFT)) & TRDC_MBC4_TRDC_CR_GVLDR_MASK) + +#define TRDC_MBC4_TRDC_CR_LK1_MASK (0x40000000U) +#define TRDC_MBC4_TRDC_CR_LK1_SHIFT (30U) +/*! LK1 - Lock Status + * 0b0..The CR can be written by any secure privileged write. + * 0b1..The CR is locked (read-only) until the next reset. + */ +#define TRDC_MBC4_TRDC_CR_LK1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_CR_LK1_SHIFT)) & TRDC_MBC4_TRDC_CR_LK1_MASK) +/*! @} */ + +/*! @name TRDC_HWCFG0 - TRDC Hardware Configuration Register 0 */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_HWCFG0_NDID_MASK (0x1FU) +#define TRDC_MBC4_TRDC_HWCFG0_NDID_SHIFT (0U) +/*! NDID - Number of domains */ +#define TRDC_MBC4_TRDC_HWCFG0_NDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_HWCFG0_NDID_SHIFT)) & TRDC_MBC4_TRDC_HWCFG0_NDID_MASK) + +#define TRDC_MBC4_TRDC_HWCFG0_NMSTR_MASK (0xFF00U) +#define TRDC_MBC4_TRDC_HWCFG0_NMSTR_SHIFT (8U) +/*! NMSTR - Number of bus masters */ +#define TRDC_MBC4_TRDC_HWCFG0_NMSTR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_HWCFG0_NMSTR_SHIFT)) & TRDC_MBC4_TRDC_HWCFG0_NMSTR_MASK) + +#define TRDC_MBC4_TRDC_HWCFG0_NMBC_MASK (0xF0000U) +#define TRDC_MBC4_TRDC_HWCFG0_NMBC_SHIFT (16U) +/*! NMBC - Number of MBCs */ +#define TRDC_MBC4_TRDC_HWCFG0_NMBC(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_HWCFG0_NMBC_SHIFT)) & TRDC_MBC4_TRDC_HWCFG0_NMBC_MASK) + +#define TRDC_MBC4_TRDC_HWCFG0_NMRC_MASK (0x1F000000U) +#define TRDC_MBC4_TRDC_HWCFG0_NMRC_SHIFT (24U) +/*! NMRC - Number of MRCs */ +#define TRDC_MBC4_TRDC_HWCFG0_NMRC(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_HWCFG0_NMRC_SHIFT)) & TRDC_MBC4_TRDC_HWCFG0_NMRC_MASK) + +#define TRDC_MBC4_TRDC_HWCFG0_MID_MASK (0xE0000000U) +#define TRDC_MBC4_TRDC_HWCFG0_MID_SHIFT (29U) +/*! MID - Module ID */ +#define TRDC_MBC4_TRDC_HWCFG0_MID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_HWCFG0_MID_SHIFT)) & TRDC_MBC4_TRDC_HWCFG0_MID_MASK) +/*! @} */ + +/*! @name TRDC_HWCFG1 - TRDC Hardware Configuration Register 1 */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_HWCFG1_DID_MASK (0xFU) +#define TRDC_MBC4_TRDC_HWCFG1_DID_SHIFT (0U) +/*! DID - Domain identifier number */ +#define TRDC_MBC4_TRDC_HWCFG1_DID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_HWCFG1_DID_SHIFT)) & TRDC_MBC4_TRDC_HWCFG1_DID_MASK) +/*! @} */ + +/*! @name TRDC_HWCFG2 - TRDC Hardware Configuration Register 2 */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_HWCFG2_PIDPn_MASK (0xFFFFFFFFU) +#define TRDC_MBC4_TRDC_HWCFG2_PIDPn_SHIFT (0U) +/*! PIDPn - Process identifier present */ +#define TRDC_MBC4_TRDC_HWCFG2_PIDPn(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_HWCFG2_PIDPn_SHIFT)) & TRDC_MBC4_TRDC_HWCFG2_PIDPn_MASK) +/*! @} */ + +/*! @name TRDC_HWCFG3 - TRDC Hardware Configuration Register 3 */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_HWCFG3_PIDPn_MASK (0xFFFFFFFFU) +#define TRDC_MBC4_TRDC_HWCFG3_PIDPn_SHIFT (0U) +/*! PIDPn - Process identifier present */ +#define TRDC_MBC4_TRDC_HWCFG3_PIDPn(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_HWCFG3_PIDPn_SHIFT)) & TRDC_MBC4_TRDC_HWCFG3_PIDPn_MASK) +/*! @} */ + +/*! @name DACFG - Domain Assignment Configuration Register */ +/*! @{ */ + +#define TRDC_MBC4_DACFG_NMDAR_MASK (0xFU) +#define TRDC_MBC4_DACFG_NMDAR_SHIFT (0U) +/*! NMDAR - Number of master domain assignment registers for bus master m */ +#define TRDC_MBC4_DACFG_NMDAR(x) (((uint8_t)(((uint8_t)(x)) << TRDC_MBC4_DACFG_NMDAR_SHIFT)) & TRDC_MBC4_DACFG_NMDAR_MASK) + +#define TRDC_MBC4_DACFG_NCM_MASK (0x80U) +#define TRDC_MBC4_DACFG_NCM_SHIFT (7U) +/*! NCM - Non-CPU Master + * 0b0..Bus master is a processor. + * 0b1..Bus master is a non-processor. + */ +#define TRDC_MBC4_DACFG_NCM(x) (((uint8_t)(((uint8_t)(x)) << TRDC_MBC4_DACFG_NCM_SHIFT)) & TRDC_MBC4_DACFG_NCM_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_DACFG */ +#define TRDC_MBC4_DACFG_COUNT (2U) + +/*! @name TRDC_IDAU_CR - TRDC IDAU Control Register */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_IDAU_CR_VLD_MASK (0x1U) +#define TRDC_MBC4_TRDC_IDAU_CR_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_TRDC_IDAU_CR_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_VLD_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_VLD_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_CFGSECEXT_MASK (0x8U) +#define TRDC_MBC4_TRDC_IDAU_CR_CFGSECEXT_SHIFT (3U) +/*! CFGSECEXT - Configure Security Extension + * 0b0..Armv8M Security Extension is disabled + * 0b1..Armv8-M Security Extension is enabled + */ +#define TRDC_MBC4_TRDC_IDAU_CR_CFGSECEXT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_CFGSECEXT_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_CFGSECEXT_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_MPUSDIS_MASK (0x10U) +#define TRDC_MBC4_TRDC_IDAU_CR_MPUSDIS_SHIFT (4U) +/*! MPUSDIS - Secure Memory Protection Unit Disabled + * 0b0..Secure MPU is enabled + * 0b1..Secure MPU is disabled + */ +#define TRDC_MBC4_TRDC_IDAU_CR_MPUSDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_MPUSDIS_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_MPUSDIS_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_MPUNSDIS_MASK (0x20U) +#define TRDC_MBC4_TRDC_IDAU_CR_MPUNSDIS_SHIFT (5U) +/*! MPUNSDIS - NonSecure Memory Protection Unit Disabled + * 0b0..Nonsecure MPU is enabled + * 0b1..Nonsecure MPU is disabled + */ +#define TRDC_MBC4_TRDC_IDAU_CR_MPUNSDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_MPUNSDIS_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_MPUNSDIS_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_SAUDIS_MASK (0x40U) +#define TRDC_MBC4_TRDC_IDAU_CR_SAUDIS_SHIFT (6U) +/*! SAUDIS - Security Attribution Unit Disable + * 0b0..SAU is enabled + * 0b1..SAU is disabled + */ +#define TRDC_MBC4_TRDC_IDAU_CR_SAUDIS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_SAUDIS_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_SAUDIS_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_LKSVTAIRCR_MASK (0x100U) +#define TRDC_MBC4_TRDC_IDAU_CR_LKSVTAIRCR_SHIFT (8U) +/*! LKSVTAIRCR - Lock Secure VTOR, Application interrupt and Reset Control Registers + * 0b0..Unlock these registers + * 0b1..Disable writes to the VTOR_S, AIRCR[PRIS], and AIRCR[BFHFNMINS] registers + */ +#define TRDC_MBC4_TRDC_IDAU_CR_LKSVTAIRCR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_LKSVTAIRCR_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_LKSVTAIRCR_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_LKNSVTOR_MASK (0x200U) +#define TRDC_MBC4_TRDC_IDAU_CR_LKNSVTOR_SHIFT (9U) +/*! LKNSVTOR - Lock Nonsecure Vector Table Offset Register + * 0b0..Unlock this register + * 0b1..Disable writes to the VTOR_NS register + */ +#define TRDC_MBC4_TRDC_IDAU_CR_LKNSVTOR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_LKNSVTOR_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_LKNSVTOR_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_LKSMPU_MASK (0x400U) +#define TRDC_MBC4_TRDC_IDAU_CR_LKSMPU_SHIFT (10U) +/*! LKSMPU - Lock Secure MPU + * 0b0..Unlock these registers + * 0b1..Disable writes to the MPU_CTRL, MPU_RNR, MPU_RBAR, MPU_RLAR, MPU_RBAR_An and MPU_RLAR_An from software or + * from a debug agent connected to the processor in Secure state + */ +#define TRDC_MBC4_TRDC_IDAU_CR_LKSMPU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_LKSMPU_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_LKSMPU_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_LKNSMPU_MASK (0x800U) +#define TRDC_MBC4_TRDC_IDAU_CR_LKNSMPU_SHIFT (11U) +/*! LKNSMPU - Lock Nonsecure MPU + * 0b0..Unlock these registers + * 0b1..Disable writes to the MPU_CTRL_NS, MPU_RNR_NS, MPU_RBAR_NS, MPU_RLAR_NS, MPU_RBAR_A_NSn and + * MPU_RLAR_A_NSn from software or from a debug agent connected to the processor + */ +#define TRDC_MBC4_TRDC_IDAU_CR_LKNSMPU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_LKNSMPU_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_LKNSMPU_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_LKSAU_MASK (0x1000U) +#define TRDC_MBC4_TRDC_IDAU_CR_LKSAU_SHIFT (12U) +/*! LKSAU - Lock SAU + * 0b0..Unlock these registers + * 0b1..Disable writes to the SAU_CTRL, SAU_RNR, SAU_RBAR and SAU_RLAR registers from software or from a debug agent connected to the processor + */ +#define TRDC_MBC4_TRDC_IDAU_CR_LKSAU(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_LKSAU_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_LKSAU_MASK) + +#define TRDC_MBC4_TRDC_IDAU_CR_PCURRNS_MASK (0x80000000U) +#define TRDC_MBC4_TRDC_IDAU_CR_PCURRNS_SHIFT (31U) +/*! PCURRNS - Processor current security + * 0b0..Processor is in Secure state + * 0b1..Processor is in Nonsecure state + */ +#define TRDC_MBC4_TRDC_IDAU_CR_PCURRNS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_IDAU_CR_PCURRNS_SHIFT)) & TRDC_MBC4_TRDC_IDAU_CR_PCURRNS_MASK) +/*! @} */ + +/*! @name TRDC_FLW_CTL - TRDC FLW Control */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_FLW_CTL_LK_MASK (0x40000000U) +#define TRDC_MBC4_TRDC_FLW_CTL_LK_SHIFT (30U) +/*! LK - Lock bit + * 0b0..FLW registers may be modified. + * 0b1..FLW registers are locked until the next reset. + */ +#define TRDC_MBC4_TRDC_FLW_CTL_LK(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_FLW_CTL_LK_SHIFT)) & TRDC_MBC4_TRDC_FLW_CTL_LK_MASK) + +#define TRDC_MBC4_TRDC_FLW_CTL_V_MASK (0x80000000U) +#define TRDC_MBC4_TRDC_FLW_CTL_V_SHIFT (31U) +/*! V - Valid bit + * 0b0..FLW function is disabled. + * 0b1..FLW function is enabled. + */ +#define TRDC_MBC4_TRDC_FLW_CTL_V(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_FLW_CTL_V_SHIFT)) & TRDC_MBC4_TRDC_FLW_CTL_V_MASK) +/*! @} */ + +/*! @name TRDC_FLW_PBASE - TRDC FLW Physical Base */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_FLW_PBASE_PBASE_MASK (0xFFFFFFFFU) +#define TRDC_MBC4_TRDC_FLW_PBASE_PBASE_SHIFT (0U) +/*! PBASE - Physical base address */ +#define TRDC_MBC4_TRDC_FLW_PBASE_PBASE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_FLW_PBASE_PBASE_SHIFT)) & TRDC_MBC4_TRDC_FLW_PBASE_PBASE_MASK) +/*! @} */ + +/*! @name TRDC_FLW_ABASE - TRDC FLW Array Base */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_FLW_ABASE_ABASE_L_MASK (0x3F8000U) +#define TRDC_MBC4_TRDC_FLW_ABASE_ABASE_L_SHIFT (15U) +/*! ABASE_L - Array base address low */ +#define TRDC_MBC4_TRDC_FLW_ABASE_ABASE_L(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_FLW_ABASE_ABASE_L_SHIFT)) & TRDC_MBC4_TRDC_FLW_ABASE_ABASE_L_MASK) + +#define TRDC_MBC4_TRDC_FLW_ABASE_ABASE_H_MASK (0xFFC00000U) +#define TRDC_MBC4_TRDC_FLW_ABASE_ABASE_H_SHIFT (22U) +/*! ABASE_H - Array base address high */ +#define TRDC_MBC4_TRDC_FLW_ABASE_ABASE_H(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_FLW_ABASE_ABASE_H_SHIFT)) & TRDC_MBC4_TRDC_FLW_ABASE_ABASE_H_MASK) +/*! @} */ + +/*! @name TRDC_FLW_BCNT - TRDC FLW Block Count */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_FLW_BCNT_BCNT_MASK (0x7FFFU) +#define TRDC_MBC4_TRDC_FLW_BCNT_BCNT_SHIFT (0U) +/*! BCNT - Block Count */ +#define TRDC_MBC4_TRDC_FLW_BCNT_BCNT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_FLW_BCNT_BCNT_SHIFT)) & TRDC_MBC4_TRDC_FLW_BCNT_BCNT_MASK) +/*! @} */ + +/*! @name TRDC_FDID - TRDC Fault Domain ID */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_FDID_FDID_MASK (0xFU) +#define TRDC_MBC4_TRDC_FDID_FDID_SHIFT (0U) +/*! FDID - Domain ID of Faulted Access */ +#define TRDC_MBC4_TRDC_FDID_FDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_FDID_FDID_SHIFT)) & TRDC_MBC4_TRDC_FDID_FDID_MASK) +/*! @} */ + +/*! @name TRDC_DERRLOC - TRDC Domain Error Location Register */ +/*! @{ */ + +#define TRDC_MBC4_TRDC_DERRLOC_MBCINST_MASK (0xFFU) +#define TRDC_MBC4_TRDC_DERRLOC_MBCINST_SHIFT (0U) +/*! MBCINST - MBC instance */ +#define TRDC_MBC4_TRDC_DERRLOC_MBCINST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_DERRLOC_MBCINST_SHIFT)) & TRDC_MBC4_TRDC_DERRLOC_MBCINST_MASK) + +#define TRDC_MBC4_TRDC_DERRLOC_MRCINST_MASK (0xFFFF0000U) +#define TRDC_MBC4_TRDC_DERRLOC_MRCINST_SHIFT (16U) +/*! MRCINST - MRC instance */ +#define TRDC_MBC4_TRDC_DERRLOC_MRCINST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_TRDC_DERRLOC_MRCINST_SHIFT)) & TRDC_MBC4_TRDC_DERRLOC_MRCINST_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_TRDC_DERRLOC */ +#define TRDC_MBC4_TRDC_DERRLOC_COUNT (16U) + +/*! @name W0 - MBC Domain Error Word0 Register */ +/*! @{ */ + +#define TRDC_MBC4_W0_EADDR_MASK (0xFFFFFFFFU) +#define TRDC_MBC4_W0_EADDR_SHIFT (0U) +/*! EADDR - Error address */ +#define TRDC_MBC4_W0_EADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W0_EADDR_SHIFT)) & TRDC_MBC4_W0_EADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_W0 */ +#define TRDC_MBC4_W0_COUNT (4U) + +/*! @name W1 - MBC Domain Error Word1 Register */ +/*! @{ */ + +#define TRDC_MBC4_W1_EDID_MASK (0xFU) +#define TRDC_MBC4_W1_EDID_SHIFT (0U) +/*! EDID - Error domain identifier */ +#define TRDC_MBC4_W1_EDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_EDID_SHIFT)) & TRDC_MBC4_W1_EDID_MASK) + +#define TRDC_MBC4_W1_EATR_MASK (0x700U) +#define TRDC_MBC4_W1_EATR_SHIFT (8U) +/*! EATR - Error attributes + * 0b000..Secure user mode, instruction fetch access. + * 0b001..Secure user mode, data access. + * 0b010..Secure privileged mode, instruction fetch access. + * 0b011..Secure privileged mode, data access. + * 0b100..Nonsecure user mode, instruction fetch access. + * 0b101..Nonsecure user mode, data access. + * 0b110..Nonsecure privileged mode, instruction fetch access. + * 0b111..Nonsecure privileged mode, data access. + */ +#define TRDC_MBC4_W1_EATR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_EATR_SHIFT)) & TRDC_MBC4_W1_EATR_MASK) + +#define TRDC_MBC4_W1_ERW_MASK (0x800U) +#define TRDC_MBC4_W1_ERW_SHIFT (11U) +/*! ERW - Error read/write + * 0b0..Read access + * 0b1..Write access + */ +#define TRDC_MBC4_W1_ERW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_ERW_SHIFT)) & TRDC_MBC4_W1_ERW_MASK) + +#define TRDC_MBC4_W1_EPORT_MASK (0x7000000U) +#define TRDC_MBC4_W1_EPORT_SHIFT (24U) +/*! EPORT - Error port + * 0b000..mbcxslv0 + * 0b001..mbcxslv1 + * 0b010..mbcxslv2 + * 0b011..mbcxslv3 + */ +#define TRDC_MBC4_W1_EPORT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_EPORT_SHIFT)) & TRDC_MBC4_W1_EPORT_MASK) + +#define TRDC_MBC4_W1_EST_MASK (0xC0000000U) +#define TRDC_MBC4_W1_EST_SHIFT (30U) +/*! EST - Error state + * 0b00..No access violation has been detected. + * 0b01..No access violation has been detected. + * 0b10..A single access violation has been detected. + * 0b11..Multiple access violations for this domain have been detected by this submodule instance. Only the + * address and attribute information for the first error have been captured in DERR_W0_i and DERR_W1_i. + */ +#define TRDC_MBC4_W1_EST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_EST_SHIFT)) & TRDC_MBC4_W1_EST_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_W1 */ +#define TRDC_MBC4_W1_COUNT (4U) + +/*! @name W3 - MBC Domain Error Word3 Register */ +/*! @{ */ + +#define TRDC_MBC4_W3_RECR_MASK (0xC0000000U) +#define TRDC_MBC4_W3_RECR_SHIFT (30U) +/*! RECR - Rearm Error Capture Registers */ +#define TRDC_MBC4_W3_RECR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W3_RECR_SHIFT)) & TRDC_MBC4_W3_RECR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_W3 */ +#define TRDC_MBC4_W3_COUNT (4U) + +/*! @name W0 - MRC Domain Error Word0 Register */ +/*! @{ */ + +#define TRDC_MBC4_W0_EADDR_MASK (0xFFFFFFFFU) +#define TRDC_MBC4_W0_EADDR_SHIFT (0U) +/*! EADDR - Error address */ +#define TRDC_MBC4_W0_EADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W0_EADDR_SHIFT)) & TRDC_MBC4_W0_EADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_W0 */ +#define TRDC_MBC4_MRC_DERR_W0_COUNT (1U) + +/*! @name W1 - MRC Domain Error Word1 Register */ +/*! @{ */ + +#define TRDC_MBC4_W1_EDID_MASK (0xFU) +#define TRDC_MBC4_W1_EDID_SHIFT (0U) +/*! EDID - Error domain identifier */ +#define TRDC_MBC4_W1_EDID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_EDID_SHIFT)) & TRDC_MBC4_W1_EDID_MASK) + +#define TRDC_MBC4_W1_EATR_MASK (0x700U) +#define TRDC_MBC4_W1_EATR_SHIFT (8U) +/*! EATR - Error attributes + * 0b000..Secure user mode, instruction fetch access. + * 0b001..Secure user mode, data access. + * 0b010..Secure privileged mode, instruction fetch access. + * 0b011..Secure privileged mode, data access. + * 0b100..Nonsecure user mode, instruction fetch access. + * 0b101..Nonsecure user mode, data access. + * 0b110..Nonsecure privileged mode, instruction fetch access. + * 0b111..Nonsecure privileged mode, data access. + */ +#define TRDC_MBC4_W1_EATR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_EATR_SHIFT)) & TRDC_MBC4_W1_EATR_MASK) + +#define TRDC_MBC4_W1_ERW_MASK (0x800U) +#define TRDC_MBC4_W1_ERW_SHIFT (11U) +/*! ERW - Error read/write + * 0b0..Read access + * 0b1..Write access + */ +#define TRDC_MBC4_W1_ERW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_ERW_SHIFT)) & TRDC_MBC4_W1_ERW_MASK) + +#define TRDC_MBC4_W1_EPORT_MASK (0x7000000U) +#define TRDC_MBC4_W1_EPORT_SHIFT (24U) +/*! EPORT - Error port */ +#define TRDC_MBC4_W1_EPORT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_EPORT_SHIFT)) & TRDC_MBC4_W1_EPORT_MASK) + +#define TRDC_MBC4_W1_EST_MASK (0xC0000000U) +#define TRDC_MBC4_W1_EST_SHIFT (30U) +/*! EST - Error state + * 0b00..No access violation has been detected. + * 0b01..No access violation has been detected. + * 0b10..A single access violation has been detected. + * 0b11..Multiple access violations for this domain have been detected by this submodule instance. Only the + * address and attribute information for the first error have been captured in DERR_W0_i and DERR_W1_i. + */ +#define TRDC_MBC4_W1_EST(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W1_EST_SHIFT)) & TRDC_MBC4_W1_EST_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_W1 */ +#define TRDC_MBC4_MRC_DERR_W1_COUNT (1U) + +/*! @name W3 - MRC Domain Error Word3 Register */ +/*! @{ */ + +#define TRDC_MBC4_W3_RECR_MASK (0xC0000000U) +#define TRDC_MBC4_W3_RECR_SHIFT (30U) +/*! RECR - Rearm Error Capture Registers */ +#define TRDC_MBC4_W3_RECR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_W3_RECR_SHIFT)) & TRDC_MBC4_W3_RECR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_W3 */ +#define TRDC_MBC4_MRC_DERR_W3_COUNT (1U) + +/*! @name MDA_W_DFMT0 - DAC Master Domain Assignment Register */ +/*! @{ */ + +#define TRDC_MBC4_MDA_W_DFMT0_DID_MASK (0xFU) +#define TRDC_MBC4_MDA_W_DFMT0_DID_SHIFT (0U) +/*! DID - Domain identifier */ +#define TRDC_MBC4_MDA_W_DFMT0_DID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_DID_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_DID_MASK) + +#define TRDC_MBC4_MDA_W_DFMT0_DIDS_MASK (0x30U) +#define TRDC_MBC4_MDA_W_DFMT0_DIDS_SHIFT (4U) +/*! DIDS - DID Select + * 0b00..Use MDAm[3:0] as the domain identifier. + * 0b01..Use the input DID as the domain identifier. + * 0b10..Use MDAm[3:2] concatenated with the low-order 2 bits of the input DID (DID_in[1:0]) as the domain identifier. + * 0b11..Reserved for future use. + */ +#define TRDC_MBC4_MDA_W_DFMT0_DIDS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_DIDS_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_DIDS_MASK) + +#define TRDC_MBC4_MDA_W_DFMT0_PE_MASK (0xC0U) +#define TRDC_MBC4_MDA_W_DFMT0_PE_SHIFT (6U) +/*! PE - Process identifier enable + * 0b00..No process identifier is included in the domain hit evaluation. + * 0b01..No process identifier is included in the domain hit evaluation. + * 0b10..PE = 2 + * 0b11..PE = 3 + */ +#define TRDC_MBC4_MDA_W_DFMT0_PE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_PE_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_PE_MASK) + +#define TRDC_MBC4_MDA_W_DFMT0_PIDM_MASK (0x3F00U) +#define TRDC_MBC4_MDA_W_DFMT0_PIDM_SHIFT (8U) +/*! PIDM - Process Identifier Mask */ +#define TRDC_MBC4_MDA_W_DFMT0_PIDM(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_PIDM_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_PIDM_MASK) + +#define TRDC_MBC4_MDA_W_DFMT0_SA_MASK (0xC000U) +#define TRDC_MBC4_MDA_W_DFMT0_SA_SHIFT (14U) +/*! SA - Secure attribute + * 0b00..Force the bus attribute for this master to secure. + * 0b01..Force the bus attribute for this master to nonsecure. + * 0b10..Use the bus master's secure/nonsecure attribute directly. + * 0b11..Use the bus master's secure/nonsecure attribute directly. + */ +#define TRDC_MBC4_MDA_W_DFMT0_SA(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_SA_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_SA_MASK) + +#define TRDC_MBC4_MDA_W_DFMT0_PID_MASK (0x3F0000U) +#define TRDC_MBC4_MDA_W_DFMT0_PID_SHIFT (16U) +/*! PID - Process Identifier */ +#define TRDC_MBC4_MDA_W_DFMT0_PID(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_PID_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_PID_MASK) + +#define TRDC_MBC4_MDA_W_DFMT0_DFMT_MASK (0x20000000U) +#define TRDC_MBC4_MDA_W_DFMT0_DFMT_SHIFT (29U) +/*! DFMT - Domain format + * 0b0..Processor-core domain assignment + * 0b1..Non-processor domain assignment + */ +#define TRDC_MBC4_MDA_W_DFMT0_DFMT(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_DFMT_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_DFMT_MASK) + +#define TRDC_MBC4_MDA_W_DFMT0_LK1_MASK (0x40000000U) +#define TRDC_MBC4_MDA_W_DFMT0_LK1_SHIFT (30U) +/*! LK1 - 1-bit Lock + * 0b0..Register can be written by any secure privileged write. + * 0b1..Register is locked (read-only) until the next reset. + */ +#define TRDC_MBC4_MDA_W_DFMT0_LK1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_LK1_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_LK1_MASK) + +#define TRDC_MBC4_MDA_W_DFMT0_VLD_MASK (0x80000000U) +#define TRDC_MBC4_MDA_W_DFMT0_VLD_SHIFT (31U) +/*! VLD - Valid + * 0b0..The Wr domain assignment is invalid. + * 0b1..The Wr domain assignment is valid. + */ +#define TRDC_MBC4_MDA_W_DFMT0_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MDA_W_DFMT0_VLD_SHIFT)) & TRDC_MBC4_MDA_W_DFMT0_VLD_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MDA_W_DFMT0 */ +#define TRDC_MBC4_MDA_W_DFMT0_COUNT (2U) + +/* The count of TRDC_MBC4_MDA_W_DFMT0 */ +#define TRDC_MBC4_MDA_W_DFMT0_COUNT2 (4U) + +/*! @name MBC_MEM_GLBCFG - MBC Global Configuration Register */ +/*! @{ */ + +#define TRDC_MBC4_MBC_MEM_GLBCFG_NBLKS_MASK (0x3FFU) +#define TRDC_MBC4_MBC_MEM_GLBCFG_NBLKS_SHIFT (0U) +/*! NBLKS - Number of blocks in this memory */ +#define TRDC_MBC4_MBC_MEM_GLBCFG_NBLKS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEM_GLBCFG_NBLKS_SHIFT)) & TRDC_MBC4_MBC_MEM_GLBCFG_NBLKS_MASK) + +#define TRDC_MBC4_MBC_MEM_GLBCFG_SIZE_LOG2_MASK (0x1F0000U) +#define TRDC_MBC4_MBC_MEM_GLBCFG_SIZE_LOG2_SHIFT (16U) +/*! SIZE_LOG2 - Log2 size per block */ +#define TRDC_MBC4_MBC_MEM_GLBCFG_SIZE_LOG2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEM_GLBCFG_SIZE_LOG2_SHIFT)) & TRDC_MBC4_MBC_MEM_GLBCFG_SIZE_LOG2_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_MEM_GLBCFG */ +#define TRDC_MBC4_MBC_MEM_GLBCFG_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_MEM_GLBCFG */ +#define TRDC_MBC4_MBC_MEM_GLBCFG_COUNT2 (4U) + +/*! @name MBC_NSE_BLK_INDEX - MBC NonSecure Enable Block Index */ +/*! @{ */ + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_AI_MASK (0x1U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_AI_SHIFT (0U) +/*! AI - Auto Increment + * 0b0..No effect. + * 0b1..Add 1 to the WNDX field after the register write. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_AI(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_AI_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_AI_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_WNDX_MASK (0x3CU) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_WNDX_SHIFT (2U) +/*! WNDX - Word index into the block NSE bitmap. It selects the BLK_NSE_Wn register, where WNDX determines the value of n. */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_WNDX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_WNDX_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_WNDX_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_MEM_SEL_MASK (0xF00U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_MEM_SEL_SHIFT (8U) +/*! MEM_SEL - Memory Select */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_MEM_SEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_MEM_SEL_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_MEM_SEL_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL0_MASK (0x10000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL0_SHIFT (16U) +/*! DID_SEL0 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL0_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL0_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL1_MASK (0x20000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL1_SHIFT (17U) +/*! DID_SEL1 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL1_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL1_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL2_MASK (0x40000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL2_SHIFT (18U) +/*! DID_SEL2 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL2_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL2_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL3_MASK (0x80000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL3_SHIFT (19U) +/*! DID_SEL3 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL3_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL3_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL4_MASK (0x100000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL4_SHIFT (20U) +/*! DID_SEL4 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL4_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL4_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL5_MASK (0x200000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL5_SHIFT (21U) +/*! DID_SEL5 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL5_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL5_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL6_MASK (0x400000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL6_SHIFT (22U) +/*! DID_SEL6 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL6_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL6_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL7_MASK (0x800000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL7_SHIFT (23U) +/*! DID_SEL7 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL7_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL7_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL8_MASK (0x1000000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL8_SHIFT (24U) +/*! DID_SEL8 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL8_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL8_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL9_MASK (0x2000000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL9_SHIFT (25U) +/*! DID_SEL9 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL9_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL9_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL10_MASK (0x4000000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL10_SHIFT (26U) +/*! DID_SEL10 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL10_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL10_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL11_MASK (0x8000000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL11_SHIFT (27U) +/*! DID_SEL11 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL11_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL11_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL12_MASK (0x10000000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL12_SHIFT (28U) +/*! DID_SEL12 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL12_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL12_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL13_MASK (0x20000000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL13_SHIFT (29U) +/*! DID_SEL13 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL13_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL13_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL14_MASK (0x40000000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL14_SHIFT (30U) +/*! DID_SEL14 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL14_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL14_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL15_MASK (0x80000000U) +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL15_SHIFT (31U) +/*! DID_SEL15 - DID Select + * 0b0..No effect. + * 0b1..Selects NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL15_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_INDEX_DID_SEL15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_NSE_BLK_INDEX */ +#define TRDC_MBC4_MBC_NSE_BLK_INDEX_COUNT (4U) + +/*! @name MBC_NSE_BLK_SET - MBC NonSecure Enable Block Set */ +/*! @{ */ + +#define TRDC_MBC4_MBC_NSE_BLK_SET_W1SET_MASK (0xFFFFFFFFU) +#define TRDC_MBC4_MBC_NSE_BLK_SET_W1SET_SHIFT (0U) +/*! W1SET - Write-1 Set */ +#define TRDC_MBC4_MBC_NSE_BLK_SET_W1SET(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_SET_W1SET_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_SET_W1SET_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_NSE_BLK_SET */ +#define TRDC_MBC4_MBC_NSE_BLK_SET_COUNT (4U) + +/*! @name MBC_NSE_BLK_CLR - MBC NonSecure Enable Block Clear */ +/*! @{ */ + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_W1CLR_MASK (0xFFFFFFFFU) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_W1CLR_SHIFT (0U) +/*! W1CLR - Write-1 Clear */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_W1CLR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_W1CLR_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_W1CLR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_NSE_BLK_CLR */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_COUNT (4U) + +/*! @name MBC_NSE_BLK_CLR_ALL - MBC NonSecure Enable Block Clear All */ +/*! @{ */ + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_MEMSEL_MASK (0xF00U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_MEMSEL_SHIFT (8U) +/*! MEMSEL - Memory Select */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_MEMSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_MEMSEL_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_MEMSEL_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL0_MASK (0x10000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL0_SHIFT (16U) +/*! DID_SEL0 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL0_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL0_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL1_MASK (0x20000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL1_SHIFT (17U) +/*! DID_SEL1 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL1_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL1_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL2_MASK (0x40000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL2_SHIFT (18U) +/*! DID_SEL2 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL2_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL2_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL3_MASK (0x80000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL3_SHIFT (19U) +/*! DID_SEL3 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL3_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL3_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL4_MASK (0x100000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL4_SHIFT (20U) +/*! DID_SEL4 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL4_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL4_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL5_MASK (0x200000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL5_SHIFT (21U) +/*! DID_SEL5 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL5_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL5_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL6_MASK (0x400000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL6_SHIFT (22U) +/*! DID_SEL6 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL6_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL6_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL7_MASK (0x800000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL7_SHIFT (23U) +/*! DID_SEL7 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL7_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL7_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL8_MASK (0x1000000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL8_SHIFT (24U) +/*! DID_SEL8 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL8_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL8_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL9_MASK (0x2000000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL9_SHIFT (25U) +/*! DID_SEL9 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL9_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL9_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL10_MASK (0x4000000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL10_SHIFT (26U) +/*! DID_SEL10 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL10_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL10_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL11_MASK (0x8000000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL11_SHIFT (27U) +/*! DID_SEL11 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL11_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL11_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL12_MASK (0x10000000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL12_SHIFT (28U) +/*! DID_SEL12 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL12_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL12_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL13_MASK (0x20000000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL13_SHIFT (29U) +/*! DID_SEL13 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL13_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL13_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL14_MASK (0x40000000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL14_SHIFT (30U) +/*! DID_SEL14 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL14_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL14_MASK) + +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL15_MASK (0x80000000U) +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL15_SHIFT (31U) +/*! DID_SEL15 - DID Select + * 0b0..No effect. + * 0b1..Clear all NSE bits for this domain. + */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL15_SHIFT)) & TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_DID_SEL15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_NSE_BLK_CLR_ALL */ +#define TRDC_MBC4_MBC_NSE_BLK_CLR_ALL_COUNT (4U) + +/*! @name MBC_MEMN_GLBAC - MBC Global Access Control */ +/*! @{ */ + +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUX_MASK (0x1U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUX_SHIFT (0U) +/*! NUX - NonsecureUser Execute + * 0b0..Execute access is not allowed in Nonsecure User mode. + * 0b1..Execute access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_NUX_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_NUX_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUW_MASK (0x2U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUW_SHIFT (1U) +/*! NUW - NonsecureUser Write + * 0b0..Write access is not allowed in Nonsecure User mode. + * 0b1..Write access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_NUW_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_NUW_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUR_MASK (0x4U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUR_SHIFT (2U) +/*! NUR - NonsecureUser Read + * 0b0..Read access is not allowed in Nonsecure User mode. + * 0b1..Read access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_NUR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_NUR_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_NUR_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPX_MASK (0x10U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPX_SHIFT (4U) +/*! NPX - NonsecurePriv Execute + * 0b0..Execute access is not allowed in Nonsecure Privilege mode. + * 0b1..Execute access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_NPX_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_NPX_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPW_MASK (0x20U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPW_SHIFT (5U) +/*! NPW - NonsecurePriv Write + * 0b0..Write access is not allowed in Nonsecure Privilege mode. + * 0b1..Write access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_NPW_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_NPW_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPR_MASK (0x40U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPR_SHIFT (6U) +/*! NPR - NonsecurePriv Read + * 0b0..Read access is not allowed in Nonsecure Privilege mode. + * 0b1..Read access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_NPR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_NPR_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_NPR_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUX_MASK (0x100U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUX_SHIFT (8U) +/*! SUX - SecureUser Execute + * 0b0..Execute access is not allowed in Secure User mode. + * 0b1..Execute access is allowed in Secure User mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_SUX_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_SUX_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUW_MASK (0x200U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUW_SHIFT (9U) +/*! SUW - SecureUser Write + * 0b0..Write access is not allowed in Secure User mode. + * 0b1..Write access is allowed in Secure User mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_SUW_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_SUW_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUR_MASK (0x400U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUR_SHIFT (10U) +/*! SUR - SecureUser Read + * 0b0..Read access is not allowed in Secure User mode. + * 0b1..Read access is allowed in Secure User mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_SUR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_SUR_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_SUR_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPX_MASK (0x1000U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPX_SHIFT (12U) +/*! SPX - SecurePriv Execute + * 0b0..Execute access is not allowed in Secure Privilege mode. + * 0b1..Execute access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_SPX_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_SPX_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPW_MASK (0x2000U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPW_SHIFT (13U) +/*! SPW - SecurePriv Write + * 0b0..Write access is not allowed in Secure Privilege mode. + * 0b1..Write access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_SPW_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_SPW_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPR_MASK (0x4000U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPR_SHIFT (14U) +/*! SPR - SecurePriv Read + * 0b0..Read access is not allowed in Secure Privilege mode. + * 0b1..Read access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_SPR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_SPR_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_SPR_MASK) + +#define TRDC_MBC4_MBC_MEMN_GLBAC_LK_MASK (0x80000000U) +#define TRDC_MBC4_MBC_MEMN_GLBAC_LK_SHIFT (31U) +/*! LK - LOCK + * 0b0..This register is not locked and can be altered. + * 0b1..This register is locked and cannot be altered. + */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_LK(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_MEMN_GLBAC_LK_SHIFT)) & TRDC_MBC4_MBC_MEMN_GLBAC_LK_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_MEMN_GLBAC */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_MEMN_GLBAC */ +#define TRDC_MBC4_MBC_MEMN_GLBAC_COUNT2 (8U) + +/*! @name MBC_DOM0_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM0_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM0_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM0_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM0_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM0_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM0_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM0_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM0_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM0_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM0_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM0_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM1_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM1_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM1_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM1_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM1_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM1_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM1_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM1_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM1_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM1_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM1_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM1_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM2_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM2_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM2_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM2_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM2_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM2_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM2_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM2_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM2_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM2_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM2_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM2_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM3_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM3_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM3_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM3_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM3_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM3_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM3_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM3_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM3_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM3_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM3_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM3_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM4_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM4_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM4_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM4_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM4_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM4_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM4_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM4_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM4_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM4_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM4_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM4_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM5_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM5_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM5_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM5_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM5_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM5_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM5_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM5_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM5_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM5_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM5_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM5_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM6_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM6_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM6_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM6_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM6_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM6_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM6_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM6_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM6_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM6_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM6_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM6_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM7_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM7_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM7_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM7_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM7_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM7_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM7_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM7_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM7_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM7_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM7_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM7_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM8_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM8_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM8_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM8_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM8_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM8_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM8_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM8_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM8_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM8_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM8_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM8_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM9_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM9_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM9_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM9_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM9_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM9_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM9_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM9_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM9_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM9_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM9_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM9_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM10_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM10_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM10_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM10_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM10_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM10_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM10_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM10_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM10_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM10_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM10_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM10_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM11_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM11_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM11_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM11_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM11_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM11_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM11_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM11_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM11_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM11_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM11_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM11_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM12_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM12_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM12_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM12_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM12_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM12_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM12_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM12_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM12_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM12_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM12_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM12_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM13_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM13_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM13_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM13_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM13_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM13_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM13_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM13_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM13_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM13_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM13_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM13_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM14_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM14_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM14_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM14_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM14_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM14_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM14_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM14_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM14_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM14_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM14_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM14_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM15_MEM0_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_CFG_W_COUNT2 (7U) + +/*! @name MBC_DOM15_MEM0_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM15_MEM0_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM15_MEM1_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_CFG_W_COUNT2 (3U) + +/*! @name MBC_DOM15_MEM1_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM15_MEM1_BLK_NSE_W_COUNT2 (1U) + +/*! @name MBC_DOM15_MEM2_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_CFG_W_COUNT2 (5U) + +/*! @name MBC_DOM15_MEM2_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM15_MEM2_BLK_NSE_W_COUNT2 (2U) + +/*! @name MBC_DOM15_MEM3_BLK_CFG_W - MBC Memory Block Configuration Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0_MASK (0x7U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0_SHIFT (0U) +/*! MBACSEL0 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE0_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE0_SHIFT (3U) +/*! NSE0 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1_MASK (0x70U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1_SHIFT (4U) +/*! MBACSEL1 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE1_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE1_SHIFT (7U) +/*! NSE1 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2_MASK (0x700U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2_SHIFT (8U) +/*! MBACSEL2 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE2_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE2_SHIFT (11U) +/*! NSE2 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3_MASK (0x7000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3_SHIFT (12U) +/*! MBACSEL3 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE3_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE3_SHIFT (15U) +/*! NSE3 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4_MASK (0x70000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4_SHIFT (16U) +/*! MBACSEL4 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE4_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE4_SHIFT (19U) +/*! NSE4 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5_MASK (0x700000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5_SHIFT (20U) +/*! MBACSEL5 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE5_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE5_SHIFT (23U) +/*! NSE5 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6_MASK (0x7000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6_SHIFT (24U) +/*! MBACSEL6 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE6_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE6_SHIFT (27U) +/*! NSE6 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7_MASK (0x70000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7_SHIFT (28U) +/*! MBACSEL7 - Memory Block Access Control Select for block B + * 0b000..select MBC_MEMN_GLBAC0 access control policy for block B + * 0b001..select MBC_MEMN_GLBAC1 access control policy for block B + * 0b010..select MBC_MEMN_GLBAC2 access control policy for block B + * 0b011..select MBC_MEMN_GLBAC3 access control policy for block B + * 0b100..select MBC_MEMN_GLBAC4 access control policy for block B + * 0b101..select MBC_MEMN_GLBAC5 access control policy for block B + * 0b110..select MBC_MEMN_GLBAC6 access control policy for block B + * 0b111..select MBC_MEMN_GLBAC7 access control policy for block B + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_MBACSEL7_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE7_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE7_SHIFT (31U) +/*! NSE7 - NonSecure Enable for block B + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in this register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in this register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_NSE7_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_CFG_W_COUNT2 (6U) + +/*! @name MBC_DOM15_MEM3_BLK_NSE_W - MBC Memory Block NonSecure Enable Word */ +/*! @{ */ + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT0_MASK (0x1U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT0_SHIFT (0U) +/*! BIT0 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT0_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT0_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT1_MASK (0x2U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT1_SHIFT (1U) +/*! BIT1 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT1_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT1_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT2_MASK (0x4U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT2_SHIFT (2U) +/*! BIT2 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT2_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT2_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT3_MASK (0x8U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT3_SHIFT (3U) +/*! BIT3 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT3_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT3_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT4_MASK (0x10U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT4_SHIFT (4U) +/*! BIT4 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT4_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT4_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT5_MASK (0x20U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT5_SHIFT (5U) +/*! BIT5 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT5_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT5_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT6_MASK (0x40U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT6_SHIFT (6U) +/*! BIT6 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT6_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT6_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT7_MASK (0x80U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT7_SHIFT (7U) +/*! BIT7 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT7_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT7_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT8_MASK (0x100U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT8_SHIFT (8U) +/*! BIT8 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT8_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT8_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT9_MASK (0x200U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT9_SHIFT (9U) +/*! BIT9 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT9_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT9_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT10_MASK (0x400U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT10_SHIFT (10U) +/*! BIT10 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT10_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT10_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT11_MASK (0x800U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT11_SHIFT (11U) +/*! BIT11 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT11_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT11_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT12_SHIFT (12U) +/*! BIT12 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT12_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT12_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT13_SHIFT (13U) +/*! BIT13 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT13_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT13_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT14_SHIFT (14U) +/*! BIT14 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT14_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT14_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT15_SHIFT (15U) +/*! BIT15 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT15_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT15_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT16_MASK (0x10000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT16_SHIFT (16U) +/*! BIT16 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT16(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT16_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT16_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT17_MASK (0x20000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT17_SHIFT (17U) +/*! BIT17 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT17(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT17_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT17_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT18_MASK (0x40000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT18_SHIFT (18U) +/*! BIT18 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT18(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT18_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT18_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT19_MASK (0x80000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT19_SHIFT (19U) +/*! BIT19 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT19(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT19_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT19_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT20_MASK (0x100000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT20_SHIFT (20U) +/*! BIT20 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT20(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT20_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT20_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT21_MASK (0x200000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT21_SHIFT (21U) +/*! BIT21 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT21(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT21_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT21_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT22_MASK (0x400000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT22_SHIFT (22U) +/*! BIT22 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT22(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT22_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT22_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT23_MASK (0x800000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT23_SHIFT (23U) +/*! BIT23 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT23(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT23_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT23_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT24_MASK (0x1000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT24_SHIFT (24U) +/*! BIT24 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT24(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT24_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT24_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT25_MASK (0x2000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT25_SHIFT (25U) +/*! BIT25 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT25(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT25_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT25_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT26_MASK (0x4000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT26_SHIFT (26U) +/*! BIT26 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT26(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT26_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT26_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT27_MASK (0x8000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT27_SHIFT (27U) +/*! BIT27 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT27(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT27_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT27_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT28_MASK (0x10000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT28_SHIFT (28U) +/*! BIT28 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT28(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT28_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT28_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT29_MASK (0x20000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT29_SHIFT (29U) +/*! BIT29 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT29(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT29_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT29_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT30_MASK (0x40000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT30_SHIFT (30U) +/*! BIT30 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT30(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT30_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT30_MASK) + +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT31_MASK (0x80000000U) +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT31_SHIFT (31U) +/*! BIT31 - Bit b NonSecure Enable [b = 0 - 31] + * 0b0..Secure accesses to block B are based on corresponding MBACSEL field in register + * (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]), nonsecure accesses to block B are not allowed. + * 0b1..Secure accesses to block B are not allowed, nonsecure accesses to block B are based on corresponding + * MBACSEL field in register (MBCm_DOMd_MEMs_BLK_CFG_Ww[MBACSEL]). + */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT31(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT31_SHIFT)) & TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_BIT31_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_COUNT (4U) + +/* The count of TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W */ +#define TRDC_MBC4_MBC_DOM15_MEM3_BLK_NSE_W_COUNT2 (2U) + +/*! @name MRC_GLBCFG - MRC Global Configuration Register */ +/*! @{ */ + +#define TRDC_MBC4_MRC_GLBCFG_NRGNS_MASK (0x1FU) +#define TRDC_MBC4_MRC_GLBCFG_NRGNS_SHIFT (0U) +/*! NRGNS - Number of regions [1-16] */ +#define TRDC_MBC4_MRC_GLBCFG_NRGNS(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBCFG_NRGNS_SHIFT)) & TRDC_MBC4_MRC_GLBCFG_NRGNS_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_GLBCFG */ +#define TRDC_MBC4_MRC_GLBCFG_COUNT (1U) + +/*! @name MRC_NSE_RGN_INDIRECT - MRC NonSecure Enable Region Indirect */ +/*! @{ */ + +#define TRDC_MBC4_MRC_NSE_RGN_INDIRECT_DID_SEL_MASK (0xFFFF0000U) +#define TRDC_MBC4_MRC_NSE_RGN_INDIRECT_DID_SEL_SHIFT (16U) +/*! DID_SEL - DID Select */ +#define TRDC_MBC4_MRC_NSE_RGN_INDIRECT_DID_SEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_NSE_RGN_INDIRECT_DID_SEL_SHIFT)) & TRDC_MBC4_MRC_NSE_RGN_INDIRECT_DID_SEL_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_NSE_RGN_INDIRECT */ +#define TRDC_MBC4_MRC_NSE_RGN_INDIRECT_COUNT (1U) + +/*! @name MRC_NSE_RGN_SET - MRC NonSecure Enable Region Set */ +/*! @{ */ + +#define TRDC_MBC4_MRC_NSE_RGN_SET_W1SET_MASK (0xFFFFU) +#define TRDC_MBC4_MRC_NSE_RGN_SET_W1SET_SHIFT (0U) +/*! W1SET - Write-1 Set */ +#define TRDC_MBC4_MRC_NSE_RGN_SET_W1SET(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_NSE_RGN_SET_W1SET_SHIFT)) & TRDC_MBC4_MRC_NSE_RGN_SET_W1SET_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_NSE_RGN_SET */ +#define TRDC_MBC4_MRC_NSE_RGN_SET_COUNT (1U) + +/*! @name MRC_NSE_RGN_CLR - MRC NonSecure Enable Region Clear */ +/*! @{ */ + +#define TRDC_MBC4_MRC_NSE_RGN_CLR_W1CLR_MASK (0xFFFFU) +#define TRDC_MBC4_MRC_NSE_RGN_CLR_W1CLR_SHIFT (0U) +/*! W1CLR - Write-1 Clear */ +#define TRDC_MBC4_MRC_NSE_RGN_CLR_W1CLR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_NSE_RGN_CLR_W1CLR_SHIFT)) & TRDC_MBC4_MRC_NSE_RGN_CLR_W1CLR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_NSE_RGN_CLR */ +#define TRDC_MBC4_MRC_NSE_RGN_CLR_COUNT (1U) + +/*! @name MRC_NSE_RGN_CLR_ALL - MRC NonSecure Enable Region Clear All */ +/*! @{ */ + +#define TRDC_MBC4_MRC_NSE_RGN_CLR_ALL_DID_SEL_MASK (0xFFFF0000U) +#define TRDC_MBC4_MRC_NSE_RGN_CLR_ALL_DID_SEL_SHIFT (16U) +/*! DID_SEL - DID Select */ +#define TRDC_MBC4_MRC_NSE_RGN_CLR_ALL_DID_SEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_NSE_RGN_CLR_ALL_DID_SEL_SHIFT)) & TRDC_MBC4_MRC_NSE_RGN_CLR_ALL_DID_SEL_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_NSE_RGN_CLR_ALL */ +#define TRDC_MBC4_MRC_NSE_RGN_CLR_ALL_COUNT (1U) + +/*! @name MRC_GLBAC - MRC Global Access Control */ +/*! @{ */ + +#define TRDC_MBC4_MRC_GLBAC_NUX_MASK (0x1U) +#define TRDC_MBC4_MRC_GLBAC_NUX_SHIFT (0U) +/*! NUX - NonsecureUser Execute + * 0b0..Execute access is not allowed in Nonsecure User mode. + * 0b1..Execute access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC4_MRC_GLBAC_NUX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_NUX_SHIFT)) & TRDC_MBC4_MRC_GLBAC_NUX_MASK) + +#define TRDC_MBC4_MRC_GLBAC_NUW_MASK (0x2U) +#define TRDC_MBC4_MRC_GLBAC_NUW_SHIFT (1U) +/*! NUW - NonsecureUser Write + * 0b0..Write access is not allowed in Nonsecure User mode. + * 0b1..Write access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC4_MRC_GLBAC_NUW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_NUW_SHIFT)) & TRDC_MBC4_MRC_GLBAC_NUW_MASK) + +#define TRDC_MBC4_MRC_GLBAC_NUR_MASK (0x4U) +#define TRDC_MBC4_MRC_GLBAC_NUR_SHIFT (2U) +/*! NUR - NonsecureUser Read + * 0b0..Read access is not allowed in Nonsecure User mode. + * 0b1..Read access is allowed in Nonsecure User mode. + */ +#define TRDC_MBC4_MRC_GLBAC_NUR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_NUR_SHIFT)) & TRDC_MBC4_MRC_GLBAC_NUR_MASK) + +#define TRDC_MBC4_MRC_GLBAC_NPX_MASK (0x10U) +#define TRDC_MBC4_MRC_GLBAC_NPX_SHIFT (4U) +/*! NPX - NonsecurePriv Execute + * 0b0..Execute access is not allowed in Nonsecure Privilege mode. + * 0b1..Execute access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC4_MRC_GLBAC_NPX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_NPX_SHIFT)) & TRDC_MBC4_MRC_GLBAC_NPX_MASK) + +#define TRDC_MBC4_MRC_GLBAC_NPW_MASK (0x20U) +#define TRDC_MBC4_MRC_GLBAC_NPW_SHIFT (5U) +/*! NPW - NonsecurePriv Write + * 0b0..Write access is not allowed in Nonsecure Privilege mode. + * 0b1..Write access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC4_MRC_GLBAC_NPW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_NPW_SHIFT)) & TRDC_MBC4_MRC_GLBAC_NPW_MASK) + +#define TRDC_MBC4_MRC_GLBAC_NPR_MASK (0x40U) +#define TRDC_MBC4_MRC_GLBAC_NPR_SHIFT (6U) +/*! NPR - NonsecurePriv Read + * 0b0..Read access is not allowed in Nonsecure Privilege mode. + * 0b1..Read access is allowed in Nonsecure Privilege mode. + */ +#define TRDC_MBC4_MRC_GLBAC_NPR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_NPR_SHIFT)) & TRDC_MBC4_MRC_GLBAC_NPR_MASK) + +#define TRDC_MBC4_MRC_GLBAC_SUX_MASK (0x100U) +#define TRDC_MBC4_MRC_GLBAC_SUX_SHIFT (8U) +/*! SUX - SecureUser Execute + * 0b0..Execute access is not allowed in Secure User mode. + * 0b1..Execute access is allowed in Secure User mode. + */ +#define TRDC_MBC4_MRC_GLBAC_SUX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_SUX_SHIFT)) & TRDC_MBC4_MRC_GLBAC_SUX_MASK) + +#define TRDC_MBC4_MRC_GLBAC_SUW_MASK (0x200U) +#define TRDC_MBC4_MRC_GLBAC_SUW_SHIFT (9U) +/*! SUW - SecureUser Write + * 0b0..Write access is not allowed in Secure User mode. + * 0b1..Write access is allowed in Secure User mode. + */ +#define TRDC_MBC4_MRC_GLBAC_SUW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_SUW_SHIFT)) & TRDC_MBC4_MRC_GLBAC_SUW_MASK) + +#define TRDC_MBC4_MRC_GLBAC_SUR_MASK (0x400U) +#define TRDC_MBC4_MRC_GLBAC_SUR_SHIFT (10U) +/*! SUR - SecureUser Read + * 0b0..Read access is not allowed in Secure User mode. + * 0b1..Read access is allowed in Secure User mode. + */ +#define TRDC_MBC4_MRC_GLBAC_SUR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_SUR_SHIFT)) & TRDC_MBC4_MRC_GLBAC_SUR_MASK) + +#define TRDC_MBC4_MRC_GLBAC_SPX_MASK (0x1000U) +#define TRDC_MBC4_MRC_GLBAC_SPX_SHIFT (12U) +/*! SPX - SecurePriv Execute + * 0b0..Execute access is not allowed in Secure Privilege mode. + * 0b1..Execute access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC4_MRC_GLBAC_SPX(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_SPX_SHIFT)) & TRDC_MBC4_MRC_GLBAC_SPX_MASK) + +#define TRDC_MBC4_MRC_GLBAC_SPW_MASK (0x2000U) +#define TRDC_MBC4_MRC_GLBAC_SPW_SHIFT (13U) +/*! SPW - SecurePriv Write + * 0b0..Write access is not allowed in Secure Privilege mode. + * 0b1..Write access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC4_MRC_GLBAC_SPW(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_SPW_SHIFT)) & TRDC_MBC4_MRC_GLBAC_SPW_MASK) + +#define TRDC_MBC4_MRC_GLBAC_SPR_MASK (0x4000U) +#define TRDC_MBC4_MRC_GLBAC_SPR_SHIFT (14U) +/*! SPR - SecurePriv Read + * 0b0..Read access is not allowed in Secure Privilege mode. + * 0b1..Read access is allowed in Secure Privilege mode. + */ +#define TRDC_MBC4_MRC_GLBAC_SPR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_SPR_SHIFT)) & TRDC_MBC4_MRC_GLBAC_SPR_MASK) + +#define TRDC_MBC4_MRC_GLBAC_LK_MASK (0x80000000U) +#define TRDC_MBC4_MRC_GLBAC_LK_SHIFT (31U) +/*! LK - LOCK + * 0b0..This register is not locked and can be altered. + * 0b1..This register is locked (read-only) and cannot be altered. + */ +#define TRDC_MBC4_MRC_GLBAC_LK(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_GLBAC_LK_SHIFT)) & TRDC_MBC4_MRC_GLBAC_LK_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_GLBAC */ +#define TRDC_MBC4_MRC_GLBAC_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_GLBAC */ +#define TRDC_MBC4_MRC_GLBAC_COUNT2 (8U) + +/*! @name MRC_DOM0_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM0_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM0_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM0_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM0_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM0_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM0_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM0_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM0_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM0_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM0_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM0_RGD_W */ +#define TRDC_MBC4_MRC_DOM0_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM0_RGD_W */ +#define TRDC_MBC4_MRC_DOM0_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM0_RGD_W */ +#define TRDC_MBC4_MRC_DOM0_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM0_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM0_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM0_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM0_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM1_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM1_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM1_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM1_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM1_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM1_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM1_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM1_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM1_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM1_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM1_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM1_RGD_W */ +#define TRDC_MBC4_MRC_DOM1_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM1_RGD_W */ +#define TRDC_MBC4_MRC_DOM1_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM1_RGD_W */ +#define TRDC_MBC4_MRC_DOM1_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM1_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM1_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM1_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM1_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM2_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM2_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM2_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM2_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM2_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM2_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM2_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM2_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM2_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM2_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM2_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM2_RGD_W */ +#define TRDC_MBC4_MRC_DOM2_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM2_RGD_W */ +#define TRDC_MBC4_MRC_DOM2_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM2_RGD_W */ +#define TRDC_MBC4_MRC_DOM2_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM2_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM2_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM2_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM2_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM3_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM3_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM3_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM3_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM3_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM3_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM3_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM3_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM3_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM3_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM3_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM3_RGD_W */ +#define TRDC_MBC4_MRC_DOM3_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM3_RGD_W */ +#define TRDC_MBC4_MRC_DOM3_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM3_RGD_W */ +#define TRDC_MBC4_MRC_DOM3_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM3_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM3_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM3_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM3_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM4_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM4_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM4_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM4_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM4_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM4_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM4_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM4_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM4_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM4_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM4_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM4_RGD_W */ +#define TRDC_MBC4_MRC_DOM4_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM4_RGD_W */ +#define TRDC_MBC4_MRC_DOM4_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM4_RGD_W */ +#define TRDC_MBC4_MRC_DOM4_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM4_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM4_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM4_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM4_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM5_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM5_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM5_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM5_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM5_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM5_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM5_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM5_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM5_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM5_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM5_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM5_RGD_W */ +#define TRDC_MBC4_MRC_DOM5_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM5_RGD_W */ +#define TRDC_MBC4_MRC_DOM5_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM5_RGD_W */ +#define TRDC_MBC4_MRC_DOM5_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM5_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM5_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM5_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM5_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM6_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM6_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM6_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM6_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM6_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM6_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM6_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM6_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM6_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM6_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM6_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM6_RGD_W */ +#define TRDC_MBC4_MRC_DOM6_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM6_RGD_W */ +#define TRDC_MBC4_MRC_DOM6_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM6_RGD_W */ +#define TRDC_MBC4_MRC_DOM6_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM6_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM6_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM6_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM6_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM7_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM7_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM7_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM7_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM7_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM7_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM7_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM7_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM7_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM7_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM7_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM7_RGD_W */ +#define TRDC_MBC4_MRC_DOM7_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM7_RGD_W */ +#define TRDC_MBC4_MRC_DOM7_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM7_RGD_W */ +#define TRDC_MBC4_MRC_DOM7_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM7_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM7_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM7_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM7_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM8_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM8_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM8_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM8_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM8_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM8_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM8_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM8_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM8_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM8_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM8_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM8_RGD_W */ +#define TRDC_MBC4_MRC_DOM8_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM8_RGD_W */ +#define TRDC_MBC4_MRC_DOM8_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM8_RGD_W */ +#define TRDC_MBC4_MRC_DOM8_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM8_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM8_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM8_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM8_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM9_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM9_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM9_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM9_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM9_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM9_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM9_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM9_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM9_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM9_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM9_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM9_RGD_W */ +#define TRDC_MBC4_MRC_DOM9_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM9_RGD_W */ +#define TRDC_MBC4_MRC_DOM9_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM9_RGD_W */ +#define TRDC_MBC4_MRC_DOM9_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM9_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM9_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM9_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM9_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM10_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM10_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM10_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM10_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM10_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM10_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM10_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM10_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM10_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM10_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM10_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM10_RGD_W */ +#define TRDC_MBC4_MRC_DOM10_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM10_RGD_W */ +#define TRDC_MBC4_MRC_DOM10_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM10_RGD_W */ +#define TRDC_MBC4_MRC_DOM10_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM10_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM10_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM10_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM10_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM11_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM11_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM11_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM11_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM11_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM11_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM11_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM11_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM11_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM11_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM11_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM11_RGD_W */ +#define TRDC_MBC4_MRC_DOM11_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM11_RGD_W */ +#define TRDC_MBC4_MRC_DOM11_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM11_RGD_W */ +#define TRDC_MBC4_MRC_DOM11_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM11_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM11_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM11_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM11_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM12_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM12_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM12_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM12_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM12_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM12_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM12_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM12_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM12_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM12_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM12_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM12_RGD_W */ +#define TRDC_MBC4_MRC_DOM12_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM12_RGD_W */ +#define TRDC_MBC4_MRC_DOM12_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM12_RGD_W */ +#define TRDC_MBC4_MRC_DOM12_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM12_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM12_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM12_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM12_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM13_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM13_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM13_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM13_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM13_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM13_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM13_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM13_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM13_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM13_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM13_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM13_RGD_W */ +#define TRDC_MBC4_MRC_DOM13_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM13_RGD_W */ +#define TRDC_MBC4_MRC_DOM13_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM13_RGD_W */ +#define TRDC_MBC4_MRC_DOM13_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM13_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM13_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM13_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM13_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM14_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM14_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM14_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM14_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM14_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM14_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM14_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM14_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM14_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM14_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM14_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM14_RGD_W */ +#define TRDC_MBC4_MRC_DOM14_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM14_RGD_W */ +#define TRDC_MBC4_MRC_DOM14_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM14_RGD_W */ +#define TRDC_MBC4_MRC_DOM14_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM14_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM14_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM14_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM14_RGD_NSE_COUNT (1U) + +/*! @name MRC_DOM15_RGD_W - MRC Region Descriptor Word 0..MRC Region Descriptor Word 1 */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM15_RGD_W_MRACSEL_MASK (0x7U) +#define TRDC_MBC4_MRC_DOM15_RGD_W_MRACSEL_SHIFT (0U) +/*! MRACSEL - Memory Region Access Control Select + * 0b000..Select MRC_GLBAC0 access control policy + * 0b001..Select MRC_GLBAC1 access control policy + * 0b010..Select MRC_GLBAC2 access control policy + * 0b011..Select MRC_GLBAC3 access control policy + * 0b100..Select MRC_GLBAC4 access control policy + * 0b101..Select MRC_GLBAC5 access control policy + * 0b110..Select MRC_GLBAC6 access control policy + * 0b111..Select MRC_GLBAC7 access control policy + */ +#define TRDC_MBC4_MRC_DOM15_RGD_W_MRACSEL(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_W_MRACSEL_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_W_MRACSEL_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_W_VLD_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM15_RGD_W_VLD_SHIFT (0U) +/*! VLD - Valid */ +#define TRDC_MBC4_MRC_DOM15_RGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_W_VLD_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_W_VLD_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_W_NSE_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM15_RGD_W_NSE_SHIFT (4U) +/*! NSE - NonSecure Enable + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in this register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_W_NSE(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_W_NSE_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_W_NSE_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_W_END_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM15_RGD_W_END_ADDR_SHIFT (14U) +/*! END_ADDR - End Address */ +#define TRDC_MBC4_MRC_DOM15_RGD_W_END_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_W_END_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_W_END_ADDR_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_W_STRT_ADDR_MASK (0xFFFFC000U) +#define TRDC_MBC4_MRC_DOM15_RGD_W_STRT_ADDR_SHIFT (14U) +/*! STRT_ADDR - Start Address */ +#define TRDC_MBC4_MRC_DOM15_RGD_W_STRT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_W_STRT_ADDR_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_W_STRT_ADDR_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM15_RGD_W */ +#define TRDC_MBC4_MRC_DOM15_RGD_W_COUNT (1U) + +/* The count of TRDC_MBC4_MRC_DOM15_RGD_W */ +#define TRDC_MBC4_MRC_DOM15_RGD_W_COUNT2 (16U) + +/* The count of TRDC_MBC4_MRC_DOM15_RGD_W */ +#define TRDC_MBC4_MRC_DOM15_RGD_W_COUNT3 (2U) + +/*! @name MRC_DOM15_RGD_NSE - MRC Region Descriptor NonSecure Enable */ +/*! @{ */ + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT0_MASK (0x1U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT0_SHIFT (0U) +/*! BIT0 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT0(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT0_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT0_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT1_MASK (0x2U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT1_SHIFT (1U) +/*! BIT1 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT1(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT1_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT1_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT2_MASK (0x4U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT2_SHIFT (2U) +/*! BIT2 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT2(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT2_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT2_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT3_MASK (0x8U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT3_SHIFT (3U) +/*! BIT3 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT3(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT3_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT3_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT4_MASK (0x10U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT4_SHIFT (4U) +/*! BIT4 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT4(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT4_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT4_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT5_MASK (0x20U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT5_SHIFT (5U) +/*! BIT5 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT5(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT5_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT5_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT6_MASK (0x40U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT6_SHIFT (6U) +/*! BIT6 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT6(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT6_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT6_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT7_MASK (0x80U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT7_SHIFT (7U) +/*! BIT7 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT7(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT7_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT7_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT8_MASK (0x100U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT8_SHIFT (8U) +/*! BIT8 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT8(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT8_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT8_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT9_MASK (0x200U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT9_SHIFT (9U) +/*! BIT9 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT9(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT9_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT9_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT10_MASK (0x400U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT10_SHIFT (10U) +/*! BIT10 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT10(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT10_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT10_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT11_MASK (0x800U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT11_SHIFT (11U) +/*! BIT11 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT11(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT11_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT11_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT12_MASK (0x1000U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT12_SHIFT (12U) +/*! BIT12 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT12(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT12_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT12_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT13_MASK (0x2000U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT13_SHIFT (13U) +/*! BIT13 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT13(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT13_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT13_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT14_MASK (0x4000U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT14_SHIFT (14U) +/*! BIT14 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT14(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT14_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT14_MASK) + +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT15_MASK (0x8000U) +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT15_SHIFT (15U) +/*! BIT15 - Bit n NonSecure Enable [n = 0 - 15] + * 0b0..Secure accesses to region r are based on corresponding MRACSEL field in this register + * (MRCm_DOMd_RGDr_Ww[MRACSEL]), nonsecure accesses to region r are not allowed. + * 0b1..Secure and nonsecure accesses to region r are based on corresponding MRACSEL field in register (MRCm_DOMd_RGDr_Ww[MRACSEL]). + */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT15(x) (((uint32_t)(((uint32_t)(x)) << TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT15_SHIFT)) & TRDC_MBC4_MRC_DOM15_RGD_NSE_BIT15_MASK) +/*! @} */ + +/* The count of TRDC_MBC4_MRC_DOM15_RGD_NSE */ +#define TRDC_MBC4_MRC_DOM15_RGD_NSE_COUNT (1U) + + +/*! + * @} + */ /* end of group TRDC_MBC4_Register_Masks */ + + +/* TRDC_MBC4 - Peripheral instance base addresses */ +/** Peripheral TRDC4 base address */ +#define TRDC4_BASE (0x49010000u) +/** Peripheral TRDC4 base pointer */ +#define TRDC4 ((TRDC_MBC4_Type *)TRDC4_BASE) +/** Array initializer of TRDC_MBC4 peripheral base addresses */ +#define TRDC_MBC4_BASE_ADDRS { 0u, 0u, 0u, 0u, TRDC4_BASE } +/** Array initializer of TRDC_MBC4 peripheral base pointers */ +#define TRDC_MBC4_BASE_PTRS { (TRDC_MBC4_Type *)0u, (TRDC_MBC4_Type *)0u, (TRDC_MBC4_Type *)0u, (TRDC_MBC4_Type *)0u, TRDC4 } + +/*! + * @} + */ /* end of group TRDC_MBC4_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- TRGMUX Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TRGMUX_Peripheral_Access_Layer TRGMUX Peripheral Access Layer + * @{ + */ + +/** TRGMUX - Register Layout Typedef */ +typedef struct { + __IO uint32_t REG0; /**< TRGMUX REG0, offset: 0x0 */ +} TRGMUX_Type; + +/* ---------------------------------------------------------------------------- + -- TRGMUX Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TRGMUX_Register_Masks TRGMUX Register Masks + * @{ + */ + +/*! @name REG0 - TRGMUX REG0 */ +/*! @{ */ + +#define TRGMUX_REG0_SEL0_MASK (0xFU) +#define TRGMUX_REG0_SEL0_SHIFT (0U) +/*! SEL0 - TRGMUX Source Select 0 */ +#define TRGMUX_REG0_SEL0(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_REG0_SEL0_SHIFT)) & TRGMUX_REG0_SEL0_MASK) + +#define TRGMUX_REG0_SEL1_MASK (0xF00U) +#define TRGMUX_REG0_SEL1_SHIFT (8U) +/*! SEL1 - TRGMUX Source Select 1 */ +#define TRGMUX_REG0_SEL1(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_REG0_SEL1_SHIFT)) & TRGMUX_REG0_SEL1_MASK) + +#define TRGMUX_REG0_LK_MASK (0x80000000U) +#define TRGMUX_REG0_LK_SHIFT (31U) +/*! LK - TRGMUX Register Lock + * 0b0..Register is writable + * 0b1..Register is not writable until the next system reset + */ +#define TRGMUX_REG0_LK(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_REG0_LK_SHIFT)) & TRGMUX_REG0_LK_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group TRGMUX_Register_Masks */ + + +/* TRGMUX - Peripheral instance base addresses */ +/** Peripheral TRGMUX base address */ +#define TRGMUX_BASE (0x44531000u) +/** Peripheral TRGMUX base pointer */ +#define TRGMUX ((TRGMUX_Type *)TRGMUX_BASE) +/** Array initializer of TRGMUX peripheral base addresses */ +#define TRGMUX_BASE_ADDRS { TRGMUX_BASE } +/** Array initializer of TRGMUX peripheral base pointers */ +#define TRGMUX_BASE_PTRS { TRGMUX } + +/*! + * @} + */ /* end of group TRGMUX_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- TSTMR Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TSTMR_Peripheral_Access_Layer TSTMR Peripheral Access Layer + * @{ + */ + +/** TSTMR - Register Layout Typedef */ +typedef struct { + __I uint32_t L; /**< Timestamp Timer Low, offset: 0x0 */ + __I uint32_t H; /**< Timestamp Timer High, offset: 0x4 */ +} TSTMR_Type; + +/* ---------------------------------------------------------------------------- + -- TSTMR Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup TSTMR_Register_Masks TSTMR Register Masks + * @{ + */ + +/*! @name L - Timestamp Timer Low */ +/*! @{ */ + +#define TSTMR_L_VALUE_MASK (0xFFFFFFFFU) +#define TSTMR_L_VALUE_SHIFT (0U) +/*! VALUE - Timestamp Timer Low */ +#define TSTMR_L_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSTMR_L_VALUE_SHIFT)) & TSTMR_L_VALUE_MASK) +/*! @} */ + +/*! @name H - Timestamp Timer High */ +/*! @{ */ + +#define TSTMR_H_VALUE_MASK (0xFFFFFFU) +#define TSTMR_H_VALUE_SHIFT (0U) +/*! VALUE - Timestamp Timer High */ +#define TSTMR_H_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSTMR_H_VALUE_SHIFT)) & TSTMR_H_VALUE_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group TSTMR_Register_Masks */ + + +/* TSTMR - Peripheral instance base addresses */ +/** Peripheral TSTMR1__TSTMRA base address */ +#define TSTMR1__TSTMRA_BASE (0x442C0000u) +/** Peripheral TSTMR1__TSTMRA base pointer */ +#define TSTMR1__TSTMRA ((TSTMR_Type *)TSTMR1__TSTMRA_BASE) +/** Peripheral TSTMR2__TSTMRA base address */ +#define TSTMR2__TSTMRA_BASE (0x42480000u) +/** Peripheral TSTMR2__TSTMRA base pointer */ +#define TSTMR2__TSTMRA ((TSTMR_Type *)TSTMR2__TSTMRA_BASE) +/** Array initializer of TSTMR peripheral base addresses */ +#define TSTMR_BASE_ADDRS { TSTMR1__TSTMRA_BASE, TSTMR2__TSTMRA_BASE } +/** Array initializer of TSTMR peripheral base pointers */ +#define TSTMR_BASE_PTRS { TSTMR1__TSTMRA, TSTMR2__TSTMRA } +/* Extra definition */ +#define TSTMR_CLOCK_FREQUENCY_MHZ (24U) + + +/*! + * @} + */ /* end of group TSTMR_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- USB Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer + * @{ + */ + +/** USB - Register Layout Typedef */ +typedef struct { + __I uint32_t ID; /**< Identification, offset: 0x0 */ + __I uint32_t HWGENERAL; /**< Hardware General, offset: 0x4 */ + __I uint32_t HWHOST; /**< Host Hardware Parameters, offset: 0x8 */ + __I uint32_t HWDEVICE; /**< Device Hardware Parameters, offset: 0xC */ + __I uint32_t HWTXBUF; /**< TX Buffer Hardware Parameters, offset: 0x10 */ + __I uint32_t HWRXBUF; /**< RX Buffer Hardware Parameters, offset: 0x14 */ + uint8_t RESERVED_0[104]; + __IO uint32_t GPTIMER0LD; /**< General Purpose Timer #0 Load, offset: 0x80 */ + __IO uint32_t GPTIMER0CTRL; /**< General Purpose Timer #0 Controller, offset: 0x84 */ + __IO uint32_t GPTIMER1LD; /**< General Purpose Timer #1 Load, offset: 0x88 */ + __IO uint32_t GPTIMER1CTRL; /**< General Purpose Timer #1 Controller, offset: 0x8C */ + __IO uint32_t SBUSCFG; /**< System Bus Config, offset: 0x90 */ + uint8_t RESERVED_1[108]; + __I uint8_t CAPLENGTH; /**< Capability Registers Length, offset: 0x100 */ + uint8_t RESERVED_2[1]; + __I uint16_t HCIVERSION; /**< Host Controller Interface Version, offset: 0x102 */ + __I uint32_t HCSPARAMS; /**< Host Controller Structural Parameters, offset: 0x104 */ + __I uint32_t HCCPARAMS; /**< Host Controller Capability Parameters, offset: 0x108 */ + uint8_t RESERVED_3[20]; + __I uint16_t DCIVERSION; /**< Device Controller Interface Version, offset: 0x120 */ + uint8_t RESERVED_4[2]; + __I uint32_t DCCPARAMS; /**< Device Controller Capability Parameters, offset: 0x124 */ + uint8_t RESERVED_5[24]; + __IO uint32_t USBCMD; /**< USB Command, offset: 0x140 */ + __IO uint32_t USBSTS; /**< USB Status, offset: 0x144 */ + __IO uint32_t USBINTR; /**< Interrupt Enable, offset: 0x148 */ + __IO uint32_t FRINDEX; /**< USB Frame Index, offset: 0x14C */ + uint8_t RESERVED_6[4]; + union { /* offset: 0x154 */ + struct { /* offset: 0x154 */ + __IO uint32_t DEVICEADDR; /**< Device Address, offset: 0x154 */ + __IO uint32_t ENDPTLISTADDR; /**< Endpoint List Address, offset: 0x158 */ + } DEVICE; + struct { /* offset: 0x154 */ + __IO uint32_t PERIODICLISTBASE; /**< Frame List Base Address, offset: 0x154 */ + __IO uint32_t ASYNCLISTADDR; /**< Next Asynch. Address, offset: 0x158 */ + } HOST; + }; + uint8_t RESERVED_7[4]; + __IO uint32_t BURSTSIZE; /**< Programmable Burst Size, offset: 0x160 */ + __IO uint32_t TXFILLTUNING; /**< TX FIFO Fill Tuning, offset: 0x164 */ + uint8_t RESERVED_8[16]; + __IO uint32_t ENDPTNAK; /**< Endpoint NAK, offset: 0x178 */ + __IO uint32_t ENDPTNAKEN; /**< Endpoint NAK Enable, offset: 0x17C */ + __I uint32_t CONFIGFLAG; /**< Configure Flag, offset: 0x180 */ + __IO uint32_t PORTSC1; /**< Port Status & Control, offset: 0x184 */ + uint8_t RESERVED_9[28]; + __IO uint32_t OTGSC; /**< On-The-Go Status & control, offset: 0x1A4 */ + __IO uint32_t USBMODE; /**< USB Device Mode, offset: 0x1A8 */ + __IO uint32_t ENDPTSETUPSTAT; /**< Endpoint Setup Status, offset: 0x1AC */ + __IO uint32_t ENDPTPRIME; /**< Endpoint Prime, offset: 0x1B0 */ + __IO uint32_t ENDPTFLUSH; /**< Endpoint Flush, offset: 0x1B4 */ + __I uint32_t ENDPTSTAT; /**< Endpoint Status, offset: 0x1B8 */ + __IO uint32_t ENDPTCOMPLETE; /**< Endpoint Complete, offset: 0x1BC */ + __IO uint32_t ENDPTCTRL0; /**< Endpoint Control0, offset: 0x1C0 */ + __IO uint32_t ENDPTCTRL1; /**< Endpoint Control 1, offset: 0x1C4 */ + __IO uint32_t ENDPTCTRL2; /**< Endpoint Control 2, offset: 0x1C8 */ + __IO uint32_t ENDPTCTRL3; /**< Endpoint Control 3, offset: 0x1CC */ + __IO uint32_t ENDPTCTRL4; /**< Endpoint Control 4, offset: 0x1D0 */ + __IO uint32_t ENDPTCTRL5; /**< Endpoint Control 5, offset: 0x1D4 */ + __IO uint32_t ENDPTCTRL6; /**< Endpoint Control 6, offset: 0x1D8 */ + __IO uint32_t ENDPTCTRL7; /**< Endpoint Control 7, offset: 0x1DC */ +} USB_Type; + +/* ---------------------------------------------------------------------------- + -- USB Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup USB_Register_Masks USB Register Masks + * @{ + */ + +/*! @name ID - Identification */ +/*! @{ */ + +#define USB_ID_ID_MASK (0x3FU) +#define USB_ID_ID_SHIFT (0U) +/*! ID - ID */ +#define USB_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_ID_SHIFT)) & USB_ID_ID_MASK) + +#define USB_ID_NID_MASK (0x3F00U) +#define USB_ID_NID_SHIFT (8U) +/*! NID - NID */ +#define USB_ID_NID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_NID_SHIFT)) & USB_ID_NID_MASK) + +#define USB_ID_REVISION_MASK (0xFF0000U) +#define USB_ID_REVISION_SHIFT (16U) +/*! REVISION - REVISION */ +#define USB_ID_REVISION(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_REVISION_SHIFT)) & USB_ID_REVISION_MASK) +/*! @} */ + +/*! @name HWGENERAL - Hardware General */ +/*! @{ */ + +#define USB_HWGENERAL_PHYW_MASK (0x30U) +#define USB_HWGENERAL_PHYW_SHIFT (4U) +/*! PHYW - PHYW + * 0b00..8 bit wide data bus (Software non-programmable) + * 0b01..16 bit wide data bus (Software non-programmable) + * 0b10..Reset to 8 bit wide data bus (Software programmable) + * 0b11..Reset to 16 bit wide data bus (Software programmable) + */ +#define USB_HWGENERAL_PHYW(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYW_SHIFT)) & USB_HWGENERAL_PHYW_MASK) + +#define USB_HWGENERAL_PHYM_MASK (0x3C0U) +#define USB_HWGENERAL_PHYM_SHIFT (6U) +/*! PHYM - PHYM + * 0b0000..UTMI/UMTI+ + * 0b0001..ULPI DDR + * 0b0010..ULPI + * 0b0011..Serial only + * 0b0100..Software programmable - reset to UTMI/UTMI+ + * 0b0101..Software programmable - reset to ULPI DDR + * 0b0110..Software programmable - reset to ULPI + * 0b0111..Software programmable - reset to serial + * 0b1000..IC - USB + * 0b1001..Software programmable - reset to IC - USB + * 0b1010..HSIC + * 0b1011..Software programmable - reset to HSIC + * 0b1100..Reserved + * 0b1111..Reserved + */ +#define USB_HWGENERAL_PHYM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYM_SHIFT)) & USB_HWGENERAL_PHYM_MASK) + +#define USB_HWGENERAL_SM_MASK (0xC00U) +#define USB_HWGENERAL_SM_SHIFT (10U) +/*! SM - SM + * 0b00..No Serial Engine, always use parallel signalling. + * 0b01..Serial Engine present, always use serial signalling for FS/LS. + * 0b10..Software programmable - Reset to use parallel signalling for FS/LS + * 0b11..Software programmable - Reset to use serial signalling for FS/LS + */ +#define USB_HWGENERAL_SM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_SM_SHIFT)) & USB_HWGENERAL_SM_MASK) +/*! @} */ + +/*! @name HWHOST - Host Hardware Parameters */ +/*! @{ */ + +#define USB_HWHOST_HC_MASK (0x1U) +#define USB_HWHOST_HC_SHIFT (0U) +/*! HC - HC + * 0b0..Not supported + * 0b1..Supported + */ +#define USB_HWHOST_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_HC_SHIFT)) & USB_HWHOST_HC_MASK) + +#define USB_HWHOST_NPORT_MASK (0xEU) +#define USB_HWHOST_NPORT_SHIFT (1U) +/*! NPORT - NPORT */ +#define USB_HWHOST_NPORT(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_NPORT_SHIFT)) & USB_HWHOST_NPORT_MASK) +/*! @} */ + +/*! @name HWDEVICE - Device Hardware Parameters */ +/*! @{ */ + +#define USB_HWDEVICE_DC_MASK (0x1U) +#define USB_HWDEVICE_DC_SHIFT (0U) +/*! DC - DC + * 0b0..Not supported + * 0b1..Supported + */ +#define USB_HWDEVICE_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DC_SHIFT)) & USB_HWDEVICE_DC_MASK) + +#define USB_HWDEVICE_DEVEP_MASK (0x3EU) +#define USB_HWDEVICE_DEVEP_SHIFT (1U) +/*! DEVEP - DEVEP */ +#define USB_HWDEVICE_DEVEP(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DEVEP_SHIFT)) & USB_HWDEVICE_DEVEP_MASK) +/*! @} */ + +/*! @name HWTXBUF - TX Buffer Hardware Parameters */ +/*! @{ */ + +#define USB_HWTXBUF_TXBURST_MASK (0xFFU) +#define USB_HWTXBUF_TXBURST_SHIFT (0U) +/*! TXBURST - TXBURST */ +#define USB_HWTXBUF_TXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXBURST_SHIFT)) & USB_HWTXBUF_TXBURST_MASK) + +#define USB_HWTXBUF_TXCHANADD_MASK (0xFF0000U) +#define USB_HWTXBUF_TXCHANADD_SHIFT (16U) +/*! TXCHANADD - TXCHANADD */ +#define USB_HWTXBUF_TXCHANADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXCHANADD_SHIFT)) & USB_HWTXBUF_TXCHANADD_MASK) +/*! @} */ + +/*! @name HWRXBUF - RX Buffer Hardware Parameters */ +/*! @{ */ + +#define USB_HWRXBUF_RXBURST_MASK (0xFFU) +#define USB_HWRXBUF_RXBURST_SHIFT (0U) +/*! RXBURST - RXBURST */ +#define USB_HWRXBUF_RXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXBURST_SHIFT)) & USB_HWRXBUF_RXBURST_MASK) + +#define USB_HWRXBUF_RXADD_MASK (0xFF00U) +#define USB_HWRXBUF_RXADD_SHIFT (8U) +/*! RXADD - RXADD */ +#define USB_HWRXBUF_RXADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXADD_SHIFT)) & USB_HWRXBUF_RXADD_MASK) +/*! @} */ + +/*! @name GPTIMER0LD - General Purpose Timer #0 Load */ +/*! @{ */ + +#define USB_GPTIMER0LD_GPTLD_MASK (0xFFFFFFU) +#define USB_GPTIMER0LD_GPTLD_SHIFT (0U) +/*! GPTLD - GPTLD */ +#define USB_GPTIMER0LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0LD_GPTLD_SHIFT)) & USB_GPTIMER0LD_GPTLD_MASK) +/*! @} */ + +/*! @name GPTIMER0CTRL - General Purpose Timer #0 Controller */ +/*! @{ */ + +#define USB_GPTIMER0CTRL_GPTCNT_MASK (0xFFFFFFU) +#define USB_GPTIMER0CTRL_GPTCNT_SHIFT (0U) +/*! GPTCNT - GPTCNT */ +#define USB_GPTIMER0CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTCNT_SHIFT)) & USB_GPTIMER0CTRL_GPTCNT_MASK) + +#define USB_GPTIMER0CTRL_GPTMODE_MASK (0x1000000U) +#define USB_GPTIMER0CTRL_GPTMODE_SHIFT (24U) +/*! GPTMODE - GPTMODE + * 0b0..One Shot Mode + * 0b1..Repeat Mode + */ +#define USB_GPTIMER0CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTMODE_SHIFT)) & USB_GPTIMER0CTRL_GPTMODE_MASK) + +#define USB_GPTIMER0CTRL_GPTRST_MASK (0x40000000U) +#define USB_GPTIMER0CTRL_GPTRST_SHIFT (30U) +/*! GPTRST - GPTRST + * 0b0..No action + * 0b1..Load counter value from GPTLD bits in n_GPTIMER0LD + */ +#define USB_GPTIMER0CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRST_SHIFT)) & USB_GPTIMER0CTRL_GPTRST_MASK) + +#define USB_GPTIMER0CTRL_GPTRUN_MASK (0x80000000U) +#define USB_GPTIMER0CTRL_GPTRUN_SHIFT (31U) +/*! GPTRUN - GPTRUN + * 0b0..Stop counting + * 0b1..Run + */ +#define USB_GPTIMER0CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRUN_SHIFT)) & USB_GPTIMER0CTRL_GPTRUN_MASK) +/*! @} */ + +/*! @name GPTIMER1LD - General Purpose Timer #1 Load */ +/*! @{ */ + +#define USB_GPTIMER1LD_GPTLD_MASK (0xFFFFFFU) +#define USB_GPTIMER1LD_GPTLD_SHIFT (0U) +/*! GPTLD - GPTLD */ +#define USB_GPTIMER1LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1LD_GPTLD_SHIFT)) & USB_GPTIMER1LD_GPTLD_MASK) +/*! @} */ + +/*! @name GPTIMER1CTRL - General Purpose Timer #1 Controller */ +/*! @{ */ + +#define USB_GPTIMER1CTRL_GPTCNT_MASK (0xFFFFFFU) +#define USB_GPTIMER1CTRL_GPTCNT_SHIFT (0U) +/*! GPTCNT - GPTCNT */ +#define USB_GPTIMER1CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTCNT_SHIFT)) & USB_GPTIMER1CTRL_GPTCNT_MASK) + +#define USB_GPTIMER1CTRL_GPTMODE_MASK (0x1000000U) +#define USB_GPTIMER1CTRL_GPTMODE_SHIFT (24U) +/*! GPTMODE - GPTMODE + * 0b0..One Shot Mode + * 0b1..Repeat Mode + */ +#define USB_GPTIMER1CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTMODE_SHIFT)) & USB_GPTIMER1CTRL_GPTMODE_MASK) + +#define USB_GPTIMER1CTRL_GPTRST_MASK (0x40000000U) +#define USB_GPTIMER1CTRL_GPTRST_SHIFT (30U) +/*! GPTRST - GPTRST + * 0b0..No action + * 0b1..Load counter value from GPTLD bits in USB_n_GPTIMER0LD + */ +#define USB_GPTIMER1CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRST_SHIFT)) & USB_GPTIMER1CTRL_GPTRST_MASK) + +#define USB_GPTIMER1CTRL_GPTRUN_MASK (0x80000000U) +#define USB_GPTIMER1CTRL_GPTRUN_SHIFT (31U) +/*! GPTRUN - GPTRUN + * 0b0..Stop counting + * 0b1..Run + */ +#define USB_GPTIMER1CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRUN_SHIFT)) & USB_GPTIMER1CTRL_GPTRUN_MASK) +/*! @} */ + +/*! @name SBUSCFG - System Bus Config */ +/*! @{ */ + +#define USB_SBUSCFG_AHBBRST_MASK (0x7U) +#define USB_SBUSCFG_AHBBRST_SHIFT (0U) +/*! AHBBRST - AHBBRST + * 0b000..Incremental burst of unspecified length only + * 0b001..INCR4 burst, then single transfer + * 0b010..INCR8 burst, INCR4 burst, then single transfer + * 0b011..INCR16 burst, INCR8 burst, INCR4 burst, then single transfer + * 0b100..Reserved, don't use + * 0b101..INCR4 burst, then incremental burst of unspecified length + * 0b110..INCR8 burst, INCR4 burst, then incremental burst of unspecified length + * 0b111..INCR16 burst, INCR8 burst, INCR4 burst, then incremental burst of unspecified length + */ +#define USB_SBUSCFG_AHBBRST(x) (((uint32_t)(((uint32_t)(x)) << USB_SBUSCFG_AHBBRST_SHIFT)) & USB_SBUSCFG_AHBBRST_MASK) +/*! @} */ + +/*! @name CAPLENGTH - Capability Registers Length */ +/*! @{ */ + +#define USB_CAPLENGTH_CAPLENGTH_MASK (0xFFU) +#define USB_CAPLENGTH_CAPLENGTH_SHIFT (0U) +/*! CAPLENGTH - CAPLENGTH */ +#define USB_CAPLENGTH_CAPLENGTH(x) (((uint8_t)(((uint8_t)(x)) << USB_CAPLENGTH_CAPLENGTH_SHIFT)) & USB_CAPLENGTH_CAPLENGTH_MASK) +/*! @} */ + +/*! @name HCIVERSION - Host Controller Interface Version */ +/*! @{ */ + +#define USB_HCIVERSION_HCIVERSION_MASK (0xFFFFU) +#define USB_HCIVERSION_HCIVERSION_SHIFT (0U) +/*! HCIVERSION - HCIVERSION */ +#define USB_HCIVERSION_HCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_HCIVERSION_HCIVERSION_SHIFT)) & USB_HCIVERSION_HCIVERSION_MASK) +/*! @} */ + +/*! @name HCSPARAMS - Host Controller Structural Parameters */ +/*! @{ */ + +#define USB_HCSPARAMS_N_PORTS_MASK (0xFU) +#define USB_HCSPARAMS_N_PORTS_SHIFT (0U) +/*! N_PORTS - N_PORTS */ +#define USB_HCSPARAMS_N_PORTS(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PORTS_SHIFT)) & USB_HCSPARAMS_N_PORTS_MASK) + +#define USB_HCSPARAMS_PPC_MASK (0x10U) +#define USB_HCSPARAMS_PPC_SHIFT (4U) +/*! PPC - PPC */ +#define USB_HCSPARAMS_PPC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PPC_SHIFT)) & USB_HCSPARAMS_PPC_MASK) + +#define USB_HCSPARAMS_N_PCC_MASK (0xF00U) +#define USB_HCSPARAMS_N_PCC_SHIFT (8U) +/*! N_PCC - N_PCC */ +#define USB_HCSPARAMS_N_PCC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PCC_SHIFT)) & USB_HCSPARAMS_N_PCC_MASK) + +#define USB_HCSPARAMS_N_CC_MASK (0xF000U) +#define USB_HCSPARAMS_N_CC_SHIFT (12U) +/*! N_CC - N_CC + * 0b0000..There is no internal Companion Controller and port-ownership hand-off is not supported. + * 0b0001..There are internal companion controller(s) and port-ownership hand-offs is supported. + */ +#define USB_HCSPARAMS_N_CC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_CC_SHIFT)) & USB_HCSPARAMS_N_CC_MASK) + +#define USB_HCSPARAMS_PI_MASK (0x10000U) +#define USB_HCSPARAMS_PI_SHIFT (16U) +/*! PI - PI */ +#define USB_HCSPARAMS_PI(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PI_SHIFT)) & USB_HCSPARAMS_PI_MASK) + +#define USB_HCSPARAMS_N_PTT_MASK (0xF00000U) +#define USB_HCSPARAMS_N_PTT_SHIFT (20U) +/*! N_PTT - N_PTT */ +#define USB_HCSPARAMS_N_PTT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PTT_SHIFT)) & USB_HCSPARAMS_N_PTT_MASK) + +#define USB_HCSPARAMS_N_TT_MASK (0xF000000U) +#define USB_HCSPARAMS_N_TT_SHIFT (24U) +/*! N_TT - N_TT */ +#define USB_HCSPARAMS_N_TT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_TT_SHIFT)) & USB_HCSPARAMS_N_TT_MASK) +/*! @} */ + +/*! @name HCCPARAMS - Host Controller Capability Parameters */ +/*! @{ */ + +#define USB_HCCPARAMS_ADC_MASK (0x1U) +#define USB_HCCPARAMS_ADC_SHIFT (0U) +/*! ADC - ADC */ +#define USB_HCCPARAMS_ADC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ADC_SHIFT)) & USB_HCCPARAMS_ADC_MASK) + +#define USB_HCCPARAMS_PFL_MASK (0x2U) +#define USB_HCCPARAMS_PFL_SHIFT (1U) +/*! PFL - PFL */ +#define USB_HCCPARAMS_PFL(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_PFL_SHIFT)) & USB_HCCPARAMS_PFL_MASK) + +#define USB_HCCPARAMS_ASP_MASK (0x4U) +#define USB_HCCPARAMS_ASP_SHIFT (2U) +/*! ASP - ASP */ +#define USB_HCCPARAMS_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ASP_SHIFT)) & USB_HCCPARAMS_ASP_MASK) + +#define USB_HCCPARAMS_IST_MASK (0xF0U) +#define USB_HCCPARAMS_IST_SHIFT (4U) +/*! IST - IST */ +#define USB_HCCPARAMS_IST(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_IST_SHIFT)) & USB_HCCPARAMS_IST_MASK) + +#define USB_HCCPARAMS_EECP_MASK (0xFF00U) +#define USB_HCCPARAMS_EECP_SHIFT (8U) +/*! EECP - EECP */ +#define USB_HCCPARAMS_EECP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_EECP_SHIFT)) & USB_HCCPARAMS_EECP_MASK) +/*! @} */ + +/*! @name DCIVERSION - Device Controller Interface Version */ +/*! @{ */ + +#define USB_DCIVERSION_DCIVERSION_MASK (0xFFFFU) +#define USB_DCIVERSION_DCIVERSION_SHIFT (0U) +/*! DCIVERSION - DCIVERSION */ +#define USB_DCIVERSION_DCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_DCIVERSION_DCIVERSION_SHIFT)) & USB_DCIVERSION_DCIVERSION_MASK) +/*! @} */ + +/*! @name DCCPARAMS - Device Controller Capability Parameters */ +/*! @{ */ + +#define USB_DCCPARAMS_DEN_MASK (0x1FU) +#define USB_DCCPARAMS_DEN_SHIFT (0U) +/*! DEN - DEN */ +#define USB_DCCPARAMS_DEN(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DEN_SHIFT)) & USB_DCCPARAMS_DEN_MASK) + +#define USB_DCCPARAMS_DC_MASK (0x80U) +#define USB_DCCPARAMS_DC_SHIFT (7U) +/*! DC - DC */ +#define USB_DCCPARAMS_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DC_SHIFT)) & USB_DCCPARAMS_DC_MASK) + +#define USB_DCCPARAMS_HC_MASK (0x100U) +#define USB_DCCPARAMS_HC_SHIFT (8U) +/*! HC - HC */ +#define USB_DCCPARAMS_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_HC_SHIFT)) & USB_DCCPARAMS_HC_MASK) +/*! @} */ + +/*! @name USBCMD - USB Command */ +/*! @{ */ + +#define USB_USBCMD_RS_MASK (0x1U) +#define USB_USBCMD_RS_SHIFT (0U) +/*! RS - RS */ +#define USB_USBCMD_RS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RS_SHIFT)) & USB_USBCMD_RS_MASK) + +#define USB_USBCMD_RST_MASK (0x2U) +#define USB_USBCMD_RST_SHIFT (1U) +/*! RST - RST */ +#define USB_USBCMD_RST(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RST_SHIFT)) & USB_USBCMD_RST_MASK) + +#define USB_USBCMD_FS_1_MASK (0xCU) +#define USB_USBCMD_FS_1_SHIFT (2U) +/*! FS_1 - FS_1 */ +#define USB_USBCMD_FS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_1_SHIFT)) & USB_USBCMD_FS_1_MASK) + +#define USB_USBCMD_PSE_MASK (0x10U) +#define USB_USBCMD_PSE_SHIFT (4U) +/*! PSE - PSE + * 0b0..Do not process the Periodic Schedule + * 0b1..Use the PERIODICLISTBASE register to access the Periodic Schedule. + */ +#define USB_USBCMD_PSE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_PSE_SHIFT)) & USB_USBCMD_PSE_MASK) + +#define USB_USBCMD_ASE_MASK (0x20U) +#define USB_USBCMD_ASE_SHIFT (5U) +/*! ASE - ASE + * 0b0..Do not process the Asynchronous Schedule. + * 0b1..Use the ASYNCLISTADDR register to access the Asynchronous Schedule. + */ +#define USB_USBCMD_ASE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASE_SHIFT)) & USB_USBCMD_ASE_MASK) + +#define USB_USBCMD_IAA_MASK (0x40U) +#define USB_USBCMD_IAA_SHIFT (6U) +/*! IAA - IAA */ +#define USB_USBCMD_IAA(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_IAA_SHIFT)) & USB_USBCMD_IAA_MASK) + +#define USB_USBCMD_ASP_MASK (0x300U) +#define USB_USBCMD_ASP_SHIFT (8U) +/*! ASP - ASP */ +#define USB_USBCMD_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASP_SHIFT)) & USB_USBCMD_ASP_MASK) + +#define USB_USBCMD_ASPE_MASK (0x800U) +#define USB_USBCMD_ASPE_SHIFT (11U) +/*! ASPE - ASPE */ +#define USB_USBCMD_ASPE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASPE_SHIFT)) & USB_USBCMD_ASPE_MASK) + +#define USB_USBCMD_SUTW_MASK (0x2000U) +#define USB_USBCMD_SUTW_SHIFT (13U) +/*! SUTW - SUTW */ +#define USB_USBCMD_SUTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_SUTW_SHIFT)) & USB_USBCMD_SUTW_MASK) + +#define USB_USBCMD_ATDTW_MASK (0x4000U) +#define USB_USBCMD_ATDTW_SHIFT (14U) +/*! ATDTW - ATDTW */ +#define USB_USBCMD_ATDTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ATDTW_SHIFT)) & USB_USBCMD_ATDTW_MASK) + +#define USB_USBCMD_FS_2_MASK (0x8000U) +#define USB_USBCMD_FS_2_SHIFT (15U) +/*! FS_2 - FS_2 */ +#define USB_USBCMD_FS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_2_SHIFT)) & USB_USBCMD_FS_2_MASK) + +#define USB_USBCMD_ITC_MASK (0xFF0000U) +#define USB_USBCMD_ITC_SHIFT (16U) +/*! ITC - ITC + * 0b00000000..Immediate (no threshold) + * 0b00000001..1 micro-frame + * 0b00000010..2 micro-frames + * 0b00000100..4 micro-frames + * 0b00001000..8 micro-frames + * 0b00010000..16 micro-frames + * 0b00100000..32 micro-frames + * 0b01000000..64 micro-frames + */ +#define USB_USBCMD_ITC(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ITC_SHIFT)) & USB_USBCMD_ITC_MASK) +/*! @} */ + +/*! @name USBSTS - USB Status */ +/*! @{ */ + +#define USB_USBSTS_UI_MASK (0x1U) +#define USB_USBSTS_UI_SHIFT (0U) +/*! UI - UI */ +#define USB_USBSTS_UI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UI_SHIFT)) & USB_USBSTS_UI_MASK) + +#define USB_USBSTS_UEI_MASK (0x2U) +#define USB_USBSTS_UEI_SHIFT (1U) +/*! UEI - UEI */ +#define USB_USBSTS_UEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UEI_SHIFT)) & USB_USBSTS_UEI_MASK) + +#define USB_USBSTS_PCI_MASK (0x4U) +#define USB_USBSTS_PCI_SHIFT (2U) +/*! PCI - PCI */ +#define USB_USBSTS_PCI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PCI_SHIFT)) & USB_USBSTS_PCI_MASK) + +#define USB_USBSTS_FRI_MASK (0x8U) +#define USB_USBSTS_FRI_SHIFT (3U) +/*! FRI - FRI */ +#define USB_USBSTS_FRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_FRI_SHIFT)) & USB_USBSTS_FRI_MASK) + +#define USB_USBSTS_SEI_MASK (0x10U) +#define USB_USBSTS_SEI_SHIFT (4U) +/*! SEI - SEI */ +#define USB_USBSTS_SEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SEI_SHIFT)) & USB_USBSTS_SEI_MASK) + +#define USB_USBSTS_AAI_MASK (0x20U) +#define USB_USBSTS_AAI_SHIFT (5U) +/*! AAI - AAI */ +#define USB_USBSTS_AAI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AAI_SHIFT)) & USB_USBSTS_AAI_MASK) + +#define USB_USBSTS_URI_MASK (0x40U) +#define USB_USBSTS_URI_SHIFT (6U) +/*! URI - URI */ +#define USB_USBSTS_URI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_URI_SHIFT)) & USB_USBSTS_URI_MASK) + +#define USB_USBSTS_SRI_MASK (0x80U) +#define USB_USBSTS_SRI_SHIFT (7U) +/*! SRI - SRI */ +#define USB_USBSTS_SRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SRI_SHIFT)) & USB_USBSTS_SRI_MASK) + +#define USB_USBSTS_SLI_MASK (0x100U) +#define USB_USBSTS_SLI_SHIFT (8U) +/*! SLI - SLI */ +#define USB_USBSTS_SLI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SLI_SHIFT)) & USB_USBSTS_SLI_MASK) + +#define USB_USBSTS_ULPII_MASK (0x400U) +#define USB_USBSTS_ULPII_SHIFT (10U) +/*! ULPII - ULPII */ +#define USB_USBSTS_ULPII(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_ULPII_SHIFT)) & USB_USBSTS_ULPII_MASK) + +#define USB_USBSTS_HCH_MASK (0x1000U) +#define USB_USBSTS_HCH_SHIFT (12U) +/*! HCH - HCH */ +#define USB_USBSTS_HCH(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_HCH_SHIFT)) & USB_USBSTS_HCH_MASK) + +#define USB_USBSTS_RCL_MASK (0x2000U) +#define USB_USBSTS_RCL_SHIFT (13U) +/*! RCL - RCL */ +#define USB_USBSTS_RCL(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_RCL_SHIFT)) & USB_USBSTS_RCL_MASK) + +#define USB_USBSTS_PS_MASK (0x4000U) +#define USB_USBSTS_PS_SHIFT (14U) +/*! PS - PS */ +#define USB_USBSTS_PS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PS_SHIFT)) & USB_USBSTS_PS_MASK) + +#define USB_USBSTS_AS_MASK (0x8000U) +#define USB_USBSTS_AS_SHIFT (15U) +/*! AS - AS */ +#define USB_USBSTS_AS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AS_SHIFT)) & USB_USBSTS_AS_MASK) + +#define USB_USBSTS_NAKI_MASK (0x10000U) +#define USB_USBSTS_NAKI_SHIFT (16U) +/*! NAKI - NAKI */ +#define USB_USBSTS_NAKI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_NAKI_SHIFT)) & USB_USBSTS_NAKI_MASK) + +#define USB_USBSTS_UAI_MASK (0x40000U) +#define USB_USBSTS_UAI_SHIFT (18U) +/*! UAI - USB Host Asynchronous Interrupt + * 0b0..Interrupt did not occur + * 0b0..No effect + * 0b1..Interrupt occurred + * 0b1..Clear the flag + */ +#define USB_USBSTS_UAI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UAI_SHIFT)) & USB_USBSTS_UAI_MASK) + +#define USB_USBSTS_UPI_MASK (0x80000U) +#define USB_USBSTS_UPI_SHIFT (19U) +/*! UPI - USB Host Periodic Interrupt + * 0b0..Interrupt did not occur + * 0b0..No effect + * 0b1..Interrupt occurred + * 0b1..Clear the flag + */ +#define USB_USBSTS_UPI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UPI_SHIFT)) & USB_USBSTS_UPI_MASK) + +#define USB_USBSTS_TI0_MASK (0x1000000U) +#define USB_USBSTS_TI0_SHIFT (24U) +/*! TI0 - TI0 */ +#define USB_USBSTS_TI0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI0_SHIFT)) & USB_USBSTS_TI0_MASK) + +#define USB_USBSTS_TI1_MASK (0x2000000U) +#define USB_USBSTS_TI1_SHIFT (25U) +/*! TI1 - TI1 */ +#define USB_USBSTS_TI1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI1_SHIFT)) & USB_USBSTS_TI1_MASK) +/*! @} */ + +/*! @name USBINTR - Interrupt Enable */ +/*! @{ */ + +#define USB_USBINTR_UE_MASK (0x1U) +#define USB_USBINTR_UE_SHIFT (0U) +/*! UE - UE */ +#define USB_USBINTR_UE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UE_SHIFT)) & USB_USBINTR_UE_MASK) + +#define USB_USBINTR_UEE_MASK (0x2U) +#define USB_USBINTR_UEE_SHIFT (1U) +/*! UEE - UEE */ +#define USB_USBINTR_UEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UEE_SHIFT)) & USB_USBINTR_UEE_MASK) + +#define USB_USBINTR_PCE_MASK (0x4U) +#define USB_USBINTR_PCE_SHIFT (2U) +/*! PCE - PCE */ +#define USB_USBINTR_PCE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_PCE_SHIFT)) & USB_USBINTR_PCE_MASK) + +#define USB_USBINTR_FRE_MASK (0x8U) +#define USB_USBINTR_FRE_SHIFT (3U) +/*! FRE - FRE */ +#define USB_USBINTR_FRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_FRE_SHIFT)) & USB_USBINTR_FRE_MASK) + +#define USB_USBINTR_SEE_MASK (0x10U) +#define USB_USBINTR_SEE_SHIFT (4U) +/*! SEE - SEE */ +#define USB_USBINTR_SEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SEE_SHIFT)) & USB_USBINTR_SEE_MASK) + +#define USB_USBINTR_AAE_MASK (0x20U) +#define USB_USBINTR_AAE_SHIFT (5U) +/*! AAE - AAE */ +#define USB_USBINTR_AAE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_AAE_SHIFT)) & USB_USBINTR_AAE_MASK) + +#define USB_USBINTR_URE_MASK (0x40U) +#define USB_USBINTR_URE_SHIFT (6U) +/*! URE - URE */ +#define USB_USBINTR_URE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_URE_SHIFT)) & USB_USBINTR_URE_MASK) + +#define USB_USBINTR_SRE_MASK (0x80U) +#define USB_USBINTR_SRE_SHIFT (7U) +/*! SRE - SRE */ +#define USB_USBINTR_SRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SRE_SHIFT)) & USB_USBINTR_SRE_MASK) + +#define USB_USBINTR_SLE_MASK (0x100U) +#define USB_USBINTR_SLE_SHIFT (8U) +/*! SLE - SLE */ +#define USB_USBINTR_SLE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SLE_SHIFT)) & USB_USBINTR_SLE_MASK) + +#define USB_USBINTR_NAKE_MASK (0x10000U) +#define USB_USBINTR_NAKE_SHIFT (16U) +/*! NAKE - NAKE */ +#define USB_USBINTR_NAKE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_NAKE_SHIFT)) & USB_USBINTR_NAKE_MASK) + +#define USB_USBINTR_UAIE_MASK (0x40000U) +#define USB_USBINTR_UAIE_SHIFT (18U) +/*! UAIE - UAIE */ +#define USB_USBINTR_UAIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UAIE_SHIFT)) & USB_USBINTR_UAIE_MASK) + +#define USB_USBINTR_UPIE_MASK (0x80000U) +#define USB_USBINTR_UPIE_SHIFT (19U) +/*! UPIE - UPIE */ +#define USB_USBINTR_UPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UPIE_SHIFT)) & USB_USBINTR_UPIE_MASK) + +#define USB_USBINTR_TIE0_MASK (0x1000000U) +#define USB_USBINTR_TIE0_SHIFT (24U) +/*! TIE0 - TIE0 */ +#define USB_USBINTR_TIE0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE0_SHIFT)) & USB_USBINTR_TIE0_MASK) + +#define USB_USBINTR_TIE1_MASK (0x2000000U) +#define USB_USBINTR_TIE1_SHIFT (25U) +/*! TIE1 - TIE1 */ +#define USB_USBINTR_TIE1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE1_SHIFT)) & USB_USBINTR_TIE1_MASK) +/*! @} */ + +/*! @name FRINDEX - USB Frame Index */ +/*! @{ */ + +#define USB_FRINDEX_FRINDEX_MASK (0x3FFFU) +#define USB_FRINDEX_FRINDEX_SHIFT (0U) +/*! FRINDEX - FRINDEX + * 0b00000000000000..(1024) 12 + * 0b00000000000001..(512) 11 + * 0b00000000000010..(256) 10 + * 0b00000000000011..(128) 9 + * 0b00000000000100..(64) 8 + * 0b00000000000101..(32) 7 + * 0b00000000000110..(16) 6 + * 0b00000000000111..(8) 5 + */ +#define USB_FRINDEX_FRINDEX(x) (((uint32_t)(((uint32_t)(x)) << USB_FRINDEX_FRINDEX_SHIFT)) & USB_FRINDEX_FRINDEX_MASK) +/*! @} */ + +/*! @name DEVICEADDR - Device Address */ +/*! @{ */ + +#define USB_DEVICEADDR_USBADRA_MASK (0x1000000U) +#define USB_DEVICEADDR_USBADRA_SHIFT (24U) +/*! USBADRA - USBADRA */ +#define USB_DEVICEADDR_USBADRA(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADRA_SHIFT)) & USB_DEVICEADDR_USBADRA_MASK) + +#define USB_DEVICEADDR_USBADR_MASK (0xFE000000U) +#define USB_DEVICEADDR_USBADR_SHIFT (25U) +/*! USBADR - USBADR */ +#define USB_DEVICEADDR_USBADR(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADR_SHIFT)) & USB_DEVICEADDR_USBADR_MASK) +/*! @} */ + +/*! @name ENDPTLISTADDR - Endpoint List Address */ +/*! @{ */ + +#define USB_ENDPTLISTADDR_EPBASE_MASK (0xFFFFF800U) +#define USB_ENDPTLISTADDR_EPBASE_SHIFT (11U) +/*! EPBASE - EPBASE */ +#define USB_ENDPTLISTADDR_EPBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTLISTADDR_EPBASE_SHIFT)) & USB_ENDPTLISTADDR_EPBASE_MASK) +/*! @} */ + +/*! @name PERIODICLISTBASE - Frame List Base Address */ +/*! @{ */ + +#define USB_PERIODICLISTBASE_BASEADR_MASK (0xFFFFF000U) +#define USB_PERIODICLISTBASE_BASEADR_SHIFT (12U) +/*! BASEADR - BASEADR */ +#define USB_PERIODICLISTBASE_BASEADR(x) (((uint32_t)(((uint32_t)(x)) << USB_PERIODICLISTBASE_BASEADR_SHIFT)) & USB_PERIODICLISTBASE_BASEADR_MASK) +/*! @} */ + +/*! @name ASYNCLISTADDR - Next Asynch. Address */ +/*! @{ */ + +#define USB_ASYNCLISTADDR_ASYBASE_MASK (0xFFFFFFE0U) +#define USB_ASYNCLISTADDR_ASYBASE_SHIFT (5U) +/*! ASYBASE - ASYBASE */ +#define USB_ASYNCLISTADDR_ASYBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ASYNCLISTADDR_ASYBASE_SHIFT)) & USB_ASYNCLISTADDR_ASYBASE_MASK) +/*! @} */ + +/*! @name BURSTSIZE - Programmable Burst Size */ +/*! @{ */ + +#define USB_BURSTSIZE_RXPBURST_MASK (0xFFU) +#define USB_BURSTSIZE_RXPBURST_SHIFT (0U) +/*! RXPBURST - RXPBURST */ +#define USB_BURSTSIZE_RXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_RXPBURST_SHIFT)) & USB_BURSTSIZE_RXPBURST_MASK) + +#define USB_BURSTSIZE_TXPBURST_MASK (0xFF00U) +#define USB_BURSTSIZE_TXPBURST_SHIFT (8U) +/*! TXPBURST - TXPBURST */ +#define USB_BURSTSIZE_TXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_TXPBURST_SHIFT)) & USB_BURSTSIZE_TXPBURST_MASK) +/*! @} */ + +/*! @name TXFILLTUNING - TX FIFO Fill Tuning */ +/*! @{ */ + +#define USB_TXFILLTUNING_TXSCHOH_MASK (0x7FU) +#define USB_TXFILLTUNING_TXSCHOH_SHIFT (0U) +/*! TXSCHOH - TXSCHOH */ +#define USB_TXFILLTUNING_TXSCHOH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHOH_SHIFT)) & USB_TXFILLTUNING_TXSCHOH_MASK) + +#define USB_TXFILLTUNING_TXSCHHEALTH_MASK (0x1F00U) +#define USB_TXFILLTUNING_TXSCHHEALTH_SHIFT (8U) +/*! TXSCHHEALTH - TXSCHHEALTH */ +#define USB_TXFILLTUNING_TXSCHHEALTH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHHEALTH_SHIFT)) & USB_TXFILLTUNING_TXSCHHEALTH_MASK) + +#define USB_TXFILLTUNING_TXFIFOTHRES_MASK (0x3F0000U) +#define USB_TXFILLTUNING_TXFIFOTHRES_SHIFT (16U) +/*! TXFIFOTHRES - TXFIFOTHRES */ +#define USB_TXFILLTUNING_TXFIFOTHRES(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXFIFOTHRES_SHIFT)) & USB_TXFILLTUNING_TXFIFOTHRES_MASK) +/*! @} */ + +/*! @name ENDPTNAK - Endpoint NAK */ +/*! @{ */ + +#define USB_ENDPTNAK_EPRN_MASK (0xFFU) +#define USB_ENDPTNAK_EPRN_SHIFT (0U) +/*! EPRN - EPRN */ +#define USB_ENDPTNAK_EPRN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPRN_SHIFT)) & USB_ENDPTNAK_EPRN_MASK) + +#define USB_ENDPTNAK_EPTN_MASK (0xFF0000U) +#define USB_ENDPTNAK_EPTN_SHIFT (16U) +/*! EPTN - EPTN */ +#define USB_ENDPTNAK_EPTN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPTN_SHIFT)) & USB_ENDPTNAK_EPTN_MASK) +/*! @} */ + +/*! @name ENDPTNAKEN - Endpoint NAK Enable */ +/*! @{ */ + +#define USB_ENDPTNAKEN_EPRNE_MASK (0xFFU) +#define USB_ENDPTNAKEN_EPRNE_SHIFT (0U) +/*! EPRNE - EPRNE */ +#define USB_ENDPTNAKEN_EPRNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPRNE_SHIFT)) & USB_ENDPTNAKEN_EPRNE_MASK) + +#define USB_ENDPTNAKEN_EPTNE_MASK (0xFF0000U) +#define USB_ENDPTNAKEN_EPTNE_SHIFT (16U) +/*! EPTNE - EPTNE */ +#define USB_ENDPTNAKEN_EPTNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPTNE_SHIFT)) & USB_ENDPTNAKEN_EPTNE_MASK) +/*! @} */ + +/*! @name CONFIGFLAG - Configure Flag */ +/*! @{ */ + +#define USB_CONFIGFLAG_CF_MASK (0x1U) +#define USB_CONFIGFLAG_CF_SHIFT (0U) +/*! CF - CF + * 0b0..Port routing control logic default-routes each port to an implementation dependent classic host controller. + * 0b1..Port routing control logic default-routes all ports to this host controller. + */ +#define USB_CONFIGFLAG_CF(x) (((uint32_t)(((uint32_t)(x)) << USB_CONFIGFLAG_CF_SHIFT)) & USB_CONFIGFLAG_CF_MASK) +/*! @} */ + +/*! @name PORTSC1 - Port Status & Control */ +/*! @{ */ + +#define USB_PORTSC1_CCS_MASK (0x1U) +#define USB_PORTSC1_CCS_SHIFT (0U) +/*! CCS - CCS */ +#define USB_PORTSC1_CCS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CCS_SHIFT)) & USB_PORTSC1_CCS_MASK) + +#define USB_PORTSC1_CSC_MASK (0x2U) +#define USB_PORTSC1_CSC_SHIFT (1U) +/*! CSC - CSC */ +#define USB_PORTSC1_CSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CSC_SHIFT)) & USB_PORTSC1_CSC_MASK) + +#define USB_PORTSC1_PE_MASK (0x4U) +#define USB_PORTSC1_PE_SHIFT (2U) +/*! PE - PE */ +#define USB_PORTSC1_PE(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PE_SHIFT)) & USB_PORTSC1_PE_MASK) + +#define USB_PORTSC1_PEC_MASK (0x8U) +#define USB_PORTSC1_PEC_SHIFT (3U) +/*! PEC - PEC */ +#define USB_PORTSC1_PEC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PEC_SHIFT)) & USB_PORTSC1_PEC_MASK) + +#define USB_PORTSC1_OCA_MASK (0x10U) +#define USB_PORTSC1_OCA_SHIFT (4U) +/*! OCA - OCA + * 0b0..This port does not have an over-current condition. + * 0b1..This port currently has an over-current condition + */ +#define USB_PORTSC1_OCA(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCA_SHIFT)) & USB_PORTSC1_OCA_MASK) + +#define USB_PORTSC1_OCC_MASK (0x20U) +#define USB_PORTSC1_OCC_SHIFT (5U) +/*! OCC - OCC */ +#define USB_PORTSC1_OCC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCC_SHIFT)) & USB_PORTSC1_OCC_MASK) + +#define USB_PORTSC1_FPR_MASK (0x40U) +#define USB_PORTSC1_FPR_SHIFT (6U) +/*! FPR - FPR */ +#define USB_PORTSC1_FPR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_FPR_SHIFT)) & USB_PORTSC1_FPR_MASK) + +#define USB_PORTSC1_SUSP_MASK (0x80U) +#define USB_PORTSC1_SUSP_SHIFT (7U) +/*! SUSP - SUSP */ +#define USB_PORTSC1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_SUSP_SHIFT)) & USB_PORTSC1_SUSP_MASK) + +#define USB_PORTSC1_PR_MASK (0x100U) +#define USB_PORTSC1_PR_SHIFT (8U) +/*! PR - PR */ +#define USB_PORTSC1_PR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PR_SHIFT)) & USB_PORTSC1_PR_MASK) + +#define USB_PORTSC1_HSP_MASK (0x200U) +#define USB_PORTSC1_HSP_SHIFT (9U) +/*! HSP - HSP */ +#define USB_PORTSC1_HSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_HSP_SHIFT)) & USB_PORTSC1_HSP_MASK) + +#define USB_PORTSC1_LS_MASK (0xC00U) +#define USB_PORTSC1_LS_SHIFT (10U) +/*! LS - LS + * 0b00..SE0 + * 0b01..K-state + * 0b10..J-state + * 0b11..Undefined + */ +#define USB_PORTSC1_LS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_LS_SHIFT)) & USB_PORTSC1_LS_MASK) + +#define USB_PORTSC1_PP_MASK (0x1000U) +#define USB_PORTSC1_PP_SHIFT (12U) +/*! PP - PP */ +#define USB_PORTSC1_PP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PP_SHIFT)) & USB_PORTSC1_PP_MASK) + +#define USB_PORTSC1_PO_MASK (0x2000U) +#define USB_PORTSC1_PO_SHIFT (13U) +/*! PO - PO */ +#define USB_PORTSC1_PO(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PO_SHIFT)) & USB_PORTSC1_PO_MASK) + +#define USB_PORTSC1_PIC_MASK (0xC000U) +#define USB_PORTSC1_PIC_SHIFT (14U) +/*! PIC - PIC + * 0b00..Port indicators are off + * 0b01..Amber + * 0b10..Green + * 0b11..Undefined + */ +#define USB_PORTSC1_PIC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PIC_SHIFT)) & USB_PORTSC1_PIC_MASK) + +#define USB_PORTSC1_PTC_MASK (0xF0000U) +#define USB_PORTSC1_PTC_SHIFT (16U) +/*! PTC - PTC + * 0b0000..TEST_MODE_DISABLE + * 0b0001..J_STATE + * 0b0010..K_STATE + * 0b0011..SE0 (host) / NAK (device) + * 0b0100..Packet + * 0b0101..FORCE_ENABLE_HS + * 0b0110..FORCE_ENABLE_FS + * 0b0111..FORCE_ENABLE_LS + * 0b1000-0b1111..Reserved + */ +#define USB_PORTSC1_PTC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTC_SHIFT)) & USB_PORTSC1_PTC_MASK) + +#define USB_PORTSC1_WKCN_MASK (0x100000U) +#define USB_PORTSC1_WKCN_SHIFT (20U) +/*! WKCN - WKCN */ +#define USB_PORTSC1_WKCN(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKCN_SHIFT)) & USB_PORTSC1_WKCN_MASK) + +#define USB_PORTSC1_WKDC_MASK (0x200000U) +#define USB_PORTSC1_WKDC_SHIFT (21U) +/*! WKDC - WKDC */ +#define USB_PORTSC1_WKDC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKDC_SHIFT)) & USB_PORTSC1_WKDC_MASK) + +#define USB_PORTSC1_WKOC_MASK (0x400000U) +#define USB_PORTSC1_WKOC_SHIFT (22U) +/*! WKOC - WKOC */ +#define USB_PORTSC1_WKOC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKOC_SHIFT)) & USB_PORTSC1_WKOC_MASK) + +#define USB_PORTSC1_PHCD_MASK (0x800000U) +#define USB_PORTSC1_PHCD_SHIFT (23U) +/*! PHCD - PHCD + * 0b0..Enable PHY clock + * 0b1..Disable PHY clock + */ +#define USB_PORTSC1_PHCD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PHCD_SHIFT)) & USB_PORTSC1_PHCD_MASK) + +#define USB_PORTSC1_PFSC_MASK (0x1000000U) +#define USB_PORTSC1_PFSC_SHIFT (24U) +/*! PFSC - PFSC + * 0b0..Normal operation + * 0b1..Forced to full speed + */ +#define USB_PORTSC1_PFSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PFSC_SHIFT)) & USB_PORTSC1_PFSC_MASK) + +#define USB_PORTSC1_PTS_2_MASK (0x2000000U) +#define USB_PORTSC1_PTS_2_SHIFT (25U) +/*! PTS_2 - PTS_2 */ +#define USB_PORTSC1_PTS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_2_SHIFT)) & USB_PORTSC1_PTS_2_MASK) + +#define USB_PORTSC1_PSPD_MASK (0xC000000U) +#define USB_PORTSC1_PSPD_SHIFT (26U) +/*! PSPD - PSPD + * 0b00..Full Speed + * 0b01..Low Speed + * 0b10..High Speed + * 0b11..Undefined + */ +#define USB_PORTSC1_PSPD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PSPD_SHIFT)) & USB_PORTSC1_PSPD_MASK) + +#define USB_PORTSC1_PTW_MASK (0x10000000U) +#define USB_PORTSC1_PTW_SHIFT (28U) +/*! PTW - PTW + * 0b0..Select the 8-bit UTMI interface [60MHz] + * 0b1..Select the 16-bit UTMI interface [30MHz] + */ +#define USB_PORTSC1_PTW(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTW_SHIFT)) & USB_PORTSC1_PTW_MASK) + +#define USB_PORTSC1_STS_MASK (0x20000000U) +#define USB_PORTSC1_STS_SHIFT (29U) +/*! STS - STS */ +#define USB_PORTSC1_STS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_STS_SHIFT)) & USB_PORTSC1_STS_MASK) + +#define USB_PORTSC1_PTS_1_MASK (0xC0000000U) +#define USB_PORTSC1_PTS_1_SHIFT (30U) +/*! PTS_1 - PTS_1 */ +#define USB_PORTSC1_PTS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_1_SHIFT)) & USB_PORTSC1_PTS_1_MASK) +/*! @} */ + +/*! @name OTGSC - On-The-Go Status & control */ +/*! @{ */ + +#define USB_OTGSC_VD_MASK (0x1U) +#define USB_OTGSC_VD_SHIFT (0U) +/*! VD - VD */ +#define USB_OTGSC_VD(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VD_SHIFT)) & USB_OTGSC_VD_MASK) + +#define USB_OTGSC_VC_MASK (0x2U) +#define USB_OTGSC_VC_SHIFT (1U) +/*! VC - VC */ +#define USB_OTGSC_VC(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VC_SHIFT)) & USB_OTGSC_VC_MASK) + +#define USB_OTGSC_OT_MASK (0x8U) +#define USB_OTGSC_OT_SHIFT (3U) +/*! OT - OT */ +#define USB_OTGSC_OT(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_OT_SHIFT)) & USB_OTGSC_OT_MASK) + +#define USB_OTGSC_DP_MASK (0x10U) +#define USB_OTGSC_DP_SHIFT (4U) +/*! DP - DP */ +#define USB_OTGSC_DP(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DP_SHIFT)) & USB_OTGSC_DP_MASK) + +#define USB_OTGSC_IDPU_MASK (0x20U) +#define USB_OTGSC_IDPU_SHIFT (5U) +/*! IDPU - IDPU */ +#define USB_OTGSC_IDPU(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDPU_SHIFT)) & USB_OTGSC_IDPU_MASK) + +#define USB_OTGSC_ID_MASK (0x100U) +#define USB_OTGSC_ID_SHIFT (8U) +/*! ID - ID */ +#define USB_OTGSC_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ID_SHIFT)) & USB_OTGSC_ID_MASK) + +#define USB_OTGSC_AVV_MASK (0x200U) +#define USB_OTGSC_AVV_SHIFT (9U) +/*! AVV - AVV */ +#define USB_OTGSC_AVV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVV_SHIFT)) & USB_OTGSC_AVV_MASK) + +#define USB_OTGSC_ASV_MASK (0x400U) +#define USB_OTGSC_ASV_SHIFT (10U) +/*! ASV - ASV */ +#define USB_OTGSC_ASV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASV_SHIFT)) & USB_OTGSC_ASV_MASK) + +#define USB_OTGSC_BSV_MASK (0x800U) +#define USB_OTGSC_BSV_SHIFT (11U) +/*! BSV - BSV */ +#define USB_OTGSC_BSV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSV_SHIFT)) & USB_OTGSC_BSV_MASK) + +#define USB_OTGSC_BSE_MASK (0x1000U) +#define USB_OTGSC_BSE_SHIFT (12U) +/*! BSE - BSE */ +#define USB_OTGSC_BSE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSE_SHIFT)) & USB_OTGSC_BSE_MASK) + +#define USB_OTGSC_TOG_1MS_MASK (0x2000U) +#define USB_OTGSC_TOG_1MS_SHIFT (13U) +/*! TOG_1MS - TOG_1MS */ +#define USB_OTGSC_TOG_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_TOG_1MS_SHIFT)) & USB_OTGSC_TOG_1MS_MASK) + +#define USB_OTGSC_DPS_MASK (0x4000U) +#define USB_OTGSC_DPS_SHIFT (14U) +/*! DPS - DPS */ +#define USB_OTGSC_DPS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPS_SHIFT)) & USB_OTGSC_DPS_MASK) + +#define USB_OTGSC_IDIS_MASK (0x10000U) +#define USB_OTGSC_IDIS_SHIFT (16U) +/*! IDIS - IDIS */ +#define USB_OTGSC_IDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIS_SHIFT)) & USB_OTGSC_IDIS_MASK) + +#define USB_OTGSC_AVVIS_MASK (0x20000U) +#define USB_OTGSC_AVVIS_SHIFT (17U) +/*! AVVIS - AVVIS */ +#define USB_OTGSC_AVVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIS_SHIFT)) & USB_OTGSC_AVVIS_MASK) + +#define USB_OTGSC_ASVIS_MASK (0x40000U) +#define USB_OTGSC_ASVIS_SHIFT (18U) +/*! ASVIS - ASVIS */ +#define USB_OTGSC_ASVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIS_SHIFT)) & USB_OTGSC_ASVIS_MASK) + +#define USB_OTGSC_BSVIS_MASK (0x80000U) +#define USB_OTGSC_BSVIS_SHIFT (19U) +/*! BSVIS - BSVIS */ +#define USB_OTGSC_BSVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIS_SHIFT)) & USB_OTGSC_BSVIS_MASK) + +#define USB_OTGSC_BSEIS_MASK (0x100000U) +#define USB_OTGSC_BSEIS_SHIFT (20U) +/*! BSEIS - BSEIS */ +#define USB_OTGSC_BSEIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIS_SHIFT)) & USB_OTGSC_BSEIS_MASK) + +#define USB_OTGSC_STATUS_1MS_MASK (0x200000U) +#define USB_OTGSC_STATUS_1MS_SHIFT (21U) +/*! STATUS_1MS - STATUS_1MS */ +#define USB_OTGSC_STATUS_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_STATUS_1MS_SHIFT)) & USB_OTGSC_STATUS_1MS_MASK) + +#define USB_OTGSC_DPIS_MASK (0x400000U) +#define USB_OTGSC_DPIS_SHIFT (22U) +/*! DPIS - DPIS */ +#define USB_OTGSC_DPIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIS_SHIFT)) & USB_OTGSC_DPIS_MASK) + +#define USB_OTGSC_IDIE_MASK (0x1000000U) +#define USB_OTGSC_IDIE_SHIFT (24U) +/*! IDIE - IDIE */ +#define USB_OTGSC_IDIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIE_SHIFT)) & USB_OTGSC_IDIE_MASK) + +#define USB_OTGSC_AVVIE_MASK (0x2000000U) +#define USB_OTGSC_AVVIE_SHIFT (25U) +/*! AVVIE - AVVIE */ +#define USB_OTGSC_AVVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIE_SHIFT)) & USB_OTGSC_AVVIE_MASK) + +#define USB_OTGSC_ASVIE_MASK (0x4000000U) +#define USB_OTGSC_ASVIE_SHIFT (26U) +/*! ASVIE - ASVIE */ +#define USB_OTGSC_ASVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIE_SHIFT)) & USB_OTGSC_ASVIE_MASK) + +#define USB_OTGSC_BSVIE_MASK (0x8000000U) +#define USB_OTGSC_BSVIE_SHIFT (27U) +/*! BSVIE - BSVIE */ +#define USB_OTGSC_BSVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIE_SHIFT)) & USB_OTGSC_BSVIE_MASK) + +#define USB_OTGSC_BSEIE_MASK (0x10000000U) +#define USB_OTGSC_BSEIE_SHIFT (28U) +/*! BSEIE - BSEIE */ +#define USB_OTGSC_BSEIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIE_SHIFT)) & USB_OTGSC_BSEIE_MASK) + +#define USB_OTGSC_EN_1MS_MASK (0x20000000U) +#define USB_OTGSC_EN_1MS_SHIFT (29U) +/*! EN_1MS - EN_1MS */ +#define USB_OTGSC_EN_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_EN_1MS_SHIFT)) & USB_OTGSC_EN_1MS_MASK) + +#define USB_OTGSC_DPIE_MASK (0x40000000U) +#define USB_OTGSC_DPIE_SHIFT (30U) +/*! DPIE - DPIE */ +#define USB_OTGSC_DPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIE_SHIFT)) & USB_OTGSC_DPIE_MASK) +/*! @} */ + +/*! @name USBMODE - USB Device Mode */ +/*! @{ */ + +#define USB_USBMODE_CM_MASK (0x3U) +#define USB_USBMODE_CM_SHIFT (0U) +/*! CM - CM + * 0b00..Idle [Default for combination host/device] + * 0b01..Reserved + * 0b10..Device Controller [Default for device only controller] + * 0b11..Host Controller [Default for host only controller] + */ +#define USB_USBMODE_CM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_CM_SHIFT)) & USB_USBMODE_CM_MASK) + +#define USB_USBMODE_ES_MASK (0x4U) +#define USB_USBMODE_ES_SHIFT (2U) +/*! ES - ES + * 0b0..Little Endian [Default] + * 0b1..Big Endian + */ +#define USB_USBMODE_ES(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_ES_SHIFT)) & USB_USBMODE_ES_MASK) + +#define USB_USBMODE_SLOM_MASK (0x8U) +#define USB_USBMODE_SLOM_SHIFT (3U) +/*! SLOM - SLOM + * 0b0..Setup Lockouts On (default); + * 0b1..Setup Lockouts Off + */ +#define USB_USBMODE_SLOM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SLOM_SHIFT)) & USB_USBMODE_SLOM_MASK) + +#define USB_USBMODE_SDIS_MASK (0x10U) +#define USB_USBMODE_SDIS_SHIFT (4U) +/*! SDIS - SDIS */ +#define USB_USBMODE_SDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SDIS_SHIFT)) & USB_USBMODE_SDIS_MASK) +/*! @} */ + +/*! @name ENDPTSETUPSTAT - Endpoint Setup Status */ +/*! @{ */ + +#define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK (0xFFFFU) +#define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT (0U) +/*! ENDPTSETUPSTAT - ENDPTSETUPSTAT */ +#define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT)) & USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK) +/*! @} */ + +/*! @name ENDPTPRIME - Endpoint Prime */ +/*! @{ */ + +#define USB_ENDPTPRIME_PERB_MASK (0xFFU) +#define USB_ENDPTPRIME_PERB_SHIFT (0U) +/*! PERB - PERB */ +#define USB_ENDPTPRIME_PERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PERB_SHIFT)) & USB_ENDPTPRIME_PERB_MASK) + +#define USB_ENDPTPRIME_PETB_MASK (0xFF0000U) +#define USB_ENDPTPRIME_PETB_SHIFT (16U) +/*! PETB - PETB */ +#define USB_ENDPTPRIME_PETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PETB_SHIFT)) & USB_ENDPTPRIME_PETB_MASK) +/*! @} */ + +/*! @name ENDPTFLUSH - Endpoint Flush */ +/*! @{ */ + +#define USB_ENDPTFLUSH_FERB_MASK (0xFFU) +#define USB_ENDPTFLUSH_FERB_SHIFT (0U) +/*! FERB - FERB */ +#define USB_ENDPTFLUSH_FERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FERB_SHIFT)) & USB_ENDPTFLUSH_FERB_MASK) + +#define USB_ENDPTFLUSH_FETB_MASK (0xFF0000U) +#define USB_ENDPTFLUSH_FETB_SHIFT (16U) +/*! FETB - FETB */ +#define USB_ENDPTFLUSH_FETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FETB_SHIFT)) & USB_ENDPTFLUSH_FETB_MASK) +/*! @} */ + +/*! @name ENDPTSTAT - Endpoint Status */ +/*! @{ */ + +#define USB_ENDPTSTAT_ERBR_MASK (0xFFU) +#define USB_ENDPTSTAT_ERBR_SHIFT (0U) +/*! ERBR - ERBR */ +#define USB_ENDPTSTAT_ERBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ERBR_SHIFT)) & USB_ENDPTSTAT_ERBR_MASK) + +#define USB_ENDPTSTAT_ETBR_MASK (0xFF0000U) +#define USB_ENDPTSTAT_ETBR_SHIFT (16U) +/*! ETBR - ETBR */ +#define USB_ENDPTSTAT_ETBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ETBR_SHIFT)) & USB_ENDPTSTAT_ETBR_MASK) +/*! @} */ + +/*! @name ENDPTCOMPLETE - Endpoint Complete */ +/*! @{ */ + +#define USB_ENDPTCOMPLETE_ERCE_MASK (0xFFU) +#define USB_ENDPTCOMPLETE_ERCE_SHIFT (0U) +/*! ERCE - ERCE */ +#define USB_ENDPTCOMPLETE_ERCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ERCE_SHIFT)) & USB_ENDPTCOMPLETE_ERCE_MASK) + +#define USB_ENDPTCOMPLETE_ETCE_MASK (0xFF0000U) +#define USB_ENDPTCOMPLETE_ETCE_SHIFT (16U) +/*! ETCE - ETCE */ +#define USB_ENDPTCOMPLETE_ETCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ETCE_SHIFT)) & USB_ENDPTCOMPLETE_ETCE_MASK) +/*! @} */ + +/*! @name ENDPTCTRL0 - Endpoint Control0 */ +/*! @{ */ + +#define USB_ENDPTCTRL0_RXS_MASK (0x1U) +#define USB_ENDPTCTRL0_RXS_SHIFT (0U) +/*! RXS - RXS */ +#define USB_ENDPTCTRL0_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXS_SHIFT)) & USB_ENDPTCTRL0_RXS_MASK) + +#define USB_ENDPTCTRL0_RXT_MASK (0xCU) +#define USB_ENDPTCTRL0_RXT_SHIFT (2U) +/*! RXT - RXT */ +#define USB_ENDPTCTRL0_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXT_SHIFT)) & USB_ENDPTCTRL0_RXT_MASK) + +#define USB_ENDPTCTRL0_RXE_MASK (0x80U) +#define USB_ENDPTCTRL0_RXE_SHIFT (7U) +/*! RXE - RXE */ +#define USB_ENDPTCTRL0_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXE_SHIFT)) & USB_ENDPTCTRL0_RXE_MASK) + +#define USB_ENDPTCTRL0_TXS_MASK (0x10000U) +#define USB_ENDPTCTRL0_TXS_SHIFT (16U) +/*! TXS - TXS */ +#define USB_ENDPTCTRL0_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXS_SHIFT)) & USB_ENDPTCTRL0_TXS_MASK) + +#define USB_ENDPTCTRL0_TXT_MASK (0xC0000U) +#define USB_ENDPTCTRL0_TXT_SHIFT (18U) +/*! TXT - TXT */ +#define USB_ENDPTCTRL0_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXT_SHIFT)) & USB_ENDPTCTRL0_TXT_MASK) + +#define USB_ENDPTCTRL0_TXE_MASK (0x800000U) +#define USB_ENDPTCTRL0_TXE_SHIFT (23U) +/*! TXE - TXE */ +#define USB_ENDPTCTRL0_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXE_SHIFT)) & USB_ENDPTCTRL0_TXE_MASK) +/*! @} */ + +/*! @name ENDPTCTRL1 - Endpoint Control 1 */ +/*! @{ */ + +#define USB_ENDPTCTRL1_RXS_MASK (0x1U) +#define USB_ENDPTCTRL1_RXS_SHIFT (0U) +/*! RXS - RXS */ +#define USB_ENDPTCTRL1_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_RXS_SHIFT)) & USB_ENDPTCTRL1_RXS_MASK) + +#define USB_ENDPTCTRL1_RXD_MASK (0x2U) +#define USB_ENDPTCTRL1_RXD_SHIFT (1U) +/*! RXD - RXD */ +#define USB_ENDPTCTRL1_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_RXD_SHIFT)) & USB_ENDPTCTRL1_RXD_MASK) + +#define USB_ENDPTCTRL1_RXT_MASK (0xCU) +#define USB_ENDPTCTRL1_RXT_SHIFT (2U) +/*! RXT - RXT */ +#define USB_ENDPTCTRL1_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_RXT_SHIFT)) & USB_ENDPTCTRL1_RXT_MASK) + +#define USB_ENDPTCTRL1_RXI_MASK (0x20U) +#define USB_ENDPTCTRL1_RXI_SHIFT (5U) +/*! RXI - RXI */ +#define USB_ENDPTCTRL1_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_RXI_SHIFT)) & USB_ENDPTCTRL1_RXI_MASK) + +#define USB_ENDPTCTRL1_RXR_MASK (0x40U) +#define USB_ENDPTCTRL1_RXR_SHIFT (6U) +/*! RXR - RXR */ +#define USB_ENDPTCTRL1_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_RXR_SHIFT)) & USB_ENDPTCTRL1_RXR_MASK) + +#define USB_ENDPTCTRL1_RXE_MASK (0x80U) +#define USB_ENDPTCTRL1_RXE_SHIFT (7U) +/*! RXE - RXE */ +#define USB_ENDPTCTRL1_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_RXE_SHIFT)) & USB_ENDPTCTRL1_RXE_MASK) + +#define USB_ENDPTCTRL1_TXS_MASK (0x10000U) +#define USB_ENDPTCTRL1_TXS_SHIFT (16U) +/*! TXS - TXS */ +#define USB_ENDPTCTRL1_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_TXS_SHIFT)) & USB_ENDPTCTRL1_TXS_MASK) + +#define USB_ENDPTCTRL1_TXD_MASK (0x20000U) +#define USB_ENDPTCTRL1_TXD_SHIFT (17U) +/*! TXD - TXD */ +#define USB_ENDPTCTRL1_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_TXD_SHIFT)) & USB_ENDPTCTRL1_TXD_MASK) + +#define USB_ENDPTCTRL1_TXT_MASK (0xC0000U) +#define USB_ENDPTCTRL1_TXT_SHIFT (18U) +/*! TXT - TXT */ +#define USB_ENDPTCTRL1_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_TXT_SHIFT)) & USB_ENDPTCTRL1_TXT_MASK) + +#define USB_ENDPTCTRL1_TXI_MASK (0x200000U) +#define USB_ENDPTCTRL1_TXI_SHIFT (21U) +/*! TXI - TXI */ +#define USB_ENDPTCTRL1_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_TXI_SHIFT)) & USB_ENDPTCTRL1_TXI_MASK) + +#define USB_ENDPTCTRL1_TXR_MASK (0x400000U) +#define USB_ENDPTCTRL1_TXR_SHIFT (22U) +/*! TXR - TXR */ +#define USB_ENDPTCTRL1_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_TXR_SHIFT)) & USB_ENDPTCTRL1_TXR_MASK) + +#define USB_ENDPTCTRL1_TXE_MASK (0x800000U) +#define USB_ENDPTCTRL1_TXE_SHIFT (23U) +/*! TXE - TXE */ +#define USB_ENDPTCTRL1_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL1_TXE_SHIFT)) & USB_ENDPTCTRL1_TXE_MASK) +/*! @} */ + +/*! @name ENDPTCTRL2 - Endpoint Control 2 */ +/*! @{ */ + +#define USB_ENDPTCTRL2_RXS_MASK (0x1U) +#define USB_ENDPTCTRL2_RXS_SHIFT (0U) +/*! RXS - RXS */ +#define USB_ENDPTCTRL2_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_RXS_SHIFT)) & USB_ENDPTCTRL2_RXS_MASK) + +#define USB_ENDPTCTRL2_RXD_MASK (0x2U) +#define USB_ENDPTCTRL2_RXD_SHIFT (1U) +/*! RXD - RXD */ +#define USB_ENDPTCTRL2_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_RXD_SHIFT)) & USB_ENDPTCTRL2_RXD_MASK) + +#define USB_ENDPTCTRL2_RXT_MASK (0xCU) +#define USB_ENDPTCTRL2_RXT_SHIFT (2U) +/*! RXT - RXT */ +#define USB_ENDPTCTRL2_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_RXT_SHIFT)) & USB_ENDPTCTRL2_RXT_MASK) + +#define USB_ENDPTCTRL2_RXI_MASK (0x20U) +#define USB_ENDPTCTRL2_RXI_SHIFT (5U) +/*! RXI - RXI */ +#define USB_ENDPTCTRL2_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_RXI_SHIFT)) & USB_ENDPTCTRL2_RXI_MASK) + +#define USB_ENDPTCTRL2_RXR_MASK (0x40U) +#define USB_ENDPTCTRL2_RXR_SHIFT (6U) +/*! RXR - RXR */ +#define USB_ENDPTCTRL2_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_RXR_SHIFT)) & USB_ENDPTCTRL2_RXR_MASK) + +#define USB_ENDPTCTRL2_RXE_MASK (0x80U) +#define USB_ENDPTCTRL2_RXE_SHIFT (7U) +/*! RXE - RXE */ +#define USB_ENDPTCTRL2_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_RXE_SHIFT)) & USB_ENDPTCTRL2_RXE_MASK) + +#define USB_ENDPTCTRL2_TXS_MASK (0x10000U) +#define USB_ENDPTCTRL2_TXS_SHIFT (16U) +/*! TXS - TXS */ +#define USB_ENDPTCTRL2_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_TXS_SHIFT)) & USB_ENDPTCTRL2_TXS_MASK) + +#define USB_ENDPTCTRL2_TXD_MASK (0x20000U) +#define USB_ENDPTCTRL2_TXD_SHIFT (17U) +/*! TXD - TXD */ +#define USB_ENDPTCTRL2_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_TXD_SHIFT)) & USB_ENDPTCTRL2_TXD_MASK) + +#define USB_ENDPTCTRL2_TXT_MASK (0xC0000U) +#define USB_ENDPTCTRL2_TXT_SHIFT (18U) +/*! TXT - TXT */ +#define USB_ENDPTCTRL2_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_TXT_SHIFT)) & USB_ENDPTCTRL2_TXT_MASK) + +#define USB_ENDPTCTRL2_TXI_MASK (0x200000U) +#define USB_ENDPTCTRL2_TXI_SHIFT (21U) +/*! TXI - TXI */ +#define USB_ENDPTCTRL2_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_TXI_SHIFT)) & USB_ENDPTCTRL2_TXI_MASK) + +#define USB_ENDPTCTRL2_TXR_MASK (0x400000U) +#define USB_ENDPTCTRL2_TXR_SHIFT (22U) +/*! TXR - TXR */ +#define USB_ENDPTCTRL2_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_TXR_SHIFT)) & USB_ENDPTCTRL2_TXR_MASK) + +#define USB_ENDPTCTRL2_TXE_MASK (0x800000U) +#define USB_ENDPTCTRL2_TXE_SHIFT (23U) +/*! TXE - TXE */ +#define USB_ENDPTCTRL2_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL2_TXE_SHIFT)) & USB_ENDPTCTRL2_TXE_MASK) +/*! @} */ + +/*! @name ENDPTCTRL3 - Endpoint Control 3 */ +/*! @{ */ + +#define USB_ENDPTCTRL3_RXS_MASK (0x1U) +#define USB_ENDPTCTRL3_RXS_SHIFT (0U) +/*! RXS - RXS */ +#define USB_ENDPTCTRL3_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_RXS_SHIFT)) & USB_ENDPTCTRL3_RXS_MASK) + +#define USB_ENDPTCTRL3_RXD_MASK (0x2U) +#define USB_ENDPTCTRL3_RXD_SHIFT (1U) +/*! RXD - RXD */ +#define USB_ENDPTCTRL3_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_RXD_SHIFT)) & USB_ENDPTCTRL3_RXD_MASK) + +#define USB_ENDPTCTRL3_RXT_MASK (0xCU) +#define USB_ENDPTCTRL3_RXT_SHIFT (2U) +/*! RXT - RXT */ +#define USB_ENDPTCTRL3_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_RXT_SHIFT)) & USB_ENDPTCTRL3_RXT_MASK) + +#define USB_ENDPTCTRL3_RXI_MASK (0x20U) +#define USB_ENDPTCTRL3_RXI_SHIFT (5U) +/*! RXI - RXI */ +#define USB_ENDPTCTRL3_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_RXI_SHIFT)) & USB_ENDPTCTRL3_RXI_MASK) + +#define USB_ENDPTCTRL3_RXR_MASK (0x40U) +#define USB_ENDPTCTRL3_RXR_SHIFT (6U) +/*! RXR - RXR */ +#define USB_ENDPTCTRL3_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_RXR_SHIFT)) & USB_ENDPTCTRL3_RXR_MASK) + +#define USB_ENDPTCTRL3_RXE_MASK (0x80U) +#define USB_ENDPTCTRL3_RXE_SHIFT (7U) +/*! RXE - RXE */ +#define USB_ENDPTCTRL3_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_RXE_SHIFT)) & USB_ENDPTCTRL3_RXE_MASK) + +#define USB_ENDPTCTRL3_TXS_MASK (0x10000U) +#define USB_ENDPTCTRL3_TXS_SHIFT (16U) +/*! TXS - TXS */ +#define USB_ENDPTCTRL3_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_TXS_SHIFT)) & USB_ENDPTCTRL3_TXS_MASK) + +#define USB_ENDPTCTRL3_TXD_MASK (0x20000U) +#define USB_ENDPTCTRL3_TXD_SHIFT (17U) +/*! TXD - TXD */ +#define USB_ENDPTCTRL3_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_TXD_SHIFT)) & USB_ENDPTCTRL3_TXD_MASK) + +#define USB_ENDPTCTRL3_TXT_MASK (0xC0000U) +#define USB_ENDPTCTRL3_TXT_SHIFT (18U) +/*! TXT - TXT */ +#define USB_ENDPTCTRL3_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_TXT_SHIFT)) & USB_ENDPTCTRL3_TXT_MASK) + +#define USB_ENDPTCTRL3_TXI_MASK (0x200000U) +#define USB_ENDPTCTRL3_TXI_SHIFT (21U) +/*! TXI - TXI */ +#define USB_ENDPTCTRL3_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_TXI_SHIFT)) & USB_ENDPTCTRL3_TXI_MASK) + +#define USB_ENDPTCTRL3_TXR_MASK (0x400000U) +#define USB_ENDPTCTRL3_TXR_SHIFT (22U) +/*! TXR - TXR */ +#define USB_ENDPTCTRL3_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_TXR_SHIFT)) & USB_ENDPTCTRL3_TXR_MASK) + +#define USB_ENDPTCTRL3_TXE_MASK (0x800000U) +#define USB_ENDPTCTRL3_TXE_SHIFT (23U) +/*! TXE - TXE */ +#define USB_ENDPTCTRL3_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL3_TXE_SHIFT)) & USB_ENDPTCTRL3_TXE_MASK) +/*! @} */ + +/*! @name ENDPTCTRL4 - Endpoint Control 4 */ +/*! @{ */ + +#define USB_ENDPTCTRL4_RXS_MASK (0x1U) +#define USB_ENDPTCTRL4_RXS_SHIFT (0U) +/*! RXS - RXS */ +#define USB_ENDPTCTRL4_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_RXS_SHIFT)) & USB_ENDPTCTRL4_RXS_MASK) + +#define USB_ENDPTCTRL4_RXD_MASK (0x2U) +#define USB_ENDPTCTRL4_RXD_SHIFT (1U) +/*! RXD - RXD */ +#define USB_ENDPTCTRL4_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_RXD_SHIFT)) & USB_ENDPTCTRL4_RXD_MASK) + +#define USB_ENDPTCTRL4_RXT_MASK (0xCU) +#define USB_ENDPTCTRL4_RXT_SHIFT (2U) +/*! RXT - RXT */ +#define USB_ENDPTCTRL4_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_RXT_SHIFT)) & USB_ENDPTCTRL4_RXT_MASK) + +#define USB_ENDPTCTRL4_RXI_MASK (0x20U) +#define USB_ENDPTCTRL4_RXI_SHIFT (5U) +/*! RXI - RXI */ +#define USB_ENDPTCTRL4_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_RXI_SHIFT)) & USB_ENDPTCTRL4_RXI_MASK) + +#define USB_ENDPTCTRL4_RXR_MASK (0x40U) +#define USB_ENDPTCTRL4_RXR_SHIFT (6U) +/*! RXR - RXR */ +#define USB_ENDPTCTRL4_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_RXR_SHIFT)) & USB_ENDPTCTRL4_RXR_MASK) + +#define USB_ENDPTCTRL4_RXE_MASK (0x80U) +#define USB_ENDPTCTRL4_RXE_SHIFT (7U) +/*! RXE - RXE */ +#define USB_ENDPTCTRL4_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_RXE_SHIFT)) & USB_ENDPTCTRL4_RXE_MASK) + +#define USB_ENDPTCTRL4_TXS_MASK (0x10000U) +#define USB_ENDPTCTRL4_TXS_SHIFT (16U) +/*! TXS - TXS */ +#define USB_ENDPTCTRL4_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_TXS_SHIFT)) & USB_ENDPTCTRL4_TXS_MASK) + +#define USB_ENDPTCTRL4_TXD_MASK (0x20000U) +#define USB_ENDPTCTRL4_TXD_SHIFT (17U) +/*! TXD - TXD */ +#define USB_ENDPTCTRL4_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_TXD_SHIFT)) & USB_ENDPTCTRL4_TXD_MASK) + +#define USB_ENDPTCTRL4_TXT_MASK (0xC0000U) +#define USB_ENDPTCTRL4_TXT_SHIFT (18U) +/*! TXT - TXT */ +#define USB_ENDPTCTRL4_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_TXT_SHIFT)) & USB_ENDPTCTRL4_TXT_MASK) + +#define USB_ENDPTCTRL4_TXI_MASK (0x200000U) +#define USB_ENDPTCTRL4_TXI_SHIFT (21U) +/*! TXI - TXI */ +#define USB_ENDPTCTRL4_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_TXI_SHIFT)) & USB_ENDPTCTRL4_TXI_MASK) + +#define USB_ENDPTCTRL4_TXR_MASK (0x400000U) +#define USB_ENDPTCTRL4_TXR_SHIFT (22U) +/*! TXR - TXR */ +#define USB_ENDPTCTRL4_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_TXR_SHIFT)) & USB_ENDPTCTRL4_TXR_MASK) + +#define USB_ENDPTCTRL4_TXE_MASK (0x800000U) +#define USB_ENDPTCTRL4_TXE_SHIFT (23U) +/*! TXE - TXE */ +#define USB_ENDPTCTRL4_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL4_TXE_SHIFT)) & USB_ENDPTCTRL4_TXE_MASK) +/*! @} */ + +/*! @name ENDPTCTRL5 - Endpoint Control 5 */ +/*! @{ */ + +#define USB_ENDPTCTRL5_RXS_MASK (0x1U) +#define USB_ENDPTCTRL5_RXS_SHIFT (0U) +/*! RXS - RXS */ +#define USB_ENDPTCTRL5_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_RXS_SHIFT)) & USB_ENDPTCTRL5_RXS_MASK) + +#define USB_ENDPTCTRL5_RXD_MASK (0x2U) +#define USB_ENDPTCTRL5_RXD_SHIFT (1U) +/*! RXD - RXD */ +#define USB_ENDPTCTRL5_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_RXD_SHIFT)) & USB_ENDPTCTRL5_RXD_MASK) + +#define USB_ENDPTCTRL5_RXT_MASK (0xCU) +#define USB_ENDPTCTRL5_RXT_SHIFT (2U) +/*! RXT - RXT */ +#define USB_ENDPTCTRL5_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_RXT_SHIFT)) & USB_ENDPTCTRL5_RXT_MASK) + +#define USB_ENDPTCTRL5_RXI_MASK (0x20U) +#define USB_ENDPTCTRL5_RXI_SHIFT (5U) +/*! RXI - RXI */ +#define USB_ENDPTCTRL5_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_RXI_SHIFT)) & USB_ENDPTCTRL5_RXI_MASK) + +#define USB_ENDPTCTRL5_RXR_MASK (0x40U) +#define USB_ENDPTCTRL5_RXR_SHIFT (6U) +/*! RXR - RXR */ +#define USB_ENDPTCTRL5_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_RXR_SHIFT)) & USB_ENDPTCTRL5_RXR_MASK) + +#define USB_ENDPTCTRL5_RXE_MASK (0x80U) +#define USB_ENDPTCTRL5_RXE_SHIFT (7U) +/*! RXE - RXE */ +#define USB_ENDPTCTRL5_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_RXE_SHIFT)) & USB_ENDPTCTRL5_RXE_MASK) + +#define USB_ENDPTCTRL5_TXS_MASK (0x10000U) +#define USB_ENDPTCTRL5_TXS_SHIFT (16U) +/*! TXS - TXS */ +#define USB_ENDPTCTRL5_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_TXS_SHIFT)) & USB_ENDPTCTRL5_TXS_MASK) + +#define USB_ENDPTCTRL5_TXD_MASK (0x20000U) +#define USB_ENDPTCTRL5_TXD_SHIFT (17U) +/*! TXD - TXD */ +#define USB_ENDPTCTRL5_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_TXD_SHIFT)) & USB_ENDPTCTRL5_TXD_MASK) + +#define USB_ENDPTCTRL5_TXT_MASK (0xC0000U) +#define USB_ENDPTCTRL5_TXT_SHIFT (18U) +/*! TXT - TXT */ +#define USB_ENDPTCTRL5_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_TXT_SHIFT)) & USB_ENDPTCTRL5_TXT_MASK) + +#define USB_ENDPTCTRL5_TXI_MASK (0x200000U) +#define USB_ENDPTCTRL5_TXI_SHIFT (21U) +/*! TXI - TXI */ +#define USB_ENDPTCTRL5_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_TXI_SHIFT)) & USB_ENDPTCTRL5_TXI_MASK) + +#define USB_ENDPTCTRL5_TXR_MASK (0x400000U) +#define USB_ENDPTCTRL5_TXR_SHIFT (22U) +/*! TXR - TXR */ +#define USB_ENDPTCTRL5_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_TXR_SHIFT)) & USB_ENDPTCTRL5_TXR_MASK) + +#define USB_ENDPTCTRL5_TXE_MASK (0x800000U) +#define USB_ENDPTCTRL5_TXE_SHIFT (23U) +/*! TXE - TXE */ +#define USB_ENDPTCTRL5_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL5_TXE_SHIFT)) & USB_ENDPTCTRL5_TXE_MASK) +/*! @} */ + +/*! @name ENDPTCTRL6 - Endpoint Control 6 */ +/*! @{ */ + +#define USB_ENDPTCTRL6_RXS_MASK (0x1U) +#define USB_ENDPTCTRL6_RXS_SHIFT (0U) +/*! RXS - RXS */ +#define USB_ENDPTCTRL6_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_RXS_SHIFT)) & USB_ENDPTCTRL6_RXS_MASK) + +#define USB_ENDPTCTRL6_RXD_MASK (0x2U) +#define USB_ENDPTCTRL6_RXD_SHIFT (1U) +/*! RXD - RXD */ +#define USB_ENDPTCTRL6_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_RXD_SHIFT)) & USB_ENDPTCTRL6_RXD_MASK) + +#define USB_ENDPTCTRL6_RXT_MASK (0xCU) +#define USB_ENDPTCTRL6_RXT_SHIFT (2U) +/*! RXT - RXT */ +#define USB_ENDPTCTRL6_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_RXT_SHIFT)) & USB_ENDPTCTRL6_RXT_MASK) + +#define USB_ENDPTCTRL6_RXI_MASK (0x20U) +#define USB_ENDPTCTRL6_RXI_SHIFT (5U) +/*! RXI - RXI */ +#define USB_ENDPTCTRL6_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_RXI_SHIFT)) & USB_ENDPTCTRL6_RXI_MASK) + +#define USB_ENDPTCTRL6_RXR_MASK (0x40U) +#define USB_ENDPTCTRL6_RXR_SHIFT (6U) +/*! RXR - RXR */ +#define USB_ENDPTCTRL6_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_RXR_SHIFT)) & USB_ENDPTCTRL6_RXR_MASK) + +#define USB_ENDPTCTRL6_RXE_MASK (0x80U) +#define USB_ENDPTCTRL6_RXE_SHIFT (7U) +/*! RXE - RXE */ +#define USB_ENDPTCTRL6_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_RXE_SHIFT)) & USB_ENDPTCTRL6_RXE_MASK) + +#define USB_ENDPTCTRL6_TXS_MASK (0x10000U) +#define USB_ENDPTCTRL6_TXS_SHIFT (16U) +/*! TXS - TXS */ +#define USB_ENDPTCTRL6_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_TXS_SHIFT)) & USB_ENDPTCTRL6_TXS_MASK) + +#define USB_ENDPTCTRL6_TXD_MASK (0x20000U) +#define USB_ENDPTCTRL6_TXD_SHIFT (17U) +/*! TXD - TXD */ +#define USB_ENDPTCTRL6_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_TXD_SHIFT)) & USB_ENDPTCTRL6_TXD_MASK) + +#define USB_ENDPTCTRL6_TXT_MASK (0xC0000U) +#define USB_ENDPTCTRL6_TXT_SHIFT (18U) +/*! TXT - TXT */ +#define USB_ENDPTCTRL6_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_TXT_SHIFT)) & USB_ENDPTCTRL6_TXT_MASK) + +#define USB_ENDPTCTRL6_TXI_MASK (0x200000U) +#define USB_ENDPTCTRL6_TXI_SHIFT (21U) +/*! TXI - TXI */ +#define USB_ENDPTCTRL6_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_TXI_SHIFT)) & USB_ENDPTCTRL6_TXI_MASK) + +#define USB_ENDPTCTRL6_TXR_MASK (0x400000U) +#define USB_ENDPTCTRL6_TXR_SHIFT (22U) +/*! TXR - TXR */ +#define USB_ENDPTCTRL6_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_TXR_SHIFT)) & USB_ENDPTCTRL6_TXR_MASK) + +#define USB_ENDPTCTRL6_TXE_MASK (0x800000U) +#define USB_ENDPTCTRL6_TXE_SHIFT (23U) +/*! TXE - TXE */ +#define USB_ENDPTCTRL6_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL6_TXE_SHIFT)) & USB_ENDPTCTRL6_TXE_MASK) +/*! @} */ + +/*! @name ENDPTCTRL7 - Endpoint Control 7 */ +/*! @{ */ + +#define USB_ENDPTCTRL7_RXS_MASK (0x1U) +#define USB_ENDPTCTRL7_RXS_SHIFT (0U) +/*! RXS - RXS */ +#define USB_ENDPTCTRL7_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_RXS_SHIFT)) & USB_ENDPTCTRL7_RXS_MASK) + +#define USB_ENDPTCTRL7_RXD_MASK (0x2U) +#define USB_ENDPTCTRL7_RXD_SHIFT (1U) +/*! RXD - RXD */ +#define USB_ENDPTCTRL7_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_RXD_SHIFT)) & USB_ENDPTCTRL7_RXD_MASK) + +#define USB_ENDPTCTRL7_RXT_MASK (0xCU) +#define USB_ENDPTCTRL7_RXT_SHIFT (2U) +/*! RXT - RXT */ +#define USB_ENDPTCTRL7_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_RXT_SHIFT)) & USB_ENDPTCTRL7_RXT_MASK) + +#define USB_ENDPTCTRL7_RXI_MASK (0x20U) +#define USB_ENDPTCTRL7_RXI_SHIFT (5U) +/*! RXI - RXI */ +#define USB_ENDPTCTRL7_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_RXI_SHIFT)) & USB_ENDPTCTRL7_RXI_MASK) + +#define USB_ENDPTCTRL7_RXR_MASK (0x40U) +#define USB_ENDPTCTRL7_RXR_SHIFT (6U) +/*! RXR - RXR */ +#define USB_ENDPTCTRL7_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_RXR_SHIFT)) & USB_ENDPTCTRL7_RXR_MASK) + +#define USB_ENDPTCTRL7_RXE_MASK (0x80U) +#define USB_ENDPTCTRL7_RXE_SHIFT (7U) +/*! RXE - RXE */ +#define USB_ENDPTCTRL7_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_RXE_SHIFT)) & USB_ENDPTCTRL7_RXE_MASK) + +#define USB_ENDPTCTRL7_TXS_MASK (0x10000U) +#define USB_ENDPTCTRL7_TXS_SHIFT (16U) +/*! TXS - TXS */ +#define USB_ENDPTCTRL7_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_TXS_SHIFT)) & USB_ENDPTCTRL7_TXS_MASK) + +#define USB_ENDPTCTRL7_TXD_MASK (0x20000U) +#define USB_ENDPTCTRL7_TXD_SHIFT (17U) +/*! TXD - TXD */ +#define USB_ENDPTCTRL7_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_TXD_SHIFT)) & USB_ENDPTCTRL7_TXD_MASK) + +#define USB_ENDPTCTRL7_TXT_MASK (0xC0000U) +#define USB_ENDPTCTRL7_TXT_SHIFT (18U) +/*! TXT - TXT */ +#define USB_ENDPTCTRL7_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_TXT_SHIFT)) & USB_ENDPTCTRL7_TXT_MASK) + +#define USB_ENDPTCTRL7_TXI_MASK (0x200000U) +#define USB_ENDPTCTRL7_TXI_SHIFT (21U) +/*! TXI - TXI */ +#define USB_ENDPTCTRL7_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_TXI_SHIFT)) & USB_ENDPTCTRL7_TXI_MASK) + +#define USB_ENDPTCTRL7_TXR_MASK (0x400000U) +#define USB_ENDPTCTRL7_TXR_SHIFT (22U) +/*! TXR - TXR */ +#define USB_ENDPTCTRL7_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_TXR_SHIFT)) & USB_ENDPTCTRL7_TXR_MASK) + +#define USB_ENDPTCTRL7_TXE_MASK (0x800000U) +#define USB_ENDPTCTRL7_TXE_SHIFT (23U) +/*! TXE - TXE */ +#define USB_ENDPTCTRL7_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL7_TXE_SHIFT)) & USB_ENDPTCTRL7_TXE_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group USB_Register_Masks */ + + +/* USB - Peripheral instance base addresses */ +/** Peripheral USB__USB_OTG1 base address */ +#define USB__USB_OTG1_BASE (0x4C100000u) +/** Peripheral USB__USB_OTG1 base pointer */ +#define USB__USB_OTG1 ((USB_Type *)USB__USB_OTG1_BASE) +/** Peripheral USB__USB_OTG2 base address */ +#define USB__USB_OTG2_BASE (0x4C200000u) +/** Peripheral USB__USB_OTG2 base pointer */ +#define USB__USB_OTG2 ((USB_Type *)USB__USB_OTG2_BASE) +/** Array initializer of USB peripheral base addresses */ +#define USB_BASE_ADDRS { USB__USB_OTG1_BASE, USB__USB_OTG2_BASE } +/** Array initializer of USB peripheral base pointers */ +#define USB_BASE_PTRS { USB__USB_OTG1, USB__USB_OTG2 } + +/*! + * @} + */ /* end of group USB_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- USBNC Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup USBNC_Peripheral_Access_Layer USBNC Peripheral Access Layer + * @{ + */ + +/** USBNC - Register Layout Typedef */ +typedef struct { + __IO uint32_t CTRL1; /**< USB OTG Control 1, offset: 0x0 */ + __IO uint32_t CTRL2; /**< USB OTG Control 2, offset: 0x4 */ + uint8_t RESERVED_0[36]; + __IO uint32_t HSIC_DLL_CFG4; /**< HSIC DLL Configure Register 4, offset: 0x2C */ + __IO uint32_t UTMIPHY_CFG1; /**< PHY Configure 1, offset: 0x30 */ +} USBNC_Type; + +/* ---------------------------------------------------------------------------- + -- USBNC Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup USBNC_Register_Masks USBNC Register Masks + * @{ + */ + +/*! @name CTRL1 - USB OTG Control 1 */ +/*! @{ */ + +#define USBNC_CTRL1_OVER_CUR_DIS_MASK (0x80U) +#define USBNC_CTRL1_OVER_CUR_DIS_SHIFT (7U) +/*! OVER_CUR_DIS - OVER_CUR_DIS + * 0b0..Enables overcurrent detection + * 0b1..Disables overcurrent detection + */ +#define USBNC_CTRL1_OVER_CUR_DIS(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_OVER_CUR_DIS_SHIFT)) & USBNC_CTRL1_OVER_CUR_DIS_MASK) + +#define USBNC_CTRL1_OVER_CUR_POL_MASK (0x100U) +#define USBNC_CTRL1_OVER_CUR_POL_SHIFT (8U) +/*! OVER_CUR_POL - OVER_CUR_POL + * 0b0..High active (high on this signal represents an overcurrent condition) + * 0b1..Low active (low on this signal represents an overcurrent condition) + */ +#define USBNC_CTRL1_OVER_CUR_POL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_OVER_CUR_POL_SHIFT)) & USBNC_CTRL1_OVER_CUR_POL_MASK) + +#define USBNC_CTRL1_PWR_POL_MASK (0x200U) +#define USBNC_CTRL1_PWR_POL_SHIFT (9U) +/*! PWR_POL - PWR_POL + * 0b0..PMIC Power Pin is Low active. + * 0b1..PMIC Power Pin is High active. + */ +#define USBNC_CTRL1_PWR_POL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_PWR_POL_SHIFT)) & USBNC_CTRL1_PWR_POL_MASK) + +#define USBNC_CTRL1_WIE_MASK (0x400U) +#define USBNC_CTRL1_WIE_SHIFT (10U) +/*! WIE - WIE + * 0b0..Interrupt Disabled + * 0b1..Interrupt Enabled + */ +#define USBNC_CTRL1_WIE(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WIE_SHIFT)) & USBNC_CTRL1_WIE_MASK) + +#define USBNC_CTRL1_WKUP_SW_EN_MASK (0x4000U) +#define USBNC_CTRL1_WKUP_SW_EN_SHIFT (14U) +/*! WKUP_SW_EN - WKUP_SW_EN + * 0b0..Disable + * 0b1..Enable + */ +#define USBNC_CTRL1_WKUP_SW_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_SW_EN_SHIFT)) & USBNC_CTRL1_WKUP_SW_EN_MASK) + +#define USBNC_CTRL1_WKUP_SW_MASK (0x8000U) +#define USBNC_CTRL1_WKUP_SW_SHIFT (15U) +/*! WKUP_SW - WKUP_SW + * 0b0..Inactive + * 0b1..Force wake-up + */ +#define USBNC_CTRL1_WKUP_SW(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_SW_SHIFT)) & USBNC_CTRL1_WKUP_SW_MASK) + +#define USBNC_CTRL1_WKUP_ID_EN_MASK (0x10000U) +#define USBNC_CTRL1_WKUP_ID_EN_SHIFT (16U) +/*! WKUP_ID_EN - WKUP_ID_EN + * 0b0..Disable + * 0b1..Enable + */ +#define USBNC_CTRL1_WKUP_ID_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_ID_EN_SHIFT)) & USBNC_CTRL1_WKUP_ID_EN_MASK) + +#define USBNC_CTRL1_WKUP_VBUS_EN_MASK (0x20000U) +#define USBNC_CTRL1_WKUP_VBUS_EN_SHIFT (17U) +/*! WKUP_VBUS_EN - WKUP_VBUS_EN + * 0b0..Disable + * 0b1..Enable + */ +#define USBNC_CTRL1_WKUP_VBUS_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_VBUS_EN_SHIFT)) & USBNC_CTRL1_WKUP_VBUS_EN_MASK) + +#define USBNC_CTRL1_WKUP_DPDM_EN_MASK (0x20000000U) +#define USBNC_CTRL1_WKUP_DPDM_EN_SHIFT (29U) +/*! WKUP_DPDM_EN - Wake-up on DP/DM change enable + * 0b0..DP/DM changes wake-up to be disabled only when VBUS is 0. + * 0b1..(Default) DP/DM changes wake-up to be enabled, it is for device only. + */ +#define USBNC_CTRL1_WKUP_DPDM_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_DPDM_EN_SHIFT)) & USBNC_CTRL1_WKUP_DPDM_EN_MASK) + +#define USBNC_CTRL1_WIR_MASK (0x80000000U) +#define USBNC_CTRL1_WIR_SHIFT (31U) +/*! WIR - WIR + * 0b0..No wake-up interrupt request received + * 0b1..Wake-up Interrupt Request received + */ +#define USBNC_CTRL1_WIR(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WIR_SHIFT)) & USBNC_CTRL1_WIR_MASK) +/*! @} */ + +/*! @name CTRL2 - USB OTG Control 2 */ +/*! @{ */ + +#define USBNC_CTRL2_VBUS_SOURCE_SEL_MASK (0x3U) +#define USBNC_CTRL2_VBUS_SOURCE_SEL_SHIFT (0U) +/*! VBUS_SOURCE_SEL - VBUS_SOURCE_SEL + * 0b00..vbus_valid + * 0b01..sess_valid + * 0b10..sess_valid + * 0b11..sess_valid + */ +#define USBNC_CTRL2_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_VBUS_SOURCE_SEL_SHIFT)) & USBNC_CTRL2_VBUS_SOURCE_SEL_MASK) + +#define USBNC_CTRL2_AUTURESUME_EN_MASK (0x4U) +#define USBNC_CTRL2_AUTURESUME_EN_SHIFT (2U) +/*! AUTURESUME_EN - Auto Resume Enable + * 0b0..Default + */ +#define USBNC_CTRL2_AUTURESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_AUTURESUME_EN_SHIFT)) & USBNC_CTRL2_AUTURESUME_EN_MASK) + +#define USBNC_CTRL2_LOWSPEED_EN_MASK (0x8U) +#define USBNC_CTRL2_LOWSPEED_EN_SHIFT (3U) +/*! LOWSPEED_EN - Low speed enable + * 0b0..Default + */ +#define USBNC_CTRL2_LOWSPEED_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_LOWSPEED_EN_SHIFT)) & USBNC_CTRL2_LOWSPEED_EN_MASK) + +#define USBNC_CTRL2_OPMODE_OVERRIDE_MASK (0xC0U) +#define USBNC_CTRL2_OPMODE_OVERRIDE_SHIFT (6U) +/*! OPMODE_OVERRIDE - utmi_OpMode[1:0] override value + * 0b00..utmi_OpMode[1:0] override to 2'b00. + * 0b01..utmi_OpMode[1:0] override to 2'b01. + * 0b10..utmi_OpMode[1:0] override to 2'b10. + * 0b11..utmi_OpMode[1:0] override to 2'b11. + */ +#define USBNC_CTRL2_OPMODE_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_OPMODE_OVERRIDE_SHIFT)) & USBNC_CTRL2_OPMODE_OVERRIDE_MASK) + +#define USBNC_CTRL2_OPMODE_OVERRIDEEN_MASK (0x100U) +#define USBNC_CTRL2_OPMODE_OVERRIDEEN_SHIFT (8U) +/*! OPMODE_OVERRIDEEN - utmi_OpMode[1:0] override enable + * 0b0..utmi_OpMode[1:0] override disable. + * 0b1..utmi_OpMode[1:0] override enable. + */ +#define USBNC_CTRL2_OPMODE_OVERRIDEEN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_OPMODE_OVERRIDEEN_SHIFT)) & USBNC_CTRL2_OPMODE_OVERRIDEEN_MASK) + +#define USBNC_CTRL2_SHORT_PKT_EN_MASK (0x800000U) +#define USBNC_CTRL2_SHORT_PKT_EN_SHIFT (23U) +/*! SHORT_PKT_EN - Short Packet Interrupt + * 0b0..Default + */ +#define USBNC_CTRL2_SHORT_PKT_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_SHORT_PKT_EN_SHIFT)) & USBNC_CTRL2_SHORT_PKT_EN_MASK) + +#define USBNC_CTRL2_UTMI_CLK_VLD_MASK (0x80000000U) +#define USBNC_CTRL2_UTMI_CLK_VLD_SHIFT (31U) +/*! UTMI_CLK_VLD - UTMI_CLK_VLD + * 0b0..Default + */ +#define USBNC_CTRL2_UTMI_CLK_VLD(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_UTMI_CLK_VLD_SHIFT)) & USBNC_CTRL2_UTMI_CLK_VLD_MASK) +/*! @} */ + +/*! @name HSIC_DLL_CFG4 - HSIC DLL Configure Register 4 */ +/*! @{ */ + +#define USBNC_HSIC_DLL_CFG4_FS_ISO_B2B_FIXEN_MASK (0x80000000U) +#define USBNC_HSIC_DLL_CFG4_FS_ISO_B2B_FIXEN_SHIFT (31U) +/*! FS_ISO_B2B_FIXEN - FS Isochronous Back to Back Transfer Enable + * 0b0..Disable + * 0b1..Enable + */ +#define USBNC_HSIC_DLL_CFG4_FS_ISO_B2B_FIXEN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_HSIC_DLL_CFG4_FS_ISO_B2B_FIXEN_SHIFT)) & USBNC_HSIC_DLL_CFG4_FS_ISO_B2B_FIXEN_MASK) +/*! @} */ + +/*! @name UTMIPHY_CFG1 - PHY Configure 1 */ +/*! @{ */ + +#define USBNC_UTMIPHY_CFG1_COMPDISTUNE0_MASK (0x70U) +#define USBNC_UTMIPHY_CFG1_COMPDISTUNE0_SHIFT (4U) +/*! COMPDISTUNE0 - Disconnect Threshold Adjustment + * 0b000..-9.71% + * 0b001..-6.85% + * 0b010..-3.36% + * 0b011..0, Design default + * 0b100..+4.04% + * 0b101..+8.22% + * 0b110..+13.18% + * 0b111..+18.39% + */ +#define USBNC_UTMIPHY_CFG1_COMPDISTUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_COMPDISTUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_COMPDISTUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_SQRXTUNE0_MASK (0x380U) +#define USBNC_UTMIPHY_CFG1_SQRXTUNE0_SHIFT (7U) +/*! SQRXTUNE0 - Squelch Threshold Adjustment + * 0b000..+15.19% + * 0b001..+10.04% + * 0b010..+5.14% + * 0b011..0, design default + * 0b100..-5.04% + * 0b101..-10.19% + * 0b110..-15.09% + * 0b111..-20.24% + */ +#define USBNC_UTMIPHY_CFG1_SQRXTUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_SQRXTUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_SQRXTUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_OTGTUNE0_MASK (0x1C00U) +#define USBNC_UTMIPHY_CFG1_OTGTUNE0_SHIFT (10U) +/*! OTGTUNE0 - VBUS Valid Threshold Adjustment + * 0b000..-9% + * 0b001..-6% + * 0b010..-3% + * 0b011..0, Design default + * 0b100..+3% + * 0b101..+6% + * 0b110..+9% + * 0b111..+12% + */ +#define USBNC_UTMIPHY_CFG1_OTGTUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_OTGTUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_OTGTUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_TXHSXVTUNE0_MASK (0x6000U) +#define USBNC_UTMIPHY_CFG1_TXHSXVTUNE0_SHIFT (13U) +/*! TXHSXVTUNE0 - Transmitter High-Speed Crossover Adjustment + * 0b00..Reserved + * 0b01..-17.31 mV + * 0b10..-16.69 mV + * 0b11..0, design default + */ +#define USBNC_UTMIPHY_CFG1_TXHSXVTUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_TXHSXVTUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_TXHSXVTUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_PHY_POR_SW_MASK (0x8000U) +#define USBNC_UTMIPHY_CFG1_PHY_POR_SW_SHIFT (15U) +/*! PHY_POR_SW - PHY software POR + * 0b0..Do not perform the Power-On Reset by software. + * 0b1..Perform the Power-On Reset by software. + */ +#define USBNC_UTMIPHY_CFG1_PHY_POR_SW(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_PHY_POR_SW_SHIFT)) & USBNC_UTMIPHY_CFG1_PHY_POR_SW_MASK) + +#define USBNC_UTMIPHY_CFG1_TXFSLSTUNE0_MASK (0xF0000U) +#define USBNC_UTMIPHY_CFG1_TXFSLSTUNE0_SHIFT (16U) +/*! TXFSLSTUNE0 - FS/LS Source Impedance Adjustment + * 0b0000..+6.27% + * 0b0001..+3.02% + * 0b0011..0, design default + * 0b0111..-3.23% + * 0b1111..-6.25% + */ +#define USBNC_UTMIPHY_CFG1_TXFSLSTUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_TXFSLSTUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_TXFSLSTUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_TXVREFTUNE0_MASK (0xF00000U) +#define USBNC_UTMIPHY_CFG1_TXVREFTUNE0_SHIFT (20U) +/*! TXVREFTUNE0 - HS DC Voltage Level Adjustment + * 0b0000..-5.88% + * 0b0001..-3.92% + * 0b0010..-1.96% + * 0b0011..0, design default + * 0b0100..+1.96% + * 0b0101..+3.92% + * 0b0110..+5.88% + * 0b0111..+7.84% + * 0b1000..+9.80% + * 0b1001..+11.75% + * 0b1010..+13.71% + * 0b1011..+15.67% + * 0b1100..+17.63% + * 0b1101..+19.59% + * 0b1110..+21.55% + * 0b1111..+23.51% + */ +#define USBNC_UTMIPHY_CFG1_TXVREFTUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_TXVREFTUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_TXVREFTUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_TXRISETUNE0_MASK (0x3000000U) +#define USBNC_UTMIPHY_CFG1_TXRISETUNE0_SHIFT (24U) +/*! TXRISETUNE0 - HS Transmitter Rise/Fall Time Adjustment + * 0b00..+3.46% + * 0b01..0, Design default + * 0b10..-1.47% + * 0b11..-3.33% + */ +#define USBNC_UTMIPHY_CFG1_TXRISETUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_TXRISETUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_TXRISETUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_TXRESTUNE0_MASK (0xC000000U) +#define USBNC_UTMIPHY_CFG1_TXRESTUNE0_SHIFT (26U) +/*! TXRESTUNE0 - USB Source Impedance Adjustment + * 0b00..Source impedance is increased by approximately 3.01 ohm + * 0b01..00, design default + * 0b10..Source impedance is decreased by approximately 1.32 ohm + * 0b11..Source impedance is decreased by approximately 3.71 ohm + */ +#define USBNC_UTMIPHY_CFG1_TXRESTUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_TXRESTUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_TXRESTUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_TXPREEMPAMPTUNE0_MASK (0x30000000U) +#define USBNC_UTMIPHY_CFG1_TXPREEMPAMPTUNE0_SHIFT (28U) +/*! TXPREEMPAMPTUNE0 - HS Transmitter Pre-Emphasis Current Control + * 0b00..HS Transmitter pre-emphasis is disabled. + * 0b01..HS Transmitter pre-emphasis circuit sources 1x pre-emphasis current. + * 0b10..HS Transmitter pre-emphasis circuit sources 2x pre-emphasis current. + * 0b11..HS Transmitter pre-emphasis circuit sources 3x pre-emphasis current. + */ +#define USBNC_UTMIPHY_CFG1_TXPREEMPAMPTUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_TXPREEMPAMPTUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_TXPREEMPAMPTUNE0_MASK) + +#define USBNC_UTMIPHY_CFG1_TXPREEMPPULSETUNE0_MASK (0x40000000U) +#define USBNC_UTMIPHY_CFG1_TXPREEMPPULSETUNE0_SHIFT (30U) +/*! TXPREEMPPULSETUNE0 - HS Transmitter Pre-Emphasis Duration Control + * 0b0..Design default. Long pre-emphasis current duration + * 0b1..Short pre-emphasis current duration + */ +#define USBNC_UTMIPHY_CFG1_TXPREEMPPULSETUNE0(x) (((uint32_t)(((uint32_t)(x)) << USBNC_UTMIPHY_CFG1_TXPREEMPPULSETUNE0_SHIFT)) & USBNC_UTMIPHY_CFG1_TXPREEMPPULSETUNE0_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group USBNC_Register_Masks */ + + +/* USBNC - Peripheral instance base addresses */ +/** Peripheral USB__USBNC_OTG1 base address */ +#define USB__USBNC_OTG1_BASE (0x4C100200u) +/** Peripheral USB__USBNC_OTG1 base pointer */ +#define USB__USBNC_OTG1 ((USBNC_Type *)USB__USBNC_OTG1_BASE) +/** Peripheral USB__USBNC_OTG2 base address */ +#define USB__USBNC_OTG2_BASE (0x4C200200u) +/** Peripheral USB__USBNC_OTG2 base pointer */ +#define USB__USBNC_OTG2 ((USBNC_Type *)USB__USBNC_OTG2_BASE) +/** Array initializer of USBNC peripheral base addresses */ +#define USBNC_BASE_ADDRS { USB__USBNC_OTG1_BASE, USB__USBNC_OTG2_BASE } +/** Array initializer of USBNC peripheral base pointers */ +#define USBNC_BASE_PTRS { USB__USBNC_OTG1, USB__USBNC_OTG2 } + +/*! + * @} + */ /* end of group USBNC_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- USDHC Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup USDHC_Peripheral_Access_Layer USDHC Peripheral Access Layer + * @{ + */ + +/** USDHC - Register Layout Typedef */ +typedef struct { + __IO uint32_t DS_ADDR; /**< DMA System Address, offset: 0x0 */ + __IO uint32_t BLK_ATT; /**< Block Attributes, offset: 0x4 */ + __IO uint32_t CMD_ARG; /**< Command Argument, offset: 0x8 */ + __IO uint32_t CMD_XFR_TYP; /**< Command Transfer Type, offset: 0xC */ + __I uint32_t CMD_RSP0; /**< Command Response0, offset: 0x10 */ + __I uint32_t CMD_RSP1; /**< Command Response1, offset: 0x14 */ + __I uint32_t CMD_RSP2; /**< Command Response2, offset: 0x18 */ + __I uint32_t CMD_RSP3; /**< Command Response3, offset: 0x1C */ + __IO uint32_t DATA_BUFF_ACC_PORT; /**< Data Buffer Access Port, offset: 0x20 */ + __I uint32_t PRES_STATE; /**< Present State, offset: 0x24 */ + __IO uint32_t PROT_CTRL; /**< Protocol Control, offset: 0x28 */ + __IO uint32_t SYS_CTRL; /**< System Control, offset: 0x2C */ + __IO uint32_t INT_STATUS; /**< Interrupt Status, offset: 0x30 */ + __IO uint32_t INT_STATUS_EN; /**< Interrupt Status Enable, offset: 0x34 */ + __IO uint32_t INT_SIGNAL_EN; /**< Interrupt Signal Enable, offset: 0x38 */ + __IO uint32_t AUTOCMD12_ERR_STATUS; /**< Auto CMD12 Error Status, offset: 0x3C */ + __IO uint32_t HOST_CTRL_CAP; /**< Host Controller Capabilities, offset: 0x40 */ + __IO uint32_t WTMK_LVL; /**< Watermark Level, offset: 0x44 */ + __IO uint32_t MIX_CTRL; /**< Mixer Control, offset: 0x48 */ + uint8_t RESERVED_0[4]; + __IO uint32_t FORCE_EVENT; /**< Force Event, offset: 0x50 */ + __I uint32_t ADMA_ERR_STATUS; /**< ADMA Error Status, offset: 0x54 */ + __IO uint32_t ADMA_SYS_ADDR; /**< ADMA System Address, offset: 0x58 */ + uint8_t RESERVED_1[4]; + __IO uint32_t DLL_CTRL; /**< DLL (Delay Line) Control, offset: 0x60 */ + __I uint32_t DLL_STATUS; /**< DLL Status, offset: 0x64 */ + __IO uint32_t CLK_TUNE_CTRL_STATUS; /**< CLK Tuning Control and Status, offset: 0x68 */ + uint8_t RESERVED_2[4]; + __IO uint32_t STROBE_DLL_CTRL; /**< Strobe DLL control, offset: 0x70 */ + __I uint32_t STROBE_DLL_STATUS; /**< Strobe DLL status, offset: 0x74 */ + uint8_t RESERVED_3[72]; + __IO uint32_t VEND_SPEC; /**< Vendor Specific Register, offset: 0xC0 */ + __IO uint32_t MMC_BOOT; /**< eMMC Boot, offset: 0xC4 */ + __IO uint32_t VEND_SPEC2; /**< Vendor Specific 2 Register, offset: 0xC8 */ + __IO uint32_t TUNING_CTRL; /**< Tuning Control, offset: 0xCC */ + uint8_t RESERVED_4[48]; + __I uint32_t CQVER; /**< Command Queuing Version, offset: 0x100 */ + __IO uint32_t CQCAP; /**< Command Queuing Capabilities, offset: 0x104 */ + __IO uint32_t CQCFG; /**< Command Queuing Configuration, offset: 0x108 */ + __IO uint32_t CQCTL; /**< Command Queuing Control, offset: 0x10C */ + __IO uint32_t CQIS; /**< Command Queuing Interrupt Status, offset: 0x110 */ + __IO uint32_t CQISTE; /**< Command Queuing Interrupt Status Enable, offset: 0x114 */ + __IO uint32_t CQISGE; /**< Command Queuing Interrupt Signal Enable, offset: 0x118 */ + __IO uint32_t CQIC; /**< Command Queuing Interrupt Coalescing, offset: 0x11C */ + __IO uint32_t CQTDLBA; /**< Command Queuing Task Descriptor List Base Address, offset: 0x120 */ + __IO uint32_t CQTDLBAU; /**< Command Queuing Task Descriptor List Base Address Upper 32 Bits, offset: 0x124 */ + __IO uint32_t CQTDBR; /**< Command Queuing Task Doorbell, offset: 0x128 */ + __IO uint32_t CQTCN; /**< Command Queuing Task Completion Notification, offset: 0x12C */ + __I uint32_t CQDQS; /**< Command Queuing Device Queue Status, offset: 0x130 */ + __I uint32_t CQDPT; /**< Command Queuing Device Pending Tasks, offset: 0x134 */ + __IO uint32_t CQTCLR; /**< Command Queuing Task Clear, offset: 0x138 */ + uint8_t RESERVED_5[4]; + __IO uint32_t CQSSC1; /**< Command Queuing Send Status Configuration 1, offset: 0x140 */ + __IO uint32_t CQSSC2; /**< Command Queuing Send Status Configuration 2, offset: 0x144 */ + __I uint32_t CQCRDCT; /**< Command Queuing Command Response for Direct-Command Task, offset: 0x148 */ + uint8_t RESERVED_6[4]; + __IO uint32_t CQRMEM; /**< Command Queuing Response Mode Error Mask, offset: 0x150 */ + __I uint32_t CQTERRI; /**< Command Queuing Task Error Information, offset: 0x154 */ + __I uint32_t CQCRI; /**< Command Queuing Command Response Index, offset: 0x158 */ + __I uint32_t CQCRA; /**< Command Queuing Command Response Argument, offset: 0x15C */ +} USDHC_Type; + +/* ---------------------------------------------------------------------------- + -- USDHC Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup USDHC_Register_Masks USDHC Register Masks + * @{ + */ + +/*! @name DS_ADDR - DMA System Address */ +/*! @{ */ + +#define USDHC_DS_ADDR_DS_ADDR_MASK (0xFFFFFFFFU) +#define USDHC_DS_ADDR_DS_ADDR_SHIFT (0U) +/*! DS_ADDR - System address */ +#define USDHC_DS_ADDR_DS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DS_ADDR_DS_ADDR_SHIFT)) & USDHC_DS_ADDR_DS_ADDR_MASK) +/*! @} */ + +/*! @name BLK_ATT - Block Attributes */ +/*! @{ */ + +#define USDHC_BLK_ATT_BLKSIZE_MASK (0x1FFFU) +#define USDHC_BLK_ATT_BLKSIZE_SHIFT (0U) +/*! BLKSIZE - Transfer block size + * 0b0000000000000..No data transfer + * 0b0000000000001..1 byte + * 0b0000000000010..2 bytes + * 0b0000000000011..3 bytes + * 0b0000000000100..4 bytes + * 0b0000111111111..511 bytes + * 0b0001000000000..512 bytes + * 0b0100000000000..2048 bytes + * 0b1000000000000..4096 bytes + */ +#define USDHC_BLK_ATT_BLKSIZE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKSIZE_SHIFT)) & USDHC_BLK_ATT_BLKSIZE_MASK) + +#define USDHC_BLK_ATT_BLKCNT_MASK (0xFFFF0000U) +#define USDHC_BLK_ATT_BLKCNT_SHIFT (16U) +/*! BLKCNT - Blocks count for current transfer + * 0b0000000000000000..Stop count + * 0b0000000000000001..1 block + * 0b0000000000000010..2 blocks + * 0b1111111111111111..65535 blocks + */ +#define USDHC_BLK_ATT_BLKCNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKCNT_SHIFT)) & USDHC_BLK_ATT_BLKCNT_MASK) +/*! @} */ + +/*! @name CMD_ARG - Command Argument */ +/*! @{ */ + +#define USDHC_CMD_ARG_CMDARG_MASK (0xFFFFFFFFU) +#define USDHC_CMD_ARG_CMDARG_SHIFT (0U) +/*! CMDARG - Command argument */ +#define USDHC_CMD_ARG_CMDARG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_ARG_CMDARG_SHIFT)) & USDHC_CMD_ARG_CMDARG_MASK) +/*! @} */ + +/*! @name CMD_XFR_TYP - Command Transfer Type */ +/*! @{ */ + +#define USDHC_CMD_XFR_TYP_DMAEN_MASK (0x1U) +#define USDHC_CMD_XFR_TYP_DMAEN_SHIFT (0U) +/*! DMAEN - DMAEN + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_CMD_XFR_TYP_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DMAEN_SHIFT)) & USDHC_CMD_XFR_TYP_DMAEN_MASK) + +#define USDHC_CMD_XFR_TYP_BCEN_MASK (0x2U) +#define USDHC_CMD_XFR_TYP_BCEN_SHIFT (1U) +/*! BCEN - BCEN + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_CMD_XFR_TYP_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_BCEN_SHIFT)) & USDHC_CMD_XFR_TYP_BCEN_MASK) + +#define USDHC_CMD_XFR_TYP_AC12EN_MASK (0x4U) +#define USDHC_CMD_XFR_TYP_AC12EN_SHIFT (2U) +/*! AC12EN - AC12EN + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_CMD_XFR_TYP_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_AC12EN_SHIFT)) & USDHC_CMD_XFR_TYP_AC12EN_MASK) + +#define USDHC_CMD_XFR_TYP_DDR_EN_MASK (0x8U) +#define USDHC_CMD_XFR_TYP_DDR_EN_SHIFT (3U) +/*! DDR_EN - DDR_EN + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_CMD_XFR_TYP_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DDR_EN_SHIFT)) & USDHC_CMD_XFR_TYP_DDR_EN_MASK) + +#define USDHC_CMD_XFR_TYP_DTDSEL_MASK (0x10U) +#define USDHC_CMD_XFR_TYP_DTDSEL_SHIFT (4U) +/*! DTDSEL - DTDSEL + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_CMD_XFR_TYP_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DTDSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DTDSEL_MASK) + +#define USDHC_CMD_XFR_TYP_MSBSEL_MASK (0x20U) +#define USDHC_CMD_XFR_TYP_MSBSEL_SHIFT (5U) +/*! MSBSEL - MSBSEL + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_CMD_XFR_TYP_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_MSBSEL_SHIFT)) & USDHC_CMD_XFR_TYP_MSBSEL_MASK) + +#define USDHC_CMD_XFR_TYP_NIBBLE_POS_MASK (0x40U) +#define USDHC_CMD_XFR_TYP_NIBBLE_POS_SHIFT (6U) +/*! NIBBLE_POS - NIBBLE_POS + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_CMD_XFR_TYP_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_NIBBLE_POS_SHIFT)) & USDHC_CMD_XFR_TYP_NIBBLE_POS_MASK) + +#define USDHC_CMD_XFR_TYP_AC23EN_MASK (0x80U) +#define USDHC_CMD_XFR_TYP_AC23EN_SHIFT (7U) +/*! AC23EN - AC23EN + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_CMD_XFR_TYP_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_AC23EN_SHIFT)) & USDHC_CMD_XFR_TYP_AC23EN_MASK) + +#define USDHC_CMD_XFR_TYP_RSPTYP_MASK (0x30000U) +#define USDHC_CMD_XFR_TYP_RSPTYP_SHIFT (16U) +/*! RSPTYP - Response type select + * 0b00..No response + * 0b01..Response length 136 + * 0b10..Response length 48 + * 0b11..Response length 48, check busy after response + */ +#define USDHC_CMD_XFR_TYP_RSPTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_RSPTYP_SHIFT)) & USDHC_CMD_XFR_TYP_RSPTYP_MASK) + +#define USDHC_CMD_XFR_TYP_CCCEN_MASK (0x80000U) +#define USDHC_CMD_XFR_TYP_CCCEN_SHIFT (19U) +/*! CCCEN - Command CRC check enable + * 0b0..Disables command CRC check + * 0b1..Enables command CRC check + */ +#define USDHC_CMD_XFR_TYP_CCCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CCCEN_SHIFT)) & USDHC_CMD_XFR_TYP_CCCEN_MASK) + +#define USDHC_CMD_XFR_TYP_CICEN_MASK (0x100000U) +#define USDHC_CMD_XFR_TYP_CICEN_SHIFT (20U) +/*! CICEN - Command index check enable + * 0b0..Disable command index check + * 0b1..Enables command index check + */ +#define USDHC_CMD_XFR_TYP_CICEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CICEN_SHIFT)) & USDHC_CMD_XFR_TYP_CICEN_MASK) + +#define USDHC_CMD_XFR_TYP_DPSEL_MASK (0x200000U) +#define USDHC_CMD_XFR_TYP_DPSEL_SHIFT (21U) +/*! DPSEL - Data present select + * 0b0..No data present + * 0b1..Data present + */ +#define USDHC_CMD_XFR_TYP_DPSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DPSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DPSEL_MASK) + +#define USDHC_CMD_XFR_TYP_CMDTYP_MASK (0xC00000U) +#define USDHC_CMD_XFR_TYP_CMDTYP_SHIFT (22U) +/*! CMDTYP - Command type + * 0b00..Normal other commands + * 0b01..Suspend CMD52 for writing bus suspend in CCCR + * 0b10..Resume CMD52 for writing function select in CCCR + * 0b11..Abort CMD12, CMD52 for writing I/O Abort in CCCR + */ +#define USDHC_CMD_XFR_TYP_CMDTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDTYP_SHIFT)) & USDHC_CMD_XFR_TYP_CMDTYP_MASK) + +#define USDHC_CMD_XFR_TYP_CMDINX_MASK (0x3F000000U) +#define USDHC_CMD_XFR_TYP_CMDINX_SHIFT (24U) +/*! CMDINX - Command index */ +#define USDHC_CMD_XFR_TYP_CMDINX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDINX_SHIFT)) & USDHC_CMD_XFR_TYP_CMDINX_MASK) +/*! @} */ + +/*! @name CMD_RSP0 - Command Response0 */ +/*! @{ */ + +#define USDHC_CMD_RSP0_CMDRSP0_MASK (0xFFFFFFFFU) +#define USDHC_CMD_RSP0_CMDRSP0_SHIFT (0U) +/*! CMDRSP0 - Command response 0 */ +#define USDHC_CMD_RSP0_CMDRSP0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP0_CMDRSP0_SHIFT)) & USDHC_CMD_RSP0_CMDRSP0_MASK) +/*! @} */ + +/*! @name CMD_RSP1 - Command Response1 */ +/*! @{ */ + +#define USDHC_CMD_RSP1_CMDRSP1_MASK (0xFFFFFFFFU) +#define USDHC_CMD_RSP1_CMDRSP1_SHIFT (0U) +/*! CMDRSP1 - Command response 1 */ +#define USDHC_CMD_RSP1_CMDRSP1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP1_CMDRSP1_SHIFT)) & USDHC_CMD_RSP1_CMDRSP1_MASK) +/*! @} */ + +/*! @name CMD_RSP2 - Command Response2 */ +/*! @{ */ + +#define USDHC_CMD_RSP2_CMDRSP2_MASK (0xFFFFFFFFU) +#define USDHC_CMD_RSP2_CMDRSP2_SHIFT (0U) +/*! CMDRSP2 - Command response 2 */ +#define USDHC_CMD_RSP2_CMDRSP2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP2_CMDRSP2_SHIFT)) & USDHC_CMD_RSP2_CMDRSP2_MASK) +/*! @} */ + +/*! @name CMD_RSP3 - Command Response3 */ +/*! @{ */ + +#define USDHC_CMD_RSP3_CMDRSP3_MASK (0xFFFFFFFFU) +#define USDHC_CMD_RSP3_CMDRSP3_SHIFT (0U) +/*! CMDRSP3 - Command response 3 */ +#define USDHC_CMD_RSP3_CMDRSP3(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP3_CMDRSP3_SHIFT)) & USDHC_CMD_RSP3_CMDRSP3_MASK) +/*! @} */ + +/*! @name DATA_BUFF_ACC_PORT - Data Buffer Access Port */ +/*! @{ */ + +#define USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK (0xFFFFFFFFU) +#define USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT (0U) +/*! DATCONT - Data content */ +#define USDHC_DATA_BUFF_ACC_PORT_DATCONT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT)) & USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK) +/*! @} */ + +/*! @name PRES_STATE - Present State */ +/*! @{ */ + +#define USDHC_PRES_STATE_CIHB_MASK (0x1U) +#define USDHC_PRES_STATE_CIHB_SHIFT (0U) +/*! CIHB - Command inhibit (CMD) + * 0b0..Can issue command using only CMD line + * 0b1..Cannot issue command + */ +#define USDHC_PRES_STATE_CIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CIHB_SHIFT)) & USDHC_PRES_STATE_CIHB_MASK) + +#define USDHC_PRES_STATE_CDIHB_MASK (0x2U) +#define USDHC_PRES_STATE_CDIHB_SHIFT (1U) +/*! CDIHB - Command Inhibit Data (DATA) + * 0b0..Can issue command that uses the DATA line + * 0b1..Cannot issue command that uses the DATA line + */ +#define USDHC_PRES_STATE_CDIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDIHB_SHIFT)) & USDHC_PRES_STATE_CDIHB_MASK) + +#define USDHC_PRES_STATE_DLA_MASK (0x4U) +#define USDHC_PRES_STATE_DLA_SHIFT (2U) +/*! DLA - Data line active + * 0b0..DATA line inactive + * 0b1..DATA line active + */ +#define USDHC_PRES_STATE_DLA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLA_SHIFT)) & USDHC_PRES_STATE_DLA_MASK) + +#define USDHC_PRES_STATE_SDSTB_MASK (0x8U) +#define USDHC_PRES_STATE_SDSTB_SHIFT (3U) +/*! SDSTB - SD clock stable + * 0b0..Clock is changing frequency and not stable. + * 0b1..Clock is stable. + */ +#define USDHC_PRES_STATE_SDSTB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDSTB_SHIFT)) & USDHC_PRES_STATE_SDSTB_MASK) + +#define USDHC_PRES_STATE_WTA_MASK (0x100U) +#define USDHC_PRES_STATE_WTA_SHIFT (8U) +/*! WTA - Write transfer active + * 0b0..No valid data + * 0b1..Transferring data + */ +#define USDHC_PRES_STATE_WTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WTA_SHIFT)) & USDHC_PRES_STATE_WTA_MASK) + +#define USDHC_PRES_STATE_RTA_MASK (0x200U) +#define USDHC_PRES_STATE_RTA_SHIFT (9U) +/*! RTA - Read transfer active + * 0b0..No valid data + * 0b1..Transferring data + */ +#define USDHC_PRES_STATE_RTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTA_SHIFT)) & USDHC_PRES_STATE_RTA_MASK) + +#define USDHC_PRES_STATE_BWEN_MASK (0x400U) +#define USDHC_PRES_STATE_BWEN_SHIFT (10U) +/*! BWEN - Buffer write enable + * 0b0..Write disable + * 0b1..Write enable + */ +#define USDHC_PRES_STATE_BWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BWEN_SHIFT)) & USDHC_PRES_STATE_BWEN_MASK) + +#define USDHC_PRES_STATE_BREN_MASK (0x800U) +#define USDHC_PRES_STATE_BREN_SHIFT (11U) +/*! BREN - Buffer read enable + * 0b0..Read disable + * 0b1..Read enable + */ +#define USDHC_PRES_STATE_BREN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BREN_SHIFT)) & USDHC_PRES_STATE_BREN_MASK) + +#define USDHC_PRES_STATE_RTR_MASK (0x1000U) +#define USDHC_PRES_STATE_RTR_SHIFT (12U) +/*! RTR - Re-Tuning Request (only for SD3.0 SDR104 mode, and eMMC HS200 mode) + * 0b0..Fixed or well tuned sampling clock + * 0b1..Sampling clock needs re-tuning + */ +#define USDHC_PRES_STATE_RTR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTR_SHIFT)) & USDHC_PRES_STATE_RTR_MASK) + +#define USDHC_PRES_STATE_TSCD_MASK (0x8000U) +#define USDHC_PRES_STATE_TSCD_SHIFT (15U) +/*! TSCD - Tap select change done + * 0b0..Delay cell select change is not finished. + * 0b1..Delay cell select change is finished. + */ +#define USDHC_PRES_STATE_TSCD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_TSCD_SHIFT)) & USDHC_PRES_STATE_TSCD_MASK) + +#define USDHC_PRES_STATE_CINST_MASK (0x10000U) +#define USDHC_PRES_STATE_CINST_SHIFT (16U) +/*! CINST - Card inserted + * 0b0..Power on reset or no card + * 0b1..Card inserted + */ +#define USDHC_PRES_STATE_CINST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CINST_SHIFT)) & USDHC_PRES_STATE_CINST_MASK) + +#define USDHC_PRES_STATE_CDPL_MASK (0x40000U) +#define USDHC_PRES_STATE_CDPL_SHIFT (18U) +/*! CDPL - Card detect pin level + * 0b0..No card present (CD_B = 1) + * 0b1..Card present (CD_B = 0) + */ +#define USDHC_PRES_STATE_CDPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDPL_SHIFT)) & USDHC_PRES_STATE_CDPL_MASK) + +#define USDHC_PRES_STATE_WPSPL_MASK (0x80000U) +#define USDHC_PRES_STATE_WPSPL_SHIFT (19U) +/*! WPSPL - Write protect switch pin level + * 0b0..Write protected (WP = 1) + * 0b1..Write enabled (WP = 0) + */ +#define USDHC_PRES_STATE_WPSPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WPSPL_SHIFT)) & USDHC_PRES_STATE_WPSPL_MASK) + +#define USDHC_PRES_STATE_CLSL_MASK (0x800000U) +#define USDHC_PRES_STATE_CLSL_SHIFT (23U) +/*! CLSL - CMD line signal level */ +#define USDHC_PRES_STATE_CLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CLSL_SHIFT)) & USDHC_PRES_STATE_CLSL_MASK) + +#define USDHC_PRES_STATE_DLSL_MASK (0xFF000000U) +#define USDHC_PRES_STATE_DLSL_SHIFT (24U) +/*! DLSL - DATA[7:0] line signal level + * 0b00000001..Data 0 line signal level + * 0b00000010..Data 1 line signal level + * 0b00000100..Data 2 line signal level + * 0b00001000..Data 3 line signal level + * 0b00010000..Data 4 line signal level + * 0b00100000..Data 5 line signal level + * 0b01000000..Data 6 line signal level + * 0b10000000..Data 7 line signal level + */ +#define USDHC_PRES_STATE_DLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLSL_SHIFT)) & USDHC_PRES_STATE_DLSL_MASK) +/*! @} */ + +/*! @name PROT_CTRL - Protocol Control */ +/*! @{ */ + +#define USDHC_PROT_CTRL_DTW_MASK (0x6U) +#define USDHC_PROT_CTRL_DTW_SHIFT (1U) +/*! DTW - Data transfer width + * 0b00..1-bit mode + * 0b01..4-bit mode + * 0b10..8-bit mode + * 0b11..Reserved + */ +#define USDHC_PROT_CTRL_DTW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DTW_SHIFT)) & USDHC_PROT_CTRL_DTW_MASK) + +#define USDHC_PROT_CTRL_D3CD_MASK (0x8U) +#define USDHC_PROT_CTRL_D3CD_SHIFT (3U) +/*! D3CD - DATA3 as card detection pin + * 0b0..DATA3 does not monitor card insertion + * 0b1..DATA3 as card detection pin + */ +#define USDHC_PROT_CTRL_D3CD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_D3CD_SHIFT)) & USDHC_PROT_CTRL_D3CD_MASK) + +#define USDHC_PROT_CTRL_EMODE_MASK (0x30U) +#define USDHC_PROT_CTRL_EMODE_SHIFT (4U) +/*! EMODE - Endian mode + * 0b00..Big endian mode + * 0b01..Half word big endian mode + * 0b10..Little endian mode + * 0b11..Reserved + */ +#define USDHC_PROT_CTRL_EMODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_EMODE_SHIFT)) & USDHC_PROT_CTRL_EMODE_MASK) + +#define USDHC_PROT_CTRL_DMASEL_MASK (0x300U) +#define USDHC_PROT_CTRL_DMASEL_SHIFT (8U) +/*! DMASEL - DMA select + * 0b00..No DMA or simple DMA is selected. + * 0b01..ADMA1 is selected. + * 0b10..ADMA2 is selected. + * 0b11..Reserved + */ +#define USDHC_PROT_CTRL_DMASEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DMASEL_SHIFT)) & USDHC_PROT_CTRL_DMASEL_MASK) + +#define USDHC_PROT_CTRL_SABGREQ_MASK (0x10000U) +#define USDHC_PROT_CTRL_SABGREQ_SHIFT (16U) +/*! SABGREQ - Stop at block gap request + * 0b0..Transfer + * 0b1..Stop + */ +#define USDHC_PROT_CTRL_SABGREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_SABGREQ_SHIFT)) & USDHC_PROT_CTRL_SABGREQ_MASK) + +#define USDHC_PROT_CTRL_CREQ_MASK (0x20000U) +#define USDHC_PROT_CTRL_CREQ_SHIFT (17U) +/*! CREQ - Continue request + * 0b0..No effect + * 0b1..Restart + */ +#define USDHC_PROT_CTRL_CREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CREQ_SHIFT)) & USDHC_PROT_CTRL_CREQ_MASK) + +#define USDHC_PROT_CTRL_RWCTL_MASK (0x40000U) +#define USDHC_PROT_CTRL_RWCTL_SHIFT (18U) +/*! RWCTL - Read wait control + * 0b0..Disables read wait control and stop SD clock at block gap when SABGREQ field is set + * 0b1..Enables read wait control and assert read wait without stopping SD clock at block gap when SABGREQ field is set + */ +#define USDHC_PROT_CTRL_RWCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RWCTL_SHIFT)) & USDHC_PROT_CTRL_RWCTL_MASK) + +#define USDHC_PROT_CTRL_IABG_MASK (0x80000U) +#define USDHC_PROT_CTRL_IABG_SHIFT (19U) +/*! IABG - Interrupt at block gap + * 0b0..Disables interrupt at block gap + * 0b1..Enables interrupt at block gap + */ +#define USDHC_PROT_CTRL_IABG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_IABG_SHIFT)) & USDHC_PROT_CTRL_IABG_MASK) + +#define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK (0x100000U) +#define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT (20U) +/*! RD_DONE_NO_8CLK - Read performed number 8 clock */ +#define USDHC_PROT_CTRL_RD_DONE_NO_8CLK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT)) & USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK) + +#define USDHC_PROT_CTRL_WECINT_MASK (0x1000000U) +#define USDHC_PROT_CTRL_WECINT_SHIFT (24U) +/*! WECINT - Wakeup event enable on card interrupt + * 0b0..Disables wakeup event enable on card interrupt + * 0b1..Enables wakeup event enable on card interrupt + */ +#define USDHC_PROT_CTRL_WECINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINT_SHIFT)) & USDHC_PROT_CTRL_WECINT_MASK) + +#define USDHC_PROT_CTRL_WECINS_MASK (0x2000000U) +#define USDHC_PROT_CTRL_WECINS_SHIFT (25U) +/*! WECINS - Wakeup event enable on SD card insertion + * 0b0..Disable wakeup event enable on SD card insertion + * 0b1..Enable wakeup event enable on SD card insertion + */ +#define USDHC_PROT_CTRL_WECINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINS_SHIFT)) & USDHC_PROT_CTRL_WECINS_MASK) + +#define USDHC_PROT_CTRL_WECRM_MASK (0x4000000U) +#define USDHC_PROT_CTRL_WECRM_SHIFT (26U) +/*! WECRM - Wakeup event enable on SD card removal + * 0b0..Disables wakeup event enable on SD card removal + * 0b1..Enables wakeup event enable on SD card removal + */ +#define USDHC_PROT_CTRL_WECRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECRM_SHIFT)) & USDHC_PROT_CTRL_WECRM_MASK) + +#define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK (0x40000000U) +#define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT (30U) +/*! NON_EXACT_BLK_RD - Non-exact block read + * 0b0..The block read is exact block read. Host driver does not need to issue abort command to terminate this multi-block read. + * 0b1..The block read is non-exact block read. Host driver needs to issue abort command to terminate this multi-block read. + */ +#define USDHC_PROT_CTRL_NON_EXACT_BLK_RD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT)) & USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK) +/*! @} */ + +/*! @name SYS_CTRL - System Control */ +/*! @{ */ + +#define USDHC_SYS_CTRL_DVS_MASK (0xF0U) +#define USDHC_SYS_CTRL_DVS_SHIFT (4U) +/*! DVS - Divisor + * 0b0000..Divide-by-1 + * 0b0001..Divide-by-2 + * 0b1110..Divide-by-15 + * 0b1111..Divide-by-16 + */ +#define USDHC_SYS_CTRL_DVS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DVS_SHIFT)) & USDHC_SYS_CTRL_DVS_MASK) + +#define USDHC_SYS_CTRL_SDCLKFS_MASK (0xFF00U) +#define USDHC_SYS_CTRL_SDCLKFS_SHIFT (8U) +/*! SDCLKFS - SDCLK frequency select */ +#define USDHC_SYS_CTRL_SDCLKFS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_SDCLKFS_SHIFT)) & USDHC_SYS_CTRL_SDCLKFS_MASK) + +#define USDHC_SYS_CTRL_DTOCV_MASK (0xF0000U) +#define USDHC_SYS_CTRL_DTOCV_SHIFT (16U) +/*! DTOCV - Data timeout counter value + * 0b0000..SDCLK x 2 32 + * 0b0001..SDCLK x 2 33 + * 0b0010..SDCLK x 2 18 + * 0b0011..SDCLK x 2 19 + * 0b1101..SDCLK x 2 29, recommend to use for supported speed modes except HS200, HS400, SDR104 mode + * 0b1110..SDCLK x 2 30, recommend to use for HS200 and SDR104 mode + * 0b1111..SDCLK x 2 31, recommend to use for HS400 mode + */ +#define USDHC_SYS_CTRL_DTOCV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DTOCV_SHIFT)) & USDHC_SYS_CTRL_DTOCV_MASK) + +#define USDHC_SYS_CTRL_RST_FIFO_MASK (0x400000U) +#define USDHC_SYS_CTRL_RST_FIFO_SHIFT (22U) +/*! RST_FIFO - Reset the async FIFO */ +#define USDHC_SYS_CTRL_RST_FIFO(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RST_FIFO_SHIFT)) & USDHC_SYS_CTRL_RST_FIFO_MASK) + +#define USDHC_SYS_CTRL_IPP_RST_N_MASK (0x800000U) +#define USDHC_SYS_CTRL_IPP_RST_N_SHIFT (23U) +/*! IPP_RST_N - Hardware reset */ +#define USDHC_SYS_CTRL_IPP_RST_N(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_IPP_RST_N_SHIFT)) & USDHC_SYS_CTRL_IPP_RST_N_MASK) + +#define USDHC_SYS_CTRL_RSTA_MASK (0x1000000U) +#define USDHC_SYS_CTRL_RSTA_SHIFT (24U) +/*! RSTA - Software reset for all + * 0b0..No reset + * 0b1..Reset + */ +#define USDHC_SYS_CTRL_RSTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTA_SHIFT)) & USDHC_SYS_CTRL_RSTA_MASK) + +#define USDHC_SYS_CTRL_RSTC_MASK (0x2000000U) +#define USDHC_SYS_CTRL_RSTC_SHIFT (25U) +/*! RSTC - Software reset for CMD line + * 0b0..No reset + * 0b1..Reset + */ +#define USDHC_SYS_CTRL_RSTC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTC_SHIFT)) & USDHC_SYS_CTRL_RSTC_MASK) + +#define USDHC_SYS_CTRL_RSTD_MASK (0x4000000U) +#define USDHC_SYS_CTRL_RSTD_SHIFT (26U) +/*! RSTD - Software reset for data line + * 0b0..No reset + * 0b1..Reset + */ +#define USDHC_SYS_CTRL_RSTD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTD_SHIFT)) & USDHC_SYS_CTRL_RSTD_MASK) + +#define USDHC_SYS_CTRL_INITA_MASK (0x8000000U) +#define USDHC_SYS_CTRL_INITA_SHIFT (27U) +/*! INITA - Initialization active */ +#define USDHC_SYS_CTRL_INITA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_INITA_SHIFT)) & USDHC_SYS_CTRL_INITA_MASK) + +#define USDHC_SYS_CTRL_RSTT_MASK (0x10000000U) +#define USDHC_SYS_CTRL_RSTT_SHIFT (28U) +/*! RSTT - Reset tuning */ +#define USDHC_SYS_CTRL_RSTT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTT_SHIFT)) & USDHC_SYS_CTRL_RSTT_MASK) +/*! @} */ + +/*! @name INT_STATUS - Interrupt Status */ +/*! @{ */ + +#define USDHC_INT_STATUS_CC_MASK (0x1U) +#define USDHC_INT_STATUS_CC_SHIFT (0U) +/*! CC - Command complete + * 0b0..Command not complete + * 0b1..Command complete + */ +#define USDHC_INT_STATUS_CC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CC_SHIFT)) & USDHC_INT_STATUS_CC_MASK) + +#define USDHC_INT_STATUS_TC_MASK (0x2U) +#define USDHC_INT_STATUS_TC_SHIFT (1U) +/*! TC - Transfer complete + * 0b0..Transfer does not complete + * 0b1..Transfer complete + */ +#define USDHC_INT_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TC_SHIFT)) & USDHC_INT_STATUS_TC_MASK) + +#define USDHC_INT_STATUS_BGE_MASK (0x4U) +#define USDHC_INT_STATUS_BGE_SHIFT (2U) +/*! BGE - Block gap event + * 0b0..No block gap event + * 0b1..Transaction stopped at block gap + */ +#define USDHC_INT_STATUS_BGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BGE_SHIFT)) & USDHC_INT_STATUS_BGE_MASK) + +#define USDHC_INT_STATUS_DINT_MASK (0x8U) +#define USDHC_INT_STATUS_DINT_SHIFT (3U) +/*! DINT - DMA interrupt + * 0b0..No DMA interrupt + * 0b1..DMA interrupt is generated. + */ +#define USDHC_INT_STATUS_DINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DINT_SHIFT)) & USDHC_INT_STATUS_DINT_MASK) + +#define USDHC_INT_STATUS_BWR_MASK (0x10U) +#define USDHC_INT_STATUS_BWR_SHIFT (4U) +/*! BWR - Buffer write ready + * 0b0..Not ready to write buffer + * 0b1..Ready to write buffer + */ +#define USDHC_INT_STATUS_BWR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BWR_SHIFT)) & USDHC_INT_STATUS_BWR_MASK) + +#define USDHC_INT_STATUS_BRR_MASK (0x20U) +#define USDHC_INT_STATUS_BRR_SHIFT (5U) +/*! BRR - Buffer read ready + * 0b0..Not ready to read buffer + * 0b1..Ready to read buffer + */ +#define USDHC_INT_STATUS_BRR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BRR_SHIFT)) & USDHC_INT_STATUS_BRR_MASK) + +#define USDHC_INT_STATUS_CINS_MASK (0x40U) +#define USDHC_INT_STATUS_CINS_SHIFT (6U) +/*! CINS - Card insertion + * 0b0..Card state unstable or removed + * 0b1..Card inserted + */ +#define USDHC_INT_STATUS_CINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINS_SHIFT)) & USDHC_INT_STATUS_CINS_MASK) + +#define USDHC_INT_STATUS_CRM_MASK (0x80U) +#define USDHC_INT_STATUS_CRM_SHIFT (7U) +/*! CRM - Card removal + * 0b0..Card state unstable or inserted + * 0b1..Card removed + */ +#define USDHC_INT_STATUS_CRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CRM_SHIFT)) & USDHC_INT_STATUS_CRM_MASK) + +#define USDHC_INT_STATUS_CINT_MASK (0x100U) +#define USDHC_INT_STATUS_CINT_SHIFT (8U) +/*! CINT - Card interrupt + * 0b0..No card interrupt + * 0b1..Generate card interrupt + */ +#define USDHC_INT_STATUS_CINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINT_SHIFT)) & USDHC_INT_STATUS_CINT_MASK) + +#define USDHC_INT_STATUS_RTE_MASK (0x1000U) +#define USDHC_INT_STATUS_RTE_SHIFT (12U) +/*! RTE - Re-tuning event: (only for SD3.0 SDR104 mode and eMMC HS200 mode) + * 0b0..Re-tuning is not required. + * 0b1..Re-tuning should be performed. + */ +#define USDHC_INT_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_RTE_SHIFT)) & USDHC_INT_STATUS_RTE_MASK) + +#define USDHC_INT_STATUS_TP_MASK (0x2000U) +#define USDHC_INT_STATUS_TP_SHIFT (13U) +/*! TP - Tuning pass:(only for SD3.0 SDR104 mode and eMMC HS200 mode) */ +#define USDHC_INT_STATUS_TP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TP_SHIFT)) & USDHC_INT_STATUS_TP_MASK) + +#define USDHC_INT_STATUS_CQI_MASK (0x4000U) +#define USDHC_INT_STATUS_CQI_SHIFT (14U) +/*! CQI - Command queuing interrupt */ +#define USDHC_INT_STATUS_CQI(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CQI_SHIFT)) & USDHC_INT_STATUS_CQI_MASK) + +#define USDHC_INT_STATUS_ERR_INT_STATUS_MASK (0x8000U) +#define USDHC_INT_STATUS_ERR_INT_STATUS_SHIFT (15U) +/*! ERR_INT_STATUS - Error Interrupt Status */ +#define USDHC_INT_STATUS_ERR_INT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_ERR_INT_STATUS_SHIFT)) & USDHC_INT_STATUS_ERR_INT_STATUS_MASK) + +#define USDHC_INT_STATUS_CTOE_MASK (0x10000U) +#define USDHC_INT_STATUS_CTOE_SHIFT (16U) +/*! CTOE - Command timeout error + * 0b0..No error + * 0b1..Time out + */ +#define USDHC_INT_STATUS_CTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CTOE_SHIFT)) & USDHC_INT_STATUS_CTOE_MASK) + +#define USDHC_INT_STATUS_CCE_MASK (0x20000U) +#define USDHC_INT_STATUS_CCE_SHIFT (17U) +/*! CCE - Command CRC error + * 0b0..No error + * 0b1..CRC error generated + */ +#define USDHC_INT_STATUS_CCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CCE_SHIFT)) & USDHC_INT_STATUS_CCE_MASK) + +#define USDHC_INT_STATUS_CEBE_MASK (0x40000U) +#define USDHC_INT_STATUS_CEBE_SHIFT (18U) +/*! CEBE - Command end bit error + * 0b0..No error + * 0b1..End bit error generated + */ +#define USDHC_INT_STATUS_CEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CEBE_SHIFT)) & USDHC_INT_STATUS_CEBE_MASK) + +#define USDHC_INT_STATUS_CIE_MASK (0x80000U) +#define USDHC_INT_STATUS_CIE_SHIFT (19U) +/*! CIE - Command index error + * 0b0..No error + * 0b1..Error + */ +#define USDHC_INT_STATUS_CIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CIE_SHIFT)) & USDHC_INT_STATUS_CIE_MASK) + +#define USDHC_INT_STATUS_DTOE_MASK (0x100000U) +#define USDHC_INT_STATUS_DTOE_SHIFT (20U) +/*! DTOE - Data timeout error + * 0b0..No error + * 0b1..Time out + */ +#define USDHC_INT_STATUS_DTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DTOE_SHIFT)) & USDHC_INT_STATUS_DTOE_MASK) + +#define USDHC_INT_STATUS_DCE_MASK (0x200000U) +#define USDHC_INT_STATUS_DCE_SHIFT (21U) +/*! DCE - Data CRC error + * 0b0..No error + * 0b1..Error + */ +#define USDHC_INT_STATUS_DCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DCE_SHIFT)) & USDHC_INT_STATUS_DCE_MASK) + +#define USDHC_INT_STATUS_DEBE_MASK (0x400000U) +#define USDHC_INT_STATUS_DEBE_SHIFT (22U) +/*! DEBE - Data end bit error + * 0b0..No error + * 0b1..Error + */ +#define USDHC_INT_STATUS_DEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DEBE_SHIFT)) & USDHC_INT_STATUS_DEBE_MASK) + +#define USDHC_INT_STATUS_AC12E_MASK (0x1000000U) +#define USDHC_INT_STATUS_AC12E_SHIFT (24U) +/*! AC12E - Auto CMD12 error + * 0b0..No error + * 0b1..Error + */ +#define USDHC_INT_STATUS_AC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_AC12E_SHIFT)) & USDHC_INT_STATUS_AC12E_MASK) + +#define USDHC_INT_STATUS_TNE_MASK (0x4000000U) +#define USDHC_INT_STATUS_TNE_SHIFT (26U) +/*! TNE - Tuning error: (only for SD3.0 SDR104 mode and eMMC HS200 mode) */ +#define USDHC_INT_STATUS_TNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TNE_SHIFT)) & USDHC_INT_STATUS_TNE_MASK) + +#define USDHC_INT_STATUS_DMAE_MASK (0x10000000U) +#define USDHC_INT_STATUS_DMAE_SHIFT (28U) +/*! DMAE - DMA error + * 0b0..No error + * 0b1..Error + */ +#define USDHC_INT_STATUS_DMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DMAE_SHIFT)) & USDHC_INT_STATUS_DMAE_MASK) +/*! @} */ + +/*! @name INT_STATUS_EN - Interrupt Status Enable */ +/*! @{ */ + +#define USDHC_INT_STATUS_EN_CCSEN_MASK (0x1U) +#define USDHC_INT_STATUS_EN_CCSEN_SHIFT (0U) +/*! CCSEN - Command complete status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCSEN_SHIFT)) & USDHC_INT_STATUS_EN_CCSEN_MASK) + +#define USDHC_INT_STATUS_EN_TCSEN_MASK (0x2U) +#define USDHC_INT_STATUS_EN_TCSEN_SHIFT (1U) +/*! TCSEN - Transfer complete status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_TCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TCSEN_SHIFT)) & USDHC_INT_STATUS_EN_TCSEN_MASK) + +#define USDHC_INT_STATUS_EN_BGESEN_MASK (0x4U) +#define USDHC_INT_STATUS_EN_BGESEN_SHIFT (2U) +/*! BGESEN - Block gap event status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_BGESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BGESEN_SHIFT)) & USDHC_INT_STATUS_EN_BGESEN_MASK) + +#define USDHC_INT_STATUS_EN_DINTSEN_MASK (0x8U) +#define USDHC_INT_STATUS_EN_DINTSEN_SHIFT (3U) +/*! DINTSEN - DMA interrupt status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_DINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_DINTSEN_MASK) + +#define USDHC_INT_STATUS_EN_BWRSEN_MASK (0x10U) +#define USDHC_INT_STATUS_EN_BWRSEN_SHIFT (4U) +/*! BWRSEN - Buffer write ready status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_BWRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BWRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BWRSEN_MASK) + +#define USDHC_INT_STATUS_EN_BRRSEN_MASK (0x20U) +#define USDHC_INT_STATUS_EN_BRRSEN_SHIFT (5U) +/*! BRRSEN - Buffer read ready status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_BRRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BRRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BRRSEN_MASK) + +#define USDHC_INT_STATUS_EN_CINSSEN_MASK (0x40U) +#define USDHC_INT_STATUS_EN_CINSSEN_SHIFT (6U) +/*! CINSSEN - Card insertion status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CINSSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINSSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINSSEN_MASK) + +#define USDHC_INT_STATUS_EN_CRMSEN_MASK (0x80U) +#define USDHC_INT_STATUS_EN_CRMSEN_SHIFT (7U) +/*! CRMSEN - Card removal status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CRMSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CRMSEN_SHIFT)) & USDHC_INT_STATUS_EN_CRMSEN_MASK) + +#define USDHC_INT_STATUS_EN_CINTSEN_MASK (0x100U) +#define USDHC_INT_STATUS_EN_CINTSEN_SHIFT (8U) +/*! CINTSEN - Card interrupt status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINTSEN_MASK) + +#define USDHC_INT_STATUS_EN_RTESEN_MASK (0x1000U) +#define USDHC_INT_STATUS_EN_RTESEN_SHIFT (12U) +/*! RTESEN - Re-tuning event status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_RTESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_RTESEN_SHIFT)) & USDHC_INT_STATUS_EN_RTESEN_MASK) + +#define USDHC_INT_STATUS_EN_TPSEN_MASK (0x2000U) +#define USDHC_INT_STATUS_EN_TPSEN_SHIFT (13U) +/*! TPSEN - Tuning pass status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_TPSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TPSEN_SHIFT)) & USDHC_INT_STATUS_EN_TPSEN_MASK) + +#define USDHC_INT_STATUS_EN_CQISEN_MASK (0x4000U) +#define USDHC_INT_STATUS_EN_CQISEN_SHIFT (14U) +/*! CQISEN - Command queuing status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CQISEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CQISEN_SHIFT)) & USDHC_INT_STATUS_EN_CQISEN_MASK) + +#define USDHC_INT_STATUS_EN_CTOESEN_MASK (0x10000U) +#define USDHC_INT_STATUS_EN_CTOESEN_SHIFT (16U) +/*! CTOESEN - Command timeout error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_CTOESEN_MASK) + +#define USDHC_INT_STATUS_EN_CCESEN_MASK (0x20000U) +#define USDHC_INT_STATUS_EN_CCESEN_SHIFT (17U) +/*! CCESEN - Command CRC error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCESEN_SHIFT)) & USDHC_INT_STATUS_EN_CCESEN_MASK) + +#define USDHC_INT_STATUS_EN_CEBESEN_MASK (0x40000U) +#define USDHC_INT_STATUS_EN_CEBESEN_SHIFT (18U) +/*! CEBESEN - Command end bit error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_CEBESEN_MASK) + +#define USDHC_INT_STATUS_EN_CIESEN_MASK (0x80000U) +#define USDHC_INT_STATUS_EN_CIESEN_SHIFT (19U) +/*! CIESEN - Command index error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_CIESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CIESEN_SHIFT)) & USDHC_INT_STATUS_EN_CIESEN_MASK) + +#define USDHC_INT_STATUS_EN_DTOESEN_MASK (0x100000U) +#define USDHC_INT_STATUS_EN_DTOESEN_SHIFT (20U) +/*! DTOESEN - Data timeout error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_DTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_DTOESEN_MASK) + +#define USDHC_INT_STATUS_EN_DCESEN_MASK (0x200000U) +#define USDHC_INT_STATUS_EN_DCESEN_SHIFT (21U) +/*! DCESEN - Data CRC error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_DCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DCESEN_SHIFT)) & USDHC_INT_STATUS_EN_DCESEN_MASK) + +#define USDHC_INT_STATUS_EN_DEBESEN_MASK (0x400000U) +#define USDHC_INT_STATUS_EN_DEBESEN_SHIFT (22U) +/*! DEBESEN - Data end bit error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_DEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_DEBESEN_MASK) + +#define USDHC_INT_STATUS_EN_AC12ESEN_MASK (0x1000000U) +#define USDHC_INT_STATUS_EN_AC12ESEN_SHIFT (24U) +/*! AC12ESEN - Auto CMD12 error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_AC12ESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_AC12ESEN_SHIFT)) & USDHC_INT_STATUS_EN_AC12ESEN_MASK) + +#define USDHC_INT_STATUS_EN_TNESEN_MASK (0x4000000U) +#define USDHC_INT_STATUS_EN_TNESEN_SHIFT (26U) +/*! TNESEN - Tuning error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_TNESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TNESEN_SHIFT)) & USDHC_INT_STATUS_EN_TNESEN_MASK) + +#define USDHC_INT_STATUS_EN_DMAESEN_MASK (0x10000000U) +#define USDHC_INT_STATUS_EN_DMAESEN_SHIFT (28U) +/*! DMAESEN - DMA error status enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_STATUS_EN_DMAESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DMAESEN_SHIFT)) & USDHC_INT_STATUS_EN_DMAESEN_MASK) +/*! @} */ + +/*! @name INT_SIGNAL_EN - Interrupt Signal Enable */ +/*! @{ */ + +#define USDHC_INT_SIGNAL_EN_CCIEN_MASK (0x1U) +#define USDHC_INT_SIGNAL_EN_CCIEN_SHIFT (0U) +/*! CCIEN - Command complete interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_TCIEN_MASK (0x2U) +#define USDHC_INT_SIGNAL_EN_TCIEN_SHIFT (1U) +/*! TCIEN - Transfer complete interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_TCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TCIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_BGEIEN_MASK (0x4U) +#define USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT (2U) +/*! BGEIEN - Block gap event interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_BGEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BGEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_DINTIEN_MASK (0x8U) +#define USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT (3U) +/*! DINTIEN - DMA interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_DINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DINTIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_BWRIEN_MASK (0x10U) +#define USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT (4U) +/*! BWRIEN - Buffer write ready interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_BWRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BWRIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_BRRIEN_MASK (0x20U) +#define USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT (5U) +/*! BRRIEN - Buffer read ready interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_BRRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BRRIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_CINSIEN_MASK (0x40U) +#define USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT (6U) +/*! CINSIEN - Card insertion interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CINSIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINSIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_CRMIEN_MASK (0x80U) +#define USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT (7U) +/*! CRMIEN - Card removal interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CRMIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CRMIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_CINTIEN_MASK (0x100U) +#define USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT (8U) +/*! CINTIEN - Card interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINTIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_RTEIEN_MASK (0x1000U) +#define USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT (12U) +/*! RTEIEN - Re-tuning event interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_RTEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_RTEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_TPIEN_MASK (0x2000U) +#define USDHC_INT_SIGNAL_EN_TPIEN_SHIFT (13U) +/*! TPIEN - Tuning pass interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_TPIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TPIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TPIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_CQIIEN_MASK (0x4000U) +#define USDHC_INT_SIGNAL_EN_CQIIEN_SHIFT (14U) +/*! CQIIEN - Command queuing signal enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CQIIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CQIIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CQIIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_CTOEIEN_MASK (0x10000U) +#define USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT (16U) +/*! CTOEIEN - Command timeout error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CTOEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_CCEIEN_MASK (0x20000U) +#define USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT (17U) +/*! CCEIEN - Command CRC error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_CEBEIEN_MASK (0x40000U) +#define USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT (18U) +/*! CEBEIEN - Command end bit error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CEBEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_CIEIEN_MASK (0x80000U) +#define USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT (19U) +/*! CIEIEN - Command index error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_CIEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CIEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_DTOEIEN_MASK (0x100000U) +#define USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT (20U) +/*! DTOEIEN - Data timeout error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_DTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DTOEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_DCEIEN_MASK (0x200000U) +#define USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT (21U) +/*! DCEIEN - Data CRC error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_DCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DCEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_DEBEIEN_MASK (0x400000U) +#define USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT (22U) +/*! DEBEIEN - Data end bit error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_DEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DEBEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_AC12EIEN_MASK (0x1000000U) +#define USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT (24U) +/*! AC12EIEN - Auto CMD12 error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_AC12EIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_AC12EIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_TNEIEN_MASK (0x4000000U) +#define USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT (26U) +/*! TNEIEN - Tuning error interrupt enable + * 0b0..Masked + * 0b1..Enabled + */ +#define USDHC_INT_SIGNAL_EN_TNEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TNEIEN_MASK) + +#define USDHC_INT_SIGNAL_EN_DMAEIEN_MASK (0x10000000U) +#define USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT (28U) +/*! DMAEIEN - DMA error interrupt enable + * 0b0..Masked + * 0b1..Enable + */ +#define USDHC_INT_SIGNAL_EN_DMAEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DMAEIEN_MASK) +/*! @} */ + +/*! @name AUTOCMD12_ERR_STATUS - Auto CMD12 Error Status */ +/*! @{ */ + +#define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK (0x1U) +#define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT (0U) +/*! AC12NE - Auto CMD12 not executed + * 0b0..Executed + * 0b1..Not executed + */ +#define USDHC_AUTOCMD12_ERR_STATUS_AC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK) + +#define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK (0x2U) +#define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT (1U) +/*! AC12TOE - Auto CMD12 / 23 timeout error + * 0b0..No error + * 0b1..Time out + */ +#define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK) + +#define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK (0x4U) +#define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT (2U) +/*! AC12CE - Auto CMD12 / 23 CRC error + * 0b0..No CRC error + * 0b1..CRC error met in Auto CMD12/23 response + */ +#define USDHC_AUTOCMD12_ERR_STATUS_AC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK) + +#define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK (0x8U) +#define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT (3U) +/*! AC12EBE - Auto CMD12 / 23 end bit error + * 0b0..No error + * 0b1..End bit error generated + */ +#define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK) + +#define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK (0x10U) +#define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT (4U) +/*! AC12IE - Auto CMD12 / 23 index error + * 0b0..No error + * 0b1..Error, the CMD index in response is not CMD12/23 + */ +#define USDHC_AUTOCMD12_ERR_STATUS_AC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK) + +#define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK (0x80U) +#define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT (7U) +/*! CNIBAC12E - Command not issued by Auto CMD12 error + * 0b0..No error + * 0b1..Not issued + */ +#define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK) + +#define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK (0x400000U) +#define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT (22U) +/*! EXECUTE_TUNING - Execute tuning + * 0b0..Tuning procedure is aborted + * 0b1..Start tuning procedure + */ +#define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK) + +#define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK (0x800000U) +#define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT (23U) +/*! SMP_CLK_SEL - Sample clock select + * 0b0..Fixed clock is used to sample data + * 0b1..Tuned clock is used to sample data + */ +#define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK) +/*! @} */ + +/*! @name HOST_CTRL_CAP - Host Controller Capabilities */ +/*! @{ */ + +#define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK (0x1U) +#define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT (0U) +/*! SDR50_SUPPORT - SDR50 support */ +#define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK) + +#define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK (0x2U) +#define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT (1U) +/*! SDR104_SUPPORT - SDR104 support */ +#define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK) + +#define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK (0x4U) +#define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT (2U) +/*! DDR50_SUPPORT - DDR50 support */ +#define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK) + +#define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK (0x2000U) +#define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT (13U) +/*! USE_TUNING_SDR50 - Use Tuning for SDR50 + * 0b0..SDR50 does not support tuning + * 0b1..SDR50 supports tuning + */ +#define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT)) & USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK) + +#define USDHC_HOST_CTRL_CAP_MBL_MASK (0x70000U) +#define USDHC_HOST_CTRL_CAP_MBL_SHIFT (16U) +/*! MBL - Max block length + * 0b000..512 bytes + * 0b001..1024 bytes + * 0b010..2048 bytes + * 0b011..4096 bytes + */ +#define USDHC_HOST_CTRL_CAP_MBL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_MBL_SHIFT)) & USDHC_HOST_CTRL_CAP_MBL_MASK) + +#define USDHC_HOST_CTRL_CAP_ADMAS_MASK (0x100000U) +#define USDHC_HOST_CTRL_CAP_ADMAS_SHIFT (20U) +/*! ADMAS - ADMA support + * 0b0..Advanced DMA not supported + * 0b1..Advanced DMA supported + */ +#define USDHC_HOST_CTRL_CAP_ADMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_ADMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_ADMAS_MASK) + +#define USDHC_HOST_CTRL_CAP_HSS_MASK (0x200000U) +#define USDHC_HOST_CTRL_CAP_HSS_SHIFT (21U) +/*! HSS - High speed support + * 0b0..High speed not supported + * 0b1..High speed supported + */ +#define USDHC_HOST_CTRL_CAP_HSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_HSS_SHIFT)) & USDHC_HOST_CTRL_CAP_HSS_MASK) + +#define USDHC_HOST_CTRL_CAP_DMAS_MASK (0x400000U) +#define USDHC_HOST_CTRL_CAP_DMAS_SHIFT (22U) +/*! DMAS - DMA support + * 0b0..DMA not supported + * 0b1..DMA supported + */ +#define USDHC_HOST_CTRL_CAP_DMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_DMAS_MASK) + +#define USDHC_HOST_CTRL_CAP_SRS_MASK (0x800000U) +#define USDHC_HOST_CTRL_CAP_SRS_SHIFT (23U) +/*! SRS - Suspend / resume support + * 0b0..Not supported + * 0b1..Supported + */ +#define USDHC_HOST_CTRL_CAP_SRS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SRS_SHIFT)) & USDHC_HOST_CTRL_CAP_SRS_MASK) + +#define USDHC_HOST_CTRL_CAP_VS33_MASK (0x1000000U) +#define USDHC_HOST_CTRL_CAP_VS33_SHIFT (24U) +/*! VS33 - Voltage support 3.3 V + * 0b0..3.3 V not supported + * 0b1..3.3 V supported + */ +#define USDHC_HOST_CTRL_CAP_VS33(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS33_SHIFT)) & USDHC_HOST_CTRL_CAP_VS33_MASK) + +#define USDHC_HOST_CTRL_CAP_VS30_MASK (0x2000000U) +#define USDHC_HOST_CTRL_CAP_VS30_SHIFT (25U) +/*! VS30 - Voltage support 3.0 V + * 0b0..3.0 V not supported + * 0b1..3.0 V supported + */ +#define USDHC_HOST_CTRL_CAP_VS30(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS30_SHIFT)) & USDHC_HOST_CTRL_CAP_VS30_MASK) + +#define USDHC_HOST_CTRL_CAP_VS18_MASK (0x4000000U) +#define USDHC_HOST_CTRL_CAP_VS18_SHIFT (26U) +/*! VS18 - Voltage support 1.8 V + * 0b0..1.8 V not supported + * 0b1..1.8 V supported + */ +#define USDHC_HOST_CTRL_CAP_VS18(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS18_SHIFT)) & USDHC_HOST_CTRL_CAP_VS18_MASK) +/*! @} */ + +/*! @name WTMK_LVL - Watermark Level */ +/*! @{ */ + +#define USDHC_WTMK_LVL_RD_WML_MASK (0xFFU) +#define USDHC_WTMK_LVL_RD_WML_SHIFT (0U) +/*! RD_WML - Read watermark level */ +#define USDHC_WTMK_LVL_RD_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_WML_SHIFT)) & USDHC_WTMK_LVL_RD_WML_MASK) + +#define USDHC_WTMK_LVL_WR_WML_MASK (0xFF0000U) +#define USDHC_WTMK_LVL_WR_WML_SHIFT (16U) +/*! WR_WML - Write watermark level */ +#define USDHC_WTMK_LVL_WR_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_WML_SHIFT)) & USDHC_WTMK_LVL_WR_WML_MASK) +/*! @} */ + +/*! @name MIX_CTRL - Mixer Control */ +/*! @{ */ + +#define USDHC_MIX_CTRL_DMAEN_MASK (0x1U) +#define USDHC_MIX_CTRL_DMAEN_SHIFT (0U) +/*! DMAEN - DMA enable + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_MIX_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DMAEN_SHIFT)) & USDHC_MIX_CTRL_DMAEN_MASK) + +#define USDHC_MIX_CTRL_BCEN_MASK (0x2U) +#define USDHC_MIX_CTRL_BCEN_SHIFT (1U) +/*! BCEN - Block count enable + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_MIX_CTRL_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_BCEN_SHIFT)) & USDHC_MIX_CTRL_BCEN_MASK) + +#define USDHC_MIX_CTRL_AC12EN_MASK (0x4U) +#define USDHC_MIX_CTRL_AC12EN_SHIFT (2U) +/*! AC12EN - Auto CMD12 enable + * 0b0..Disable + * 0b1..Enable + */ +#define USDHC_MIX_CTRL_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC12EN_SHIFT)) & USDHC_MIX_CTRL_AC12EN_MASK) + +#define USDHC_MIX_CTRL_DDR_EN_MASK (0x8U) +#define USDHC_MIX_CTRL_DDR_EN_SHIFT (3U) +/*! DDR_EN - Dual data rate mode selection */ +#define USDHC_MIX_CTRL_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DDR_EN_SHIFT)) & USDHC_MIX_CTRL_DDR_EN_MASK) + +#define USDHC_MIX_CTRL_DTDSEL_MASK (0x10U) +#define USDHC_MIX_CTRL_DTDSEL_SHIFT (4U) +/*! DTDSEL - Data transfer direction select + * 0b0..Write (Host to card) + * 0b1..Read (Card to host) + */ +#define USDHC_MIX_CTRL_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DTDSEL_SHIFT)) & USDHC_MIX_CTRL_DTDSEL_MASK) + +#define USDHC_MIX_CTRL_MSBSEL_MASK (0x20U) +#define USDHC_MIX_CTRL_MSBSEL_SHIFT (5U) +/*! MSBSEL - Multi / Single block select + * 0b0..Single block + * 0b1..Multiple blocks + */ +#define USDHC_MIX_CTRL_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_MSBSEL_SHIFT)) & USDHC_MIX_CTRL_MSBSEL_MASK) + +#define USDHC_MIX_CTRL_NIBBLE_POS_MASK (0x40U) +#define USDHC_MIX_CTRL_NIBBLE_POS_SHIFT (6U) +/*! NIBBLE_POS - Nibble position indication */ +#define USDHC_MIX_CTRL_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_NIBBLE_POS_SHIFT)) & USDHC_MIX_CTRL_NIBBLE_POS_MASK) + +#define USDHC_MIX_CTRL_AC23EN_MASK (0x80U) +#define USDHC_MIX_CTRL_AC23EN_SHIFT (7U) +/*! AC23EN - Auto CMD23 enable */ +#define USDHC_MIX_CTRL_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC23EN_SHIFT)) & USDHC_MIX_CTRL_AC23EN_MASK) + +#define USDHC_MIX_CTRL_EXE_TUNE_MASK (0x400000U) +#define USDHC_MIX_CTRL_EXE_TUNE_SHIFT (22U) +/*! EXE_TUNE - Execute tuning: (Only used for SD3.0, SDR104 mode and eMMC HS200 mode) + * 0b0..Not tuned or tuning completed + * 0b1..Execute tuning + */ +#define USDHC_MIX_CTRL_EXE_TUNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_EXE_TUNE_SHIFT)) & USDHC_MIX_CTRL_EXE_TUNE_MASK) + +#define USDHC_MIX_CTRL_SMP_CLK_SEL_MASK (0x800000U) +#define USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT (23U) +/*! SMP_CLK_SEL - Clock selection + * 0b0..Fixed clock is used to sample data / cmd + * 0b1..Tuned clock is used to sample data / cmd + */ +#define USDHC_MIX_CTRL_SMP_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT)) & USDHC_MIX_CTRL_SMP_CLK_SEL_MASK) + +#define USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK (0x1000000U) +#define USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT (24U) +/*! AUTO_TUNE_EN - Auto tuning enable (Only used for SD3.0, SDR104 mode and eMMC HS200 mode) + * 0b0..Disable auto tuning + * 0b1..Enable auto tuning + */ +#define USDHC_MIX_CTRL_AUTO_TUNE_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT)) & USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK) + +#define USDHC_MIX_CTRL_FBCLK_SEL_MASK (0x2000000U) +#define USDHC_MIX_CTRL_FBCLK_SEL_SHIFT (25U) +/*! FBCLK_SEL - Feedback clock source selection (Only used for SD3.0, SDR104 mode and eMMC HS200 mode) + * 0b0..Feedback clock comes from the loopback CLK + * 0b1..Feedback clock comes from the ipp_card_clk_out + */ +#define USDHC_MIX_CTRL_FBCLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_FBCLK_SEL_SHIFT)) & USDHC_MIX_CTRL_FBCLK_SEL_MASK) + +#define USDHC_MIX_CTRL_HS400_MODE_MASK (0x4000000U) +#define USDHC_MIX_CTRL_HS400_MODE_SHIFT (26U) +/*! HS400_MODE - Enable HS400 mode */ +#define USDHC_MIX_CTRL_HS400_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_HS400_MODE_SHIFT)) & USDHC_MIX_CTRL_HS400_MODE_MASK) + +#define USDHC_MIX_CTRL_EN_HS400_MODE_MASK (0x8000000U) +#define USDHC_MIX_CTRL_EN_HS400_MODE_SHIFT (27U) +/*! EN_HS400_MODE - Enable enhance HS400 mode */ +#define USDHC_MIX_CTRL_EN_HS400_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_EN_HS400_MODE_SHIFT)) & USDHC_MIX_CTRL_EN_HS400_MODE_MASK) +/*! @} */ + +/*! @name FORCE_EVENT - Force Event */ +/*! @{ */ + +#define USDHC_FORCE_EVENT_FEVTAC12NE_MASK (0x1U) +#define USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT (0U) +/*! FEVTAC12NE - Force event auto command 12 not executed */ +#define USDHC_FORCE_EVENT_FEVTAC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12NE_MASK) + +#define USDHC_FORCE_EVENT_FEVTAC12TOE_MASK (0x2U) +#define USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT (1U) +/*! FEVTAC12TOE - Force event auto command 12 time out error */ +#define USDHC_FORCE_EVENT_FEVTAC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12TOE_MASK) + +#define USDHC_FORCE_EVENT_FEVTAC12CE_MASK (0x4U) +#define USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT (2U) +/*! FEVTAC12CE - Force event auto command 12 CRC error */ +#define USDHC_FORCE_EVENT_FEVTAC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12CE_MASK) + +#define USDHC_FORCE_EVENT_FEVTAC12EBE_MASK (0x8U) +#define USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT (3U) +/*! FEVTAC12EBE - Force event Auto Command 12 end bit error */ +#define USDHC_FORCE_EVENT_FEVTAC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12EBE_MASK) + +#define USDHC_FORCE_EVENT_FEVTAC12IE_MASK (0x10U) +#define USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT (4U) +/*! FEVTAC12IE - Force event Auto Command 12 index error */ +#define USDHC_FORCE_EVENT_FEVTAC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12IE_MASK) + +#define USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK (0x80U) +#define USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT (7U) +/*! FEVTCNIBAC12E - Force event command not executed by Auto Command 12 error */ +#define USDHC_FORCE_EVENT_FEVTCNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK) + +#define USDHC_FORCE_EVENT_FEVTCTOE_MASK (0x10000U) +#define USDHC_FORCE_EVENT_FEVTCTOE_SHIFT (16U) +/*! FEVTCTOE - Force event command time out error */ +#define USDHC_FORCE_EVENT_FEVTCTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCTOE_MASK) + +#define USDHC_FORCE_EVENT_FEVTCCE_MASK (0x20000U) +#define USDHC_FORCE_EVENT_FEVTCCE_SHIFT (17U) +/*! FEVTCCE - Force event command CRC error */ +#define USDHC_FORCE_EVENT_FEVTCCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCCE_MASK) + +#define USDHC_FORCE_EVENT_FEVTCEBE_MASK (0x40000U) +#define USDHC_FORCE_EVENT_FEVTCEBE_SHIFT (18U) +/*! FEVTCEBE - Force event command end bit error */ +#define USDHC_FORCE_EVENT_FEVTCEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCEBE_MASK) + +#define USDHC_FORCE_EVENT_FEVTCIE_MASK (0x80000U) +#define USDHC_FORCE_EVENT_FEVTCIE_SHIFT (19U) +/*! FEVTCIE - Force event command index error */ +#define USDHC_FORCE_EVENT_FEVTCIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCIE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCIE_MASK) + +#define USDHC_FORCE_EVENT_FEVTDTOE_MASK (0x100000U) +#define USDHC_FORCE_EVENT_FEVTDTOE_SHIFT (20U) +/*! FEVTDTOE - Force event data time out error */ +#define USDHC_FORCE_EVENT_FEVTDTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDTOE_MASK) + +#define USDHC_FORCE_EVENT_FEVTDCE_MASK (0x200000U) +#define USDHC_FORCE_EVENT_FEVTDCE_SHIFT (21U) +/*! FEVTDCE - Force event data CRC error */ +#define USDHC_FORCE_EVENT_FEVTDCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDCE_MASK) + +#define USDHC_FORCE_EVENT_FEVTDEBE_MASK (0x400000U) +#define USDHC_FORCE_EVENT_FEVTDEBE_SHIFT (22U) +/*! FEVTDEBE - Force event data end bit error */ +#define USDHC_FORCE_EVENT_FEVTDEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDEBE_MASK) + +#define USDHC_FORCE_EVENT_FEVTAC12E_MASK (0x1000000U) +#define USDHC_FORCE_EVENT_FEVTAC12E_SHIFT (24U) +/*! FEVTAC12E - Force event Auto Command 12 error */ +#define USDHC_FORCE_EVENT_FEVTAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12E_MASK) + +#define USDHC_FORCE_EVENT_FEVTTNE_MASK (0x4000000U) +#define USDHC_FORCE_EVENT_FEVTTNE_SHIFT (26U) +/*! FEVTTNE - Force tuning error */ +#define USDHC_FORCE_EVENT_FEVTTNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTTNE_SHIFT)) & USDHC_FORCE_EVENT_FEVTTNE_MASK) + +#define USDHC_FORCE_EVENT_FEVTDMAE_MASK (0x10000000U) +#define USDHC_FORCE_EVENT_FEVTDMAE_SHIFT (28U) +/*! FEVTDMAE - Force event DMA error */ +#define USDHC_FORCE_EVENT_FEVTDMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDMAE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDMAE_MASK) + +#define USDHC_FORCE_EVENT_FEVTCINT_MASK (0x80000000U) +#define USDHC_FORCE_EVENT_FEVTCINT_SHIFT (31U) +/*! FEVTCINT - Force event card interrupt */ +#define USDHC_FORCE_EVENT_FEVTCINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCINT_SHIFT)) & USDHC_FORCE_EVENT_FEVTCINT_MASK) +/*! @} */ + +/*! @name ADMA_ERR_STATUS - ADMA Error Status */ +/*! @{ */ + +#define USDHC_ADMA_ERR_STATUS_ADMAES_MASK (0x3U) +#define USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT (0U) +/*! ADMAES - ADMA error state (when ADMA error is occurred) */ +#define USDHC_ADMA_ERR_STATUS_ADMAES(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMAES_MASK) + +#define USDHC_ADMA_ERR_STATUS_ADMALME_MASK (0x4U) +#define USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT (2U) +/*! ADMALME - ADMA length mismatch error + * 0b0..No error + * 0b1..Error + */ +#define USDHC_ADMA_ERR_STATUS_ADMALME(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMALME_MASK) + +#define USDHC_ADMA_ERR_STATUS_ADMADCE_MASK (0x8U) +#define USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT (3U) +/*! ADMADCE - ADMA descriptor error + * 0b0..No error + * 0b1..Error + */ +#define USDHC_ADMA_ERR_STATUS_ADMADCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMADCE_MASK) +/*! @} */ + +/*! @name ADMA_SYS_ADDR - ADMA System Address */ +/*! @{ */ + +#define USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK (0xFFFFFFFCU) +#define USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT (2U) +/*! ADS_ADDR - ADMA system address */ +#define USDHC_ADMA_SYS_ADDR_ADS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT)) & USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK) +/*! @} */ + +/*! @name DLL_CTRL - DLL (Delay Line) Control */ +/*! @{ */ + +#define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK (0x1U) +#define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT (0U) +/*! DLL_CTRL_ENABLE - DLL and delay chain */ +#define USDHC_DLL_CTRL_DLL_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK (0x2U) +#define USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT (1U) +/*! DLL_CTRL_RESET - DLL reset */ +#define USDHC_DLL_CTRL_DLL_CTRL_RESET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U) +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U) +/*! DLL_CTRL_SLV_FORCE_UPD - DLL slave delay line */ +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK (0x78U) +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT (3U) +/*! DLL_CTRL_SLV_DLY_TARGET0 - DLL slave delay target0 */ +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK (0x80U) +#define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT (7U) +/*! DLL_CTRL_GATE_UPDATE - DLL gate update */ +#define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U) +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U) +/*! DLL_CTRL_SLV_OVERRIDE - DLL slave override */ +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U) +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U) +/*! DLL_CTRL_SLV_OVERRIDE_VAL - DLL slave override val */ +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK (0x70000U) +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT (16U) +/*! DLL_CTRL_SLV_DLY_TARGET1 - DLL slave delay target1 */ +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U) +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U) +/*! DLL_CTRL_SLV_UPDATE_INT - Slave delay line update interval */ +#define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK) + +#define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U) +#define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U) +/*! DLL_CTRL_REF_UPDATE_INT - DLL control loop update interval */ +#define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK) +/*! @} */ + +/*! @name DLL_STATUS - DLL Status */ +/*! @{ */ + +#define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK (0x1U) +#define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT (0U) +/*! DLL_STS_SLV_LOCK - Slave delay-line lock status */ +#define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK) + +#define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK (0x2U) +#define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT (1U) +/*! DLL_STS_REF_LOCK - Reference DLL lock status */ +#define USDHC_DLL_STATUS_DLL_STS_REF_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK) + +#define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK (0x1FCU) +#define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT (2U) +/*! DLL_STS_SLV_SEL - Slave delay line select status */ +#define USDHC_DLL_STATUS_DLL_STS_SLV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK) + +#define USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK (0xFE00U) +#define USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT (9U) +/*! DLL_STS_REF_SEL - Reference delay line select taps */ +#define USDHC_DLL_STATUS_DLL_STS_REF_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK) +/*! @} */ + +/*! @name CLK_TUNE_CTRL_STATUS - CLK Tuning Control and Status */ +/*! @{ */ + +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK (0xFU) +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT (0U) +/*! DLY_CELL_SET_POST - Delay cells on the feedback clock between CLK_OUT and CLK_POST */ +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK) + +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK (0xF0U) +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT (4U) +/*! DLY_CELL_SET_OUT - Delay cells on the feedback clock between CLK_PRE and CLK_OUT */ +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK) + +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK (0x7F00U) +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT (8U) +/*! DLY_CELL_SET_PRE - delay cells on the feedback clock between the feedback clock and CLK_PRE */ +#define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK) + +#define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK (0x8000U) +#define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT (15U) +/*! NXT_ERR - NXT error */ +#define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK) + +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK (0xF0000U) +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT (16U) +/*! TAP_SEL_POST - Delay cells added on the feedback clock between CLK_OUT and CLK_POST */ +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK) + +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK (0xF00000U) +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT (20U) +/*! TAP_SEL_OUT - Delay cells added on the feedback clock between CLK_PRE and CLK_OUT */ +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK) + +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK (0x7F000000U) +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT (24U) +/*! TAP_SEL_PRE - TAP_SEL_PRE */ +#define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK) + +#define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK (0x80000000U) +#define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT (31U) +/*! PRE_ERR - PRE error */ +#define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK) +/*! @} */ + +/*! @name STROBE_DLL_CTRL - Strobe DLL control */ +/*! @{ */ + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_MASK (0x1U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_SHIFT (0U) +/*! STROBE_DLL_CTRL_ENABLE - Strobe DLL control enable */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_MASK) + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_MASK (0x2U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_SHIFT (1U) +/*! STROBE_DLL_CTRL_RESET - Strobe DLL control reset */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_MASK) + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U) +/*! STROBE_DLL_CTRL_SLV_FORCE_UPD - Strobe DLL control slave force updated */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_MASK) + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_MASK (0x78U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_SHIFT (3U) +/*! STROBE_DLL_CTRL_SLV_DLY_TARGET - Strobe DLL Control Slave Delay Target */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_MASK) + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_MASK (0x80U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_SHIFT (7U) +/*! STROBE_DLL_CTRL_GATE_UPDATE - Strobe DLL control gate update */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_MASK) + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U) +/*! STROBE_DLL_CTRL_SLV_OVERRIDE - Strobe DLL control slave override */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_MASK) + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U) +/*! STROBE_DLL_CTRL_SLV_OVERRIDE_VAL - Strobe DLL control slave Override value */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_MASK) + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U) +/*! STROBE_DLL_CTRL_SLV_UPDATE_INT - Strobe DLL control slave update interval */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_MASK) + +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U) +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U) +/*! STROBE_DLL_CTRL_REF_UPDATE_INT - Strobe DLL control reference update interval */ +#define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_MASK) +/*! @} */ + +/*! @name STROBE_DLL_STATUS - Strobe DLL status */ +/*! @{ */ + +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_MASK (0x1U) +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_SHIFT (0U) +/*! STROBE_DLL_STS_SLV_LOCK - Strobe DLL status slave lock */ +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_MASK) + +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_MASK (0x2U) +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_SHIFT (1U) +/*! STROBE_DLL_STS_REF_LOCK - Strobe DLL status reference lock */ +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_MASK) + +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_MASK (0x1FCU) +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_SHIFT (2U) +/*! STROBE_DLL_STS_SLV_SEL - Strobe DLL status slave select */ +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_MASK) + +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_MASK (0xFE00U) +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_SHIFT (9U) +/*! STROBE_DLL_STS_REF_SEL - Strobe DLL status reference select */ +#define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_MASK) +/*! @} */ + +/*! @name VEND_SPEC - Vendor Specific Register */ +/*! @{ */ + +#define USDHC_VEND_SPEC_VSELECT_MASK (0x2U) +#define USDHC_VEND_SPEC_VSELECT_SHIFT (1U) +/*! VSELECT - Voltage selection + * 0b0..Change the voltage to high voltage range, around 3.0 V + * 0b1..Change the voltage to low voltage range , around 1.8 V + */ +#define USDHC_VEND_SPEC_VSELECT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_VSELECT_SHIFT)) & USDHC_VEND_SPEC_VSELECT_MASK) + +#define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK (0x8U) +#define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT (3U) +/*! AC12_WR_CHKBUSY_EN - Check busy enable + * 0b0..Do not check busy after auto CMD12 for write data packet + * 0b1..Check busy after auto CMD12 for write data packet + */ +#define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT)) & USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK) + +#define USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK (0x100U) +#define USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT (8U) +/*! FRC_SDCLK_ON - Force CLK + * 0b0..CLK active or inactive is fully controlled by the hardware. + * 0b1..Force CLK active + */ +#define USDHC_VEND_SPEC_FRC_SDCLK_ON(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT)) & USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK) + +#define USDHC_VEND_SPEC_CRC_CHK_DIS_MASK (0x8000U) +#define USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT (15U) +/*! CRC_CHK_DIS - CRC Check Disable + * 0b0..Check CRC16 for every read data packet and check CRC fields for every write data packet + * 0b1..Ignore CRC16 check for every read data packet and ignore CRC fields check for every write data packet + */ +#define USDHC_VEND_SPEC_CRC_CHK_DIS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT)) & USDHC_VEND_SPEC_CRC_CHK_DIS_MASK) + +#define USDHC_VEND_SPEC_CMD_BYTE_EN_MASK (0x80000000U) +#define USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT (31U) +/*! CMD_BYTE_EN - Register byte access for CMD_XFR_TYP + * 0b0..Disable. MIX_CTRL[7:0] is read/write and CMD_XFR_TYP[7:0] is read-only. + * 0b1..Enable. MIX_CTRL[7:0] is read-only and CMD_XFR_TYP[7:0] is read/write. + */ +#define USDHC_VEND_SPEC_CMD_BYTE_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT)) & USDHC_VEND_SPEC_CMD_BYTE_EN_MASK) +/*! @} */ + +/*! @name MMC_BOOT - eMMC Boot */ +/*! @{ */ + +#define USDHC_MMC_BOOT_DTOCV_ACK_MASK (0xFU) +#define USDHC_MMC_BOOT_DTOCV_ACK_SHIFT (0U) +/*! DTOCV_ACK - DTOCV_ACK + * 0b0000..SDCLK x 2^32 + * 0b0001..SDCLK x 2^33 + * 0b0010..SDCLK x 2^18 + * 0b0011..SDCLK x 2^19 + * 0b0100..SDCLK x 2^20 + * 0b0101..SDCLK x 2^21 + * 0b0110..SDCLK x 2^22 + * 0b0111..SDCLK x 2^23 + * 0b1110..SDCLK x 2^30 + * 0b1111..SDCLK x 2^31 + */ +#define USDHC_MMC_BOOT_DTOCV_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DTOCV_ACK_SHIFT)) & USDHC_MMC_BOOT_DTOCV_ACK_MASK) + +#define USDHC_MMC_BOOT_BOOT_ACK_MASK (0x10U) +#define USDHC_MMC_BOOT_BOOT_ACK_SHIFT (4U) +/*! BOOT_ACK - BOOT ACK + * 0b0..No ack + * 0b1..Ack + */ +#define USDHC_MMC_BOOT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_ACK_SHIFT)) & USDHC_MMC_BOOT_BOOT_ACK_MASK) + +#define USDHC_MMC_BOOT_BOOT_MODE_MASK (0x20U) +#define USDHC_MMC_BOOT_BOOT_MODE_SHIFT (5U) +/*! BOOT_MODE - Boot mode + * 0b0..Normal boot + * 0b1..Alternative boot + */ +#define USDHC_MMC_BOOT_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_MODE_SHIFT)) & USDHC_MMC_BOOT_BOOT_MODE_MASK) + +#define USDHC_MMC_BOOT_BOOT_EN_MASK (0x40U) +#define USDHC_MMC_BOOT_BOOT_EN_SHIFT (6U) +/*! BOOT_EN - Boot enable + * 0b0..Fast boot disable + * 0b1..Fast boot enable + */ +#define USDHC_MMC_BOOT_BOOT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_EN_SHIFT)) & USDHC_MMC_BOOT_BOOT_EN_MASK) + +#define USDHC_MMC_BOOT_AUTO_SABG_EN_MASK (0x80U) +#define USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT (7U) +/*! AUTO_SABG_EN - Auto stop at block gap */ +#define USDHC_MMC_BOOT_AUTO_SABG_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT)) & USDHC_MMC_BOOT_AUTO_SABG_EN_MASK) + +#define USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK (0x100U) +#define USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT (8U) +/*! DISABLE_TIME_OUT - Time out + * 0b0..Enable time out + * 0b1..Disable time out + */ +#define USDHC_MMC_BOOT_DISABLE_TIME_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT)) & USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK) + +#define USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK (0xFFFF0000U) +#define USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT (16U) +/*! BOOT_BLK_CNT - Stop At Block Gap value of automatic mode */ +#define USDHC_MMC_BOOT_BOOT_BLK_CNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT)) & USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK) +/*! @} */ + +/*! @name VEND_SPEC2 - Vendor Specific 2 Register */ +/*! @{ */ + +#define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK (0x8U) +#define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT (3U) +/*! CARD_INT_D3_TEST - Card interrupt detection test + * 0b0..Check the card interrupt only when DATA3 is high. + * 0b1..Check the card interrupt by ignoring the status of DATA3. + */ +#define USDHC_VEND_SPEC2_CARD_INT_D3_TEST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT)) & USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK) + +#define USDHC_VEND_SPEC2_TUNING_BIT_EN_MASK (0x30U) +#define USDHC_VEND_SPEC2_TUNING_BIT_EN_SHIFT (4U) +/*! TUNING_BIT_EN - Tuning bit enable + * 0b00..Enable Tuning circuit for DATA[3:0] + * 0b01..Enable Tuning circuit for DATA[7:0] + * 0b10..Enable Tuning circuit for DATA[0] + * 0b11..Invalid + */ +#define USDHC_VEND_SPEC2_TUNING_BIT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_TUNING_BIT_EN_SHIFT)) & USDHC_VEND_SPEC2_TUNING_BIT_EN_MASK) + +#define USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK (0x40U) +#define USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT (6U) +/*! TUNING_CMD_EN - Tuning command enable + * 0b0..Auto tuning circuit does not check the CMD line. + * 0b1..Auto tuning circuit checks the CMD line. + */ +#define USDHC_VEND_SPEC2_TUNING_CMD_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT)) & USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK) + +#define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_MASK (0x400U) +#define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_SHIFT (10U) +/*! HS400_WR_CLK_STOP_EN - HS400 write clock stop enable */ +#define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_SHIFT)) & USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_MASK) + +#define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_MASK (0x800U) +#define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_SHIFT (11U) +/*! HS400_RD_CLK_STOP_EN - HS400 read clock stop enable */ +#define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_SHIFT)) & USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_MASK) + +#define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK (0x1000U) +#define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT (12U) +/*! ACMD23_ARGU2_EN - Argument2 register enable for ACMD23 + * 0b0..Disable + * 0b1..Argument2 register enable for ACMD23 sharing with SDMA system address register. Default is enabled. + */ +#define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT)) & USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK) + +#define USDHC_VEND_SPEC2_EN_32K_CLK_MASK (0x8000U) +#define USDHC_VEND_SPEC2_EN_32K_CLK_SHIFT (15U) +/*! EN_32K_CLK - Select the clock source for host card detection. + * 0b0..Use the peripheral clock (ipg_clk) for card detection. + * 0b1..Use the low power clock (ipg_clk_lp) for card detection. + */ +#define USDHC_VEND_SPEC2_EN_32K_CLK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_EN_32K_CLK_SHIFT)) & USDHC_VEND_SPEC2_EN_32K_CLK_MASK) + +#define USDHC_VEND_SPEC2_FBCLK_TAP_SEL_MASK (0xFFFF0000U) +#define USDHC_VEND_SPEC2_FBCLK_TAP_SEL_SHIFT (16U) +/*! FBCLK_TAP_SEL - Enable extra delay on internal feedback clock */ +#define USDHC_VEND_SPEC2_FBCLK_TAP_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_FBCLK_TAP_SEL_SHIFT)) & USDHC_VEND_SPEC2_FBCLK_TAP_SEL_MASK) +/*! @} */ + +/*! @name TUNING_CTRL - Tuning Control */ +/*! @{ */ + +#define USDHC_TUNING_CTRL_TUNING_START_TAP_MASK (0x7FU) +#define USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT (0U) +/*! TUNING_START_TAP - Tuning start */ +#define USDHC_TUNING_CTRL_TUNING_START_TAP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_START_TAP_MASK) + +#define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_MASK (0x80U) +#define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_SHIFT (7U) +/*! DIS_CMD_CHK_FOR_STD_TUNING - Disable command check for standard tuning */ +#define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_SHIFT)) & USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_MASK) + +#define USDHC_TUNING_CTRL_TUNING_COUNTER_MASK (0xFF00U) +#define USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT (8U) +/*! TUNING_COUNTER - Tuning counter */ +#define USDHC_TUNING_CTRL_TUNING_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT)) & USDHC_TUNING_CTRL_TUNING_COUNTER_MASK) + +#define USDHC_TUNING_CTRL_TUNING_STEP_MASK (0x70000U) +#define USDHC_TUNING_CTRL_TUNING_STEP_SHIFT (16U) +/*! TUNING_STEP - TUNING_STEP */ +#define USDHC_TUNING_CTRL_TUNING_STEP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_STEP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_STEP_MASK) + +#define USDHC_TUNING_CTRL_TUNING_WINDOW_MASK (0x700000U) +#define USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT (20U) +/*! TUNING_WINDOW - Data window */ +#define USDHC_TUNING_CTRL_TUNING_WINDOW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT)) & USDHC_TUNING_CTRL_TUNING_WINDOW_MASK) + +#define USDHC_TUNING_CTRL_STD_TUNING_EN_MASK (0x1000000U) +#define USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT (24U) +/*! STD_TUNING_EN - Standard tuning circuit and procedure enable */ +#define USDHC_TUNING_CTRL_STD_TUNING_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT)) & USDHC_TUNING_CTRL_STD_TUNING_EN_MASK) +/*! @} */ + +/*! @name CQVER - Command Queuing Version */ +/*! @{ */ + +#define USDHC_CQVER_VERSION_SUFFIX_MASK (0xFU) +#define USDHC_CQVER_VERSION_SUFFIX_SHIFT (0U) +/*! VERSION_SUFFIX - eMMC version suffix */ +#define USDHC_CQVER_VERSION_SUFFIX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQVER_VERSION_SUFFIX_SHIFT)) & USDHC_CQVER_VERSION_SUFFIX_MASK) + +#define USDHC_CQVER_MINOR_VN_MASK (0xF0U) +#define USDHC_CQVER_MINOR_VN_SHIFT (4U) +/*! MINOR_VN - eMMC minor version number */ +#define USDHC_CQVER_MINOR_VN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQVER_MINOR_VN_SHIFT)) & USDHC_CQVER_MINOR_VN_MASK) + +#define USDHC_CQVER_MAJOR_VN_MASK (0xF00U) +#define USDHC_CQVER_MAJOR_VN_SHIFT (8U) +/*! MAJOR_VN - eMMC major version number */ +#define USDHC_CQVER_MAJOR_VN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQVER_MAJOR_VN_SHIFT)) & USDHC_CQVER_MAJOR_VN_MASK) +/*! @} */ + +/*! @name CQCAP - Command Queuing Capabilities */ +/*! @{ */ + +#define USDHC_CQCAP_ITCFVAL_MASK (0x3FFU) +#define USDHC_CQCAP_ITCFVAL_SHIFT (0U) +/*! ITCFVAL - Internal timer clock frequency value */ +#define USDHC_CQCAP_ITCFVAL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCAP_ITCFVAL_SHIFT)) & USDHC_CQCAP_ITCFVAL_MASK) + +#define USDHC_CQCAP_ITCFMUL_MASK (0xF000U) +#define USDHC_CQCAP_ITCFMUL_SHIFT (12U) +/*! ITCFMUL - Internal timer clock frequency multiplier + * 0b0001..0.001 MHz + * 0b0010..0.01 MHz + * 0b0011..0.1 MHz + * 0b0100..1 MHz + * 0b0101..10 MHz + * 0b0110-0b1001..Reserved + */ +#define USDHC_CQCAP_ITCFMUL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCAP_ITCFMUL_SHIFT)) & USDHC_CQCAP_ITCFMUL_MASK) +/*! @} */ + +/*! @name CQCFG - Command Queuing Configuration */ +/*! @{ */ + +#define USDHC_CQCFG_CQUE_MASK (0x1U) +#define USDHC_CQCFG_CQUE_SHIFT (0U) +/*! CQUE - Command queuing enable */ +#define USDHC_CQCFG_CQUE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCFG_CQUE_SHIFT)) & USDHC_CQCFG_CQUE_MASK) + +#define USDHC_CQCFG_TDS_MASK (0x100U) +#define USDHC_CQCFG_TDS_SHIFT (8U) +/*! TDS - Task descriptor size + * 0b0..Task descriptor size is 64 bits + * 0b1..Task descriptor size is 128 bits + */ +#define USDHC_CQCFG_TDS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCFG_TDS_SHIFT)) & USDHC_CQCFG_TDS_MASK) + +#define USDHC_CQCFG_DCMDE_MASK (0x1000U) +#define USDHC_CQCFG_DCMDE_SHIFT (12U) +/*! DCMDE - Direct command (DCMD) enable + * 0b0..Task descriptor in slot #31 is a Data Transfer Task Descriptor + * 0b1..Task descriptor in slot #31 is a DCMD Task Descriptor + */ +#define USDHC_CQCFG_DCMDE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCFG_DCMDE_SHIFT)) & USDHC_CQCFG_DCMDE_MASK) +/*! @} */ + +/*! @name CQCTL - Command Queuing Control */ +/*! @{ */ + +#define USDHC_CQCTL_HALT_MASK (0x1U) +#define USDHC_CQCTL_HALT_SHIFT (0U) +/*! HALT - Halt */ +#define USDHC_CQCTL_HALT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCTL_HALT_SHIFT)) & USDHC_CQCTL_HALT_MASK) + +#define USDHC_CQCTL_CLEAR_MASK (0x100U) +#define USDHC_CQCTL_CLEAR_SHIFT (8U) +/*! CLEAR - Clear all tasks */ +#define USDHC_CQCTL_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCTL_CLEAR_SHIFT)) & USDHC_CQCTL_CLEAR_MASK) +/*! @} */ + +/*! @name CQIS - Command Queuing Interrupt Status */ +/*! @{ */ + +#define USDHC_CQIS_HAC_MASK (0x1U) +#define USDHC_CQIS_HAC_SHIFT (0U) +/*! HAC - Halt complete interrupt */ +#define USDHC_CQIS_HAC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIS_HAC_SHIFT)) & USDHC_CQIS_HAC_MASK) + +#define USDHC_CQIS_TCC_MASK (0x2U) +#define USDHC_CQIS_TCC_SHIFT (1U) +/*! TCC - Task complete interrupt */ +#define USDHC_CQIS_TCC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIS_TCC_SHIFT)) & USDHC_CQIS_TCC_MASK) + +#define USDHC_CQIS_RED_MASK (0x4U) +#define USDHC_CQIS_RED_SHIFT (2U) +/*! RED - Response error detected interrupt */ +#define USDHC_CQIS_RED(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIS_RED_SHIFT)) & USDHC_CQIS_RED_MASK) + +#define USDHC_CQIS_TCL_MASK (0x8U) +#define USDHC_CQIS_TCL_SHIFT (3U) +/*! TCL - Task cleared */ +#define USDHC_CQIS_TCL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIS_TCL_SHIFT)) & USDHC_CQIS_TCL_MASK) +/*! @} */ + +/*! @name CQISTE - Command Queuing Interrupt Status Enable */ +/*! @{ */ + +#define USDHC_CQISTE_HAC_STE_MASK (0x1U) +#define USDHC_CQISTE_HAC_STE_SHIFT (0U) +/*! HAC_STE - Halt complete status enable + * 0b0..CQIS[HAC] is disabled + * 0b1..CQIS[HAC] is set when its interrupt condition is active + */ +#define USDHC_CQISTE_HAC_STE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQISTE_HAC_STE_SHIFT)) & USDHC_CQISTE_HAC_STE_MASK) + +#define USDHC_CQISTE_TCC_STE_MASK (0x2U) +#define USDHC_CQISTE_TCC_STE_SHIFT (1U) +/*! TCC_STE - Task complete status enable + * 0b0..CQIS[TCC] is disabled + * 0b1..CQIS[TCC] is set when its interrupt condition is active + */ +#define USDHC_CQISTE_TCC_STE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQISTE_TCC_STE_SHIFT)) & USDHC_CQISTE_TCC_STE_MASK) + +#define USDHC_CQISTE_RED_STE_MASK (0x4U) +#define USDHC_CQISTE_RED_STE_SHIFT (2U) +/*! RED_STE - Response error detected status enable + * 0b0..CQIS[RED]is disabled + * 0b1..CQIS[RED] is set when its interrupt condition is active + */ +#define USDHC_CQISTE_RED_STE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQISTE_RED_STE_SHIFT)) & USDHC_CQISTE_RED_STE_MASK) + +#define USDHC_CQISTE_TCL_STE_MASK (0x8U) +#define USDHC_CQISTE_TCL_STE_SHIFT (3U) +/*! TCL_STE - Task cleared status enable + * 0b0..CQIS[TCL] is disabled + * 0b1..CQIS[TCL] is set when its interrupt condition is active + */ +#define USDHC_CQISTE_TCL_STE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQISTE_TCL_STE_SHIFT)) & USDHC_CQISTE_TCL_STE_MASK) +/*! @} */ + +/*! @name CQISGE - Command Queuing Interrupt Signal Enable */ +/*! @{ */ + +#define USDHC_CQISGE_HAC_SGE_MASK (0x1U) +#define USDHC_CQISGE_HAC_SGE_SHIFT (0U) +/*! HAC_SGE - Halt complete signal enable */ +#define USDHC_CQISGE_HAC_SGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQISGE_HAC_SGE_SHIFT)) & USDHC_CQISGE_HAC_SGE_MASK) + +#define USDHC_CQISGE_TCC_SGE_MASK (0x2U) +#define USDHC_CQISGE_TCC_SGE_SHIFT (1U) +/*! TCC_SGE - Task complete signal enable */ +#define USDHC_CQISGE_TCC_SGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQISGE_TCC_SGE_SHIFT)) & USDHC_CQISGE_TCC_SGE_MASK) + +#define USDHC_CQISGE_RED_SGE_MASK (0x4U) +#define USDHC_CQISGE_RED_SGE_SHIFT (2U) +/*! RED_SGE - Response error detected signal enable */ +#define USDHC_CQISGE_RED_SGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQISGE_RED_SGE_SHIFT)) & USDHC_CQISGE_RED_SGE_MASK) + +#define USDHC_CQISGE_TCL_SGE_MASK (0x8U) +#define USDHC_CQISGE_TCL_SGE_SHIFT (3U) +/*! TCL_SGE - Task cleared signal enable */ +#define USDHC_CQISGE_TCL_SGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQISGE_TCL_SGE_SHIFT)) & USDHC_CQISGE_TCL_SGE_MASK) +/*! @} */ + +/*! @name CQIC - Command Queuing Interrupt Coalescing */ +/*! @{ */ + +#define USDHC_CQIC_ICTOVAL_MASK (0x7FU) +#define USDHC_CQIC_ICTOVAL_SHIFT (0U) +/*! ICTOVAL - Interrupt coalescing timeout value */ +#define USDHC_CQIC_ICTOVAL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIC_ICTOVAL_SHIFT)) & USDHC_CQIC_ICTOVAL_MASK) + +#define USDHC_CQIC_ICTOVALWEN_MASK (0x80U) +#define USDHC_CQIC_ICTOVALWEN_SHIFT (7U) +/*! ICTOVALWEN - Interrupt coalescing timeout value write enable */ +#define USDHC_CQIC_ICTOVALWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIC_ICTOVALWEN_SHIFT)) & USDHC_CQIC_ICTOVALWEN_MASK) + +#define USDHC_CQIC_ICCTH_MASK (0x1F00U) +#define USDHC_CQIC_ICCTH_SHIFT (8U) +/*! ICCTH - Interrupt coalescing counter threshold */ +#define USDHC_CQIC_ICCTH(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIC_ICCTH_SHIFT)) & USDHC_CQIC_ICCTH_MASK) + +#define USDHC_CQIC_ICCTHWEN_MASK (0x8000U) +#define USDHC_CQIC_ICCTHWEN_SHIFT (15U) +/*! ICCTHWEN - Interrupt coalescing counter threshold write enable */ +#define USDHC_CQIC_ICCTHWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIC_ICCTHWEN_SHIFT)) & USDHC_CQIC_ICCTHWEN_MASK) + +#define USDHC_CQIC_ICCTR_MASK (0x10000U) +#define USDHC_CQIC_ICCTR_SHIFT (16U) +/*! ICCTR - Counter and timer reset */ +#define USDHC_CQIC_ICCTR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIC_ICCTR_SHIFT)) & USDHC_CQIC_ICCTR_MASK) + +#define USDHC_CQIC_ICSB_MASK (0x100000U) +#define USDHC_CQIC_ICSB_SHIFT (20U) +/*! ICSB - Interrupt coalescing status + * 0b0..No task completions have occurred since last counter reset (IC counter =0) + * 0b1..At least one task completion has been counted (IC counter >0) + */ +#define USDHC_CQIC_ICSB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIC_ICSB_SHIFT)) & USDHC_CQIC_ICSB_MASK) + +#define USDHC_CQIC_ICENDIS_MASK (0x80000000U) +#define USDHC_CQIC_ICENDIS_SHIFT (31U) +/*! ICENDIS - Interrupt coalescing enable/disable */ +#define USDHC_CQIC_ICENDIS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQIC_ICENDIS_SHIFT)) & USDHC_CQIC_ICENDIS_MASK) +/*! @} */ + +/*! @name CQTDLBA - Command Queuing Task Descriptor List Base Address */ +/*! @{ */ + +#define USDHC_CQTDLBA_TDLBA_MASK (0xFFFFFFFFU) +#define USDHC_CQTDLBA_TDLBA_SHIFT (0U) +/*! TDLBA - Task descriptor list base address */ +#define USDHC_CQTDLBA_TDLBA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTDLBA_TDLBA_SHIFT)) & USDHC_CQTDLBA_TDLBA_MASK) +/*! @} */ + +/*! @name CQTDLBAU - Command Queuing Task Descriptor List Base Address Upper 32 Bits */ +/*! @{ */ + +#define USDHC_CQTDLBAU_TDLBAU_MASK (0xFFFFFFFFU) +#define USDHC_CQTDLBAU_TDLBAU_SHIFT (0U) +/*! TDLBAU - Task descriptor list base address */ +#define USDHC_CQTDLBAU_TDLBAU(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTDLBAU_TDLBAU_SHIFT)) & USDHC_CQTDLBAU_TDLBAU_MASK) +/*! @} */ + +/*! @name CQTDBR - Command Queuing Task Doorbell */ +/*! @{ */ + +#define USDHC_CQTDBR_TDBR_MASK (0xFFFFFFFFU) +#define USDHC_CQTDBR_TDBR_SHIFT (0U) +/*! TDBR - Task doorbell */ +#define USDHC_CQTDBR_TDBR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTDBR_TDBR_SHIFT)) & USDHC_CQTDBR_TDBR_MASK) +/*! @} */ + +/*! @name CQTCN - Command Queuing Task Completion Notification */ +/*! @{ */ + +#define USDHC_CQTCN_TCN_MASK (0xFFFFFFFFU) +#define USDHC_CQTCN_TCN_SHIFT (0U) +/*! TCN - Task complete notification */ +#define USDHC_CQTCN_TCN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTCN_TCN_SHIFT)) & USDHC_CQTCN_TCN_MASK) +/*! @} */ + +/*! @name CQDQS - Command Queuing Device Queue Status */ +/*! @{ */ + +#define USDHC_CQDQS_DQS_MASK (0xFFFFFFFFU) +#define USDHC_CQDQS_DQS_SHIFT (0U) +/*! DQS - Device queue status */ +#define USDHC_CQDQS_DQS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQDQS_DQS_SHIFT)) & USDHC_CQDQS_DQS_MASK) +/*! @} */ + +/*! @name CQDPT - Command Queuing Device Pending Tasks */ +/*! @{ */ + +#define USDHC_CQDPT_DPT_MASK (0xFFFFFFFFU) +#define USDHC_CQDPT_DPT_SHIFT (0U) +/*! DPT - Device pending tasks */ +#define USDHC_CQDPT_DPT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQDPT_DPT_SHIFT)) & USDHC_CQDPT_DPT_MASK) +/*! @} */ + +/*! @name CQTCLR - Command Queuing Task Clear */ +/*! @{ */ + +#define USDHC_CQTCLR_TCLR_MASK (0xFFFFFFFFU) +#define USDHC_CQTCLR_TCLR_SHIFT (0U) +/*! TCLR - Task clear */ +#define USDHC_CQTCLR_TCLR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTCLR_TCLR_SHIFT)) & USDHC_CQTCLR_TCLR_MASK) +/*! @} */ + +/*! @name CQSSC1 - Command Queuing Send Status Configuration 1 */ +/*! @{ */ + +#define USDHC_CQSSC1_CIT_MASK (0xFFFFU) +#define USDHC_CQSSC1_CIT_SHIFT (0U) +/*! CIT - Send status command idle timer */ +#define USDHC_CQSSC1_CIT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQSSC1_CIT_SHIFT)) & USDHC_CQSSC1_CIT_MASK) + +#define USDHC_CQSSC1_CBC_MASK (0xF0000U) +#define USDHC_CQSSC1_CBC_SHIFT (16U) +/*! CBC - Send status command block counter */ +#define USDHC_CQSSC1_CBC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQSSC1_CBC_SHIFT)) & USDHC_CQSSC1_CBC_MASK) +/*! @} */ + +/*! @name CQSSC2 - Command Queuing Send Status Configuration 2 */ +/*! @{ */ + +#define USDHC_CQSSC2_SSC2_MASK (0xFFFFU) +#define USDHC_CQSSC2_SSC2_SHIFT (0U) +/*! SSC2 - Send queue status RCA */ +#define USDHC_CQSSC2_SSC2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQSSC2_SSC2_SHIFT)) & USDHC_CQSSC2_SSC2_MASK) +/*! @} */ + +/*! @name CQCRDCT - Command Queuing Command Response for Direct-Command Task */ +/*! @{ */ + +#define USDHC_CQCRDCT_CRDCT_MASK (0xFFFFFFFFU) +#define USDHC_CQCRDCT_CRDCT_SHIFT (0U) +/*! CRDCT - Direct command last response */ +#define USDHC_CQCRDCT_CRDCT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCRDCT_CRDCT_SHIFT)) & USDHC_CQCRDCT_CRDCT_MASK) +/*! @} */ + +/*! @name CQRMEM - Command Queuing Response Mode Error Mask */ +/*! @{ */ + +#define USDHC_CQRMEM_RMEM_MASK (0xFFFFFFFFU) +#define USDHC_CQRMEM_RMEM_SHIFT (0U) +/*! RMEM - Response mode error mask + * 0b00000000000000000000000000000000..When a R1/R1b response is received, bit i in the device status is ignored + * 0b00000000000000000000000000000001..When a R1/R1b response is received, with bit i in the device status set, a RED interrupt is generated + */ +#define USDHC_CQRMEM_RMEM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQRMEM_RMEM_SHIFT)) & USDHC_CQRMEM_RMEM_MASK) +/*! @} */ + +/*! @name CQTERRI - Command Queuing Task Error Information */ +/*! @{ */ + +#define USDHC_CQTERRI_RMECI_MASK (0x3FU) +#define USDHC_CQTERRI_RMECI_SHIFT (0U) +/*! RMECI - Response mode error command index */ +#define USDHC_CQTERRI_RMECI(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTERRI_RMECI_SHIFT)) & USDHC_CQTERRI_RMECI_MASK) + +#define USDHC_CQTERRI_RMETID_MASK (0x1F00U) +#define USDHC_CQTERRI_RMETID_SHIFT (8U) +/*! RMETID - Response mode error task ID */ +#define USDHC_CQTERRI_RMETID(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTERRI_RMETID_SHIFT)) & USDHC_CQTERRI_RMETID_MASK) + +#define USDHC_CQTERRI_RMEFV_MASK (0x8000U) +#define USDHC_CQTERRI_RMEFV_SHIFT (15U) +/*! RMEFV - Response mode error fields valid */ +#define USDHC_CQTERRI_RMEFV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTERRI_RMEFV_SHIFT)) & USDHC_CQTERRI_RMEFV_MASK) + +#define USDHC_CQTERRI_DTECI_MASK (0x3F0000U) +#define USDHC_CQTERRI_DTECI_SHIFT (16U) +/*! DTECI - Data transfer error command index */ +#define USDHC_CQTERRI_DTECI(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTERRI_DTECI_SHIFT)) & USDHC_CQTERRI_DTECI_MASK) + +#define USDHC_CQTERRI_DTETID_MASK (0x1F000000U) +#define USDHC_CQTERRI_DTETID_SHIFT (24U) +/*! DTETID - Data transfer error task ID */ +#define USDHC_CQTERRI_DTETID(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTERRI_DTETID_SHIFT)) & USDHC_CQTERRI_DTETID_MASK) + +#define USDHC_CQTERRI_DTEFV_MASK (0x80000000U) +#define USDHC_CQTERRI_DTEFV_SHIFT (31U) +/*! DTEFV - Data transfer error fields valid */ +#define USDHC_CQTERRI_DTEFV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQTERRI_DTEFV_SHIFT)) & USDHC_CQTERRI_DTEFV_MASK) +/*! @} */ + +/*! @name CQCRI - Command Queuing Command Response Index */ +/*! @{ */ + +#define USDHC_CQCRI_LCMDRI_MASK (0x3FU) +#define USDHC_CQCRI_LCMDRI_SHIFT (0U) +/*! LCMDRI - Last command response index */ +#define USDHC_CQCRI_LCMDRI(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCRI_LCMDRI_SHIFT)) & USDHC_CQCRI_LCMDRI_MASK) +/*! @} */ + +/*! @name CQCRA - Command Queuing Command Response Argument */ +/*! @{ */ + +#define USDHC_CQCRA_LCMDRA_MASK (0xFFFFFFFFU) +#define USDHC_CQCRA_LCMDRA_SHIFT (0U) +/*! LCMDRA - Last command response argument */ +#define USDHC_CQCRA_LCMDRA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CQCRA_LCMDRA_SHIFT)) & USDHC_CQCRA_LCMDRA_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group USDHC_Register_Masks */ + + +/* USDHC - Peripheral instance base addresses */ +/** Peripheral USDHC1 base address */ +#define USDHC1_BASE (0x42850000u) +/** Peripheral USDHC1 base pointer */ +#define USDHC1 ((USDHC_Type *)USDHC1_BASE) +/** Peripheral USDHC2 base address */ +#define USDHC2_BASE (0x42860000u) +/** Peripheral USDHC2 base pointer */ +#define USDHC2 ((USDHC_Type *)USDHC2_BASE) +/** Peripheral USDHC3 base address */ +#define USDHC3_BASE (0x428B0000u) +/** Peripheral USDHC3 base pointer */ +#define USDHC3 ((USDHC_Type *)USDHC3_BASE) +/** Array initializer of USDHC peripheral base addresses */ +#define USDHC_BASE_ADDRS { USDHC1_BASE, USDHC2_BASE, USDHC3_BASE } +/** Array initializer of USDHC peripheral base pointers */ +#define USDHC_BASE_PTRS { USDHC1, USDHC2, USDHC3 } +/** Interrupt vectors for the USDHC peripheral type */ +#define USDHC_IRQS { uSDHC1_IRQn, uSDHC2_IRQn, NotAvail_IRQn } + +/*! + * @} + */ /* end of group USDHC_Peripheral_Access_Layer */ + + +/* ---------------------------------------------------------------------------- + -- WDOG Peripheral Access Layer + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup WDOG_Peripheral_Access_Layer WDOG Peripheral Access Layer + * @{ + */ + +/** WDOG - Register Layout Typedef */ +typedef struct { + __IO uint32_t CS; /**< WDOG Control and Status, offset: 0x0 */ + __IO uint32_t CNT; /**< WDOG Counter, offset: 0x4 */ + __IO uint32_t TOVAL; /**< WDOG Timeout Value, offset: 0x8 */ + __IO uint32_t WIN; /**< Watchdog Window, offset: 0xC */ +} WDOG_Type; + +/* ---------------------------------------------------------------------------- + -- WDOG Register Masks + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup WDOG_Register_Masks WDOG Register Masks + * @{ + */ + +/*! @name CS - WDOG Control and Status */ +/*! @{ */ + +#define WDOG_CS_STOP_MASK (0x1U) +#define WDOG_CS_STOP_SHIFT (0U) +/*! STOP - Stop Enable + * 0b0..Disable + * 0b1..Enable + */ +#define WDOG_CS_STOP(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_STOP_SHIFT)) & WDOG_CS_STOP_MASK) + +#define WDOG_CS_WAIT_MASK (0x2U) +#define WDOG_CS_WAIT_SHIFT (1U) +/*! WAIT - Wait Enable + * 0b0..Disable + * 0b1..Enable + */ +#define WDOG_CS_WAIT(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_WAIT_SHIFT)) & WDOG_CS_WAIT_MASK) + +#define WDOG_CS_DBG_MASK (0x4U) +#define WDOG_CS_DBG_SHIFT (2U) +/*! DBG - Debug Enable + * 0b0..Disable + * 0b1..Enable + */ +#define WDOG_CS_DBG(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_DBG_SHIFT)) & WDOG_CS_DBG_MASK) + +#define WDOG_CS_TST_MASK (0x18U) +#define WDOG_CS_TST_SHIFT (3U) +/*! TST - WDOG Test + * 0b00..Disable WDOG Test mode + * 0b01..Enable WDOG User mode + * 0b10-0b11..Enable WDOG Test mode + */ +#define WDOG_CS_TST(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_TST_SHIFT)) & WDOG_CS_TST_MASK) + +#define WDOG_CS_UPDATE_MASK (0x20U) +#define WDOG_CS_UPDATE_SHIFT (5U) +/*! UPDATE - Updates Allowed + * 0b0..Updates not allowed + * 0b1..Updates allowed + */ +#define WDOG_CS_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_UPDATE_SHIFT)) & WDOG_CS_UPDATE_MASK) + +#define WDOG_CS_INT_MASK (0x40U) +#define WDOG_CS_INT_SHIFT (6U) +/*! INT - WDOG Interrupt + * 0b0..Disable + * 0b1..Enable + */ +#define WDOG_CS_INT(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_INT_SHIFT)) & WDOG_CS_INT_MASK) + +#define WDOG_CS_EN_MASK (0x80U) +#define WDOG_CS_EN_SHIFT (7U) +/*! EN - WDOG Enable + * 0b0..Disable + * 0b1..Enable + */ +#define WDOG_CS_EN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_EN_SHIFT)) & WDOG_CS_EN_MASK) + +#define WDOG_CS_CLK_MASK (0x300U) +#define WDOG_CS_CLK_SHIFT (8U) +/*! CLK - WDOG Clock + * 0b00..IPG + * 0b01..LPO + * 0b10..INT + * 0b11..EXT + */ +#define WDOG_CS_CLK(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_CLK_SHIFT)) & WDOG_CS_CLK_MASK) + +#define WDOG_CS_RCS_MASK (0x400U) +#define WDOG_CS_RCS_SHIFT (10U) +/*! RCS - Reconfiguration Success + * 0b0..Unsuccessful + * 0b1..Successful + */ +#define WDOG_CS_RCS(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_RCS_SHIFT)) & WDOG_CS_RCS_MASK) + +#define WDOG_CS_ULK_MASK (0x800U) +#define WDOG_CS_ULK_SHIFT (11U) +/*! ULK - Unlock Status + * 0b0..Locked + * 0b1..Unlocked + */ +#define WDOG_CS_ULK(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_ULK_SHIFT)) & WDOG_CS_ULK_MASK) + +#define WDOG_CS_PRES_MASK (0x1000U) +#define WDOG_CS_PRES_SHIFT (12U) +/*! PRES - WDOG Prescaler + * 0b0..Disable + * 0b1..Enable + */ +#define WDOG_CS_PRES(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_PRES_SHIFT)) & WDOG_CS_PRES_MASK) + +#define WDOG_CS_CMD32EN_MASK (0x2000U) +#define WDOG_CS_CMD32EN_SHIFT (13U) +/*! CMD32EN - Command 32 Enable + * 0b0..Disable + * 0b1..Enable + */ +#define WDOG_CS_CMD32EN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_CMD32EN_SHIFT)) & WDOG_CS_CMD32EN_MASK) + +#define WDOG_CS_FLG_MASK (0x4000U) +#define WDOG_CS_FLG_SHIFT (14U) +/*! FLG - WDOG Interrupt Flag + * 0b0..No interrupt occurred + * 0b1..An interrupt occurred + */ +#define WDOG_CS_FLG(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_FLG_SHIFT)) & WDOG_CS_FLG_MASK) + +#define WDOG_CS_WIN_MASK (0x8000U) +#define WDOG_CS_WIN_SHIFT (15U) +/*! WIN - WDOG Window + * 0b0..Disable + * 0b1..Enable + */ +#define WDOG_CS_WIN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_WIN_SHIFT)) & WDOG_CS_WIN_MASK) +/*! @} */ + +/*! @name CNT - WDOG Counter */ +/*! @{ */ + +#define WDOG_CNT_CNTLOW_MASK (0xFFU) +#define WDOG_CNT_CNTLOW_SHIFT (0U) +/*! CNTLOW - Counter Low Byte */ +#define WDOG_CNT_CNTLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CNT_CNTLOW_SHIFT)) & WDOG_CNT_CNTLOW_MASK) + +#define WDOG_CNT_CNTHIGH_MASK (0xFF00U) +#define WDOG_CNT_CNTHIGH_SHIFT (8U) +/*! CNTHIGH - Counter High Byte */ +#define WDOG_CNT_CNTHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CNT_CNTHIGH_SHIFT)) & WDOG_CNT_CNTHIGH_MASK) +/*! @} */ + +/*! @name TOVAL - WDOG Timeout Value */ +/*! @{ */ + +#define WDOG_TOVAL_TOVALLOW_MASK (0xFFU) +#define WDOG_TOVAL_TOVALLOW_SHIFT (0U) +/*! TOVALLOW - Timeout Value Low */ +#define WDOG_TOVAL_TOVALLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_TOVAL_TOVALLOW_SHIFT)) & WDOG_TOVAL_TOVALLOW_MASK) + +#define WDOG_TOVAL_TOVALHIGH_MASK (0xFF00U) +#define WDOG_TOVAL_TOVALHIGH_SHIFT (8U) +/*! TOVALHIGH - Timeout Value High */ +#define WDOG_TOVAL_TOVALHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_TOVAL_TOVALHIGH_SHIFT)) & WDOG_TOVAL_TOVALHIGH_MASK) +/*! @} */ + +/*! @name WIN - Watchdog Window */ +/*! @{ */ + +#define WDOG_WIN_WINLOW_MASK (0xFFU) +#define WDOG_WIN_WINLOW_SHIFT (0U) +/*! WINLOW - Low Byte */ +#define WDOG_WIN_WINLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_WIN_WINLOW_SHIFT)) & WDOG_WIN_WINLOW_MASK) + +#define WDOG_WIN_WINHIGH_MASK (0xFF00U) +#define WDOG_WIN_WINHIGH_SHIFT (8U) +/*! WINHIGH - High Byte */ +#define WDOG_WIN_WINHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_WIN_WINHIGH_SHIFT)) & WDOG_WIN_WINHIGH_MASK) +/*! @} */ + + +/*! + * @} + */ /* end of group WDOG_Register_Masks */ + + +/* WDOG - Peripheral instance base addresses */ +/** Peripheral WDOG1 base address */ +#define WDOG1_BASE (0x442D0000u) +/** Peripheral WDOG1 base pointer */ +#define WDOG1 ((WDOG_Type *)WDOG1_BASE) +/** Peripheral WDOG2 base address */ +#define WDOG2_BASE (0x442E0000u) +/** Peripheral WDOG2 base pointer */ +#define WDOG2 ((WDOG_Type *)WDOG2_BASE) +/** Peripheral WDOG3 base address */ +#define WDOG3_BASE (0x42490000u) +/** Peripheral WDOG3 base pointer */ +#define WDOG3 ((WDOG_Type *)WDOG3_BASE) +/** Peripheral WDOG4 base address */ +#define WDOG4_BASE (0x424A0000u) +/** Peripheral WDOG4 base pointer */ +#define WDOG4 ((WDOG_Type *)WDOG4_BASE) +/** Peripheral WDOG5 base address */ +#define WDOG5_BASE (0x424B0000u) +/** Peripheral WDOG5 base pointer */ +#define WDOG5 ((WDOG_Type *)WDOG5_BASE) +/** Array initializer of WDOG peripheral base addresses */ +#define WDOG_BASE_ADDRS { WDOG1_BASE, WDOG2_BASE, WDOG3_BASE, WDOG4_BASE, WDOG5_BASE } +/** Array initializer of WDOG peripheral base pointers */ +#define WDOG_BASE_PTRS { WDOG1, WDOG2, WDOG3, WDOG4, WDOG5 } +/** Interrupt vectors for the WDOG peripheral type */ +#define WDOG_IRQS { WDOG1_IRQn, WDOG2_IRQn, WDOG3_IRQn, WDOG4_IRQn, WDOG5_IRQn } +/* Extra definition */ +#define WDOG_UPDATE_KEY (0xD928C520U) +#define WDOG_REFRESH_KEY (0xB480A602U) + + +/*! + * @} + */ /* end of group WDOG_Peripheral_Access_Layer */ + + +/* +** End of section using anonymous unions +*/ + +#if defined(__ARMCC_VERSION) + #if (__ARMCC_VERSION >= 6010050) + #pragma clang diagnostic pop + #else + #pragma pop + #endif +#elif defined(__GNUC__) + /* leave anonymous unions enabled */ +#elif defined(__IAR_SYSTEMS_ICC__) + #pragma language=default +#else + #error Not supported compiler type +#endif + +/*! + * @} + */ /* end of group Peripheral_access_layer */ + + +/* ---------------------------------------------------------------------------- + -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK). + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK). + * @{ + */ + +#if defined(__ARMCC_VERSION) + #if (__ARMCC_VERSION >= 6010050) + #pragma clang system_header + #endif +#elif defined(__IAR_SYSTEMS_ICC__) + #pragma system_include +#endif + +/** + * @brief Mask and left-shift a bit field value for use in a register bit range. + * @param field Name of the register bit field. + * @param value Value of the bit field. + * @return Masked and shifted value. + */ +#define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK)) +/** + * @brief Mask and right-shift a register value to extract a bit field value. + * @param field Name of the register bit field. + * @param value Value of the register. + * @return Masked and shifted bit field value. + */ +#define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT)) + +/*! + * @} + */ /* end of group Bit_Field_Generic_Macros */ + + +/* ---------------------------------------------------------------------------- + -- SDK Compatibility + ---------------------------------------------------------------------------- */ + +/*! + * @addtogroup SDK_Compatibility_Symbols SDK Compatibility + * @{ + */ + +/* No SDK compatibility issues. */ + +/*! + * @} + */ /* end of group SDK_Compatibility_Symbols */ + + +#endif /* MIMX9131_H_ */ + diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131_features.h b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131_features.h new file mode 100644 index 00000000000..76ab6eb787e --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/MIMX9131_features.h @@ -0,0 +1,671 @@ +/* +** ################################################################### +** Version: rev. 1.0, 2024-11-15 +** Build: b250112 +** +** Abstract: +** Chip specific module features. +** +** Copyright 2016 Freescale Semiconductor, Inc. +** Copyright 2016-2025 NXP +** SPDX-License-Identifier: BSD-3-Clause +** +** http: www.nxp.com +** mail: support@nxp.com +** +** Revisions: +** - rev. 1.0 (2024-11-15) +** Initial version. +** +** ################################################################### +*/ + +#ifndef _MIMX9131_FEATURES_H_ +#define _MIMX9131_FEATURES_H_ + +/* SOC module features */ + +/* @brief ADC availability on the SoC. */ +#define FSL_FEATURE_SOC_ADC_COUNT (1) +/* @brief AXBS availability on the SoC. */ +#define FSL_FEATURE_SOC_AXBS_COUNT (1) +/* @brief BBNSM availability on the SoC. */ +#define FSL_FEATURE_SOC_BBNSM_COUNT (1) +/* @brief DDR availability on the SoC. */ +#define FSL_FEATURE_SOC_DDR_COUNT (1) +/* @brief EDMA availability on the SoC. */ +#define FSL_FEATURE_SOC_EDMA_COUNT (4) +/* @brief ENET availability on the SoC. */ +#define FSL_FEATURE_SOC_ENET_COUNT (1) +/* @brief ENET_QOS availability on the SoC. */ +#define FSL_FEATURE_SOC_ENET_QOS_COUNT (1) +/* @brief FLEXCAN availability on the SoC. */ +#define FSL_FEATURE_SOC_FLEXCAN_COUNT (2) +/* @brief FLEXIO availability on the SoC. */ +#define FSL_FEATURE_SOC_FLEXIO_COUNT (2) +/* @brief FLEXSPI availability on the SoC. */ +#define FSL_FEATURE_SOC_FLEXSPI_COUNT (1) +/* @brief I3C availability on the SoC. */ +#define FSL_FEATURE_SOC_I3C_COUNT (2) +/* @brief I2S availability on the SoC. */ +#define FSL_FEATURE_SOC_I2S_COUNT (3) +/* @brief IOMUXC_GPR availability on the SoC. */ +#define FSL_FEATURE_SOC_IOMUXC_GPR_COUNT (1) +/* @brief ISI availability on the SoC. */ +#define FSL_FEATURE_SOC_ISI_COUNT (1) +/* @brief LCDIF availability on the SoC. */ +#define FSL_FEATURE_SOC_LCDIF_COUNT (1) +/* @brief LPI2C availability on the SoC. */ +#define FSL_FEATURE_SOC_LPI2C_COUNT (8) +/* @brief LPIT availability on the SoC. */ +#define FSL_FEATURE_SOC_LPIT_COUNT (2) +/* @brief LPSPI availability on the SoC. */ +#define FSL_FEATURE_SOC_LPSPI_COUNT (8) +/* @brief LPTMR availability on the SoC. */ +#define FSL_FEATURE_SOC_LPTMR_COUNT (2) +/* @brief LPUART availability on the SoC. */ +#define FSL_FEATURE_SOC_LPUART_COUNT (8) +/* @brief MU availability on the SoC. */ +#define FSL_FEATURE_SOC_MU_COUNT (4) +/* @brief PDM availability on the SoC. */ +#define FSL_FEATURE_SOC_PDM_COUNT (1) +/* @brief RGPIO availability on the SoC. */ +#define FSL_FEATURE_SOC_RGPIO_COUNT (4) +/* @brief SEMA42 availability on the SoC. */ +#define FSL_FEATURE_SOC_SEMA42_COUNT (2) +/* @brief SPDIF availability on the SoC. */ +#define FSL_FEATURE_SOC_SPDIF_COUNT (1) +/* @brief TPM availability on the SoC. */ +#define FSL_FEATURE_SOC_TPM_COUNT (6) +/* @brief TRGMUX availability on the SoC. */ +#define FSL_FEATURE_SOC_TRGMUX_COUNT (1) +/* @brief TSTMR availability on the SoC. */ +#define FSL_FEATURE_SOC_TSTMR_COUNT (2) +/* @brief USB availability on the SoC. */ +#define FSL_FEATURE_SOC_USB_COUNT (2) +/* @brief USBNC availability on the SoC. */ +#define FSL_FEATURE_SOC_USBNC_COUNT (2) +/* @brief USDHC availability on the SoC. */ +#define FSL_FEATURE_SOC_USDHC_COUNT (3) +/* @brief WDOG availability on the SoC. */ +#define FSL_FEATURE_SOC_WDOG_COUNT (5) + +/* ADC module features */ + +/* @brief Channel group counts of ADC. */ +#define FSL_FEATURE_ADC_CHANNEL_GROUPS_COUNT (2) +/* @brief Threshold counts of ADC. */ +#define FSL_FEATURE_ADC_THRESHOLDS_COUNT (8) +/* @brief Self-test threshold counts of ADC. */ +#define FSL_FEATURE_ADC_SELF_TEST_THRESHOLDS_COUNT (6) + +/* FLEXCAN module features */ + +/* @brief Has more than 64 MBs. */ +#define FSL_FEATURE_FLEXCAN_HAS_MORE_THAN_64_MB (1) +/* @brief Message buffer size */ +#define FSL_FEATURE_FLEXCAN_HAS_MESSAGE_BUFFER_MAX_NUMBERn(x) (96) +/* @brief Has doze mode support (register bit field MCR[DOZE]). */ +#define FSL_FEATURE_FLEXCAN_HAS_DOZE_MODE_SUPPORT (1) +/* @brief Insatnce has doze mode support (register bit field MCR[DOZE]). */ +#define FSL_FEATURE_FLEXCAN_INSTANCE_HAS_DOZE_MODE_SUPPORTn(x) (1) +/* @brief Has a glitch filter on the receive pin (register bit field MCR[WAKSRC]). */ +#define FSL_FEATURE_FLEXCAN_HAS_GLITCH_FILTER (1) +/* @brief Has extended interrupt mask and flag register (register IMASK2, IFLAG2). */ +#define FSL_FEATURE_FLEXCAN_HAS_EXTENDED_FLAG_REGISTER (1) +/* @brief Instance has extended bit timing register (register CBT). */ +#define FSL_FEATURE_FLEXCAN_INSTANCE_HAS_EXTENDED_TIMING_REGISTERn(x) (1) +/* @brief Has a receive FIFO DMA feature (register bit field MCR[DMA]). */ +#define FSL_FEATURE_FLEXCAN_HAS_RX_FIFO_DMA (1) +/* @brief Instance has a receive FIFO DMA feature (register bit field MCR[DMA]). */ +#define FSL_FEATURE_FLEXCAN_INSTANCE_HAS_RX_FIFO_DMAn(x) (1) +/* @brief Remove CAN Engine Clock Source Selection from unsupported part. */ +#define FSL_FEATURE_FLEXCAN_SUPPORT_ENGINE_CLK_SEL_REMOVE (0) +/* @brief Instance remove CAN Engine Clock Source Selection from unsupported part. */ +#define FSL_FEATURE_FLEXCAN_INSTANCE_SUPPORT_ENGINE_CLK_SEL_REMOVEn(x) (0) +/* @brief Is affected by errata with ID 5641 (Module does not transmit a message that is enabled to be transmitted at a specific moment during the arbitration process). */ +#define FSL_FEATURE_FLEXCAN_HAS_ERRATA_5641 (0) +/* @brief Is affected by errata with ID 5829 (FlexCAN: FlexCAN does not transmit a message that is enabled to be transmitted in a specific moment during the arbitration process). */ +#define FSL_FEATURE_FLEXCAN_HAS_ERRATA_5829 (0) +/* @brief Is affected by errata with ID 6032 (FlexCAN: A frame with wrong ID or payload is transmitted into the CAN bus when the Message Buffer under transmission is either aborted or deactivated while the CAN bus is in the Bus Idle state). */ +#define FSL_FEATURE_FLEXCAN_HAS_ERRATA_6032 (0) +/* @brief Is affected by errata with ID 9595 (FlexCAN: Corrupt frame possible if the Freeze Mode or the Low-Power Mode are entered during a Bus-Off state). */ +#define FSL_FEATURE_FLEXCAN_HAS_ERRATA_9595 (0) +/* @brief Has CAN with Flexible Data rate (CAN FD) protocol. */ +#define FSL_FEATURE_FLEXCAN_HAS_FLEXIBLE_DATA_RATE (1) +/* @brief CAN instance support Flexible Data rate (CAN FD) protocol. */ +#define FSL_FEATURE_FLEXCAN_INSTANCE_HAS_FLEXIBLE_DATA_RATEn(x) (1) +/* @brief Has memory error control (register MECR). */ +#define FSL_FEATURE_FLEXCAN_HAS_MEMORY_ERROR_CONTROL (1) +/* @brief Init memory base 1 */ +#define FSL_FEATURE_FLEXCAN_INIT_MEMORY_BASE_1 (0x80) +/* @brief Init memory size 1 */ +#define FSL_FEATURE_FLEXCAN_INIT_MEMORY_SIZE_1 (0xA60) +/* @brief Init memory base 2 */ +#define FSL_FEATURE_FLEXCAN_INIT_MEMORY_BASE_2 (0xC20) +/* @brief Init memory size 2 */ +#define FSL_FEATURE_FLEXCAN_INIT_MEMORY_SIZE_2 (0x25E0) +/* @brief Has enhanced bit timing register (register EPRS, ENCBT, EDCBT and ETDC). */ +#define FSL_FEATURE_FLEXCAN_HAS_ENHANCED_BIT_TIMING_REG (1) +/* @brief Has Pretended Networking mode support. */ +#define FSL_FEATURE_FLEXCAN_HAS_PN_MODE (0) +/* @brief Has Enhanced Rx FIFO. */ +#define FSL_FEATURE_FLEXCAN_HAS_ENHANCED_RX_FIFO (1) +/* @brief Enhanced Rx FIFO size (Indicates how many CAN FD messages can be stored). */ +#define FSL_FEATURE_FLEXCAN_HAS_ENHANCED_RX_FIFO_SIZE (20) +/* @brief The number of enhanced Rx FIFO filter element registers. */ +#define FSL_FEATURE_FLEXCAN_HAS_ENHANCED_RX_FIFO_FILTER_MAX_NUMBER (128) +/* @brief Does not support Supervisor Mode (bitfield MCR[SUPV]. */ +#define FSL_FEATURE_FLEXCAN_HAS_NO_SUPV_SUPPORT (0) + +/* EDMA module features */ + +/* @brief Number of DMA channels (related to number of registers TCD, DCHPRI, bit fields ERQ[ERQn], EEI[EEIn], INT[INTn], ERR[ERRn], HRS[HRSn] and bit field widths ES[ERRCHN], CEEI[CEEI], SEEI[SEEI], CERQ[CERQ], SERQ[SERQ], CDNE[CDNE], SSRT[SSRT], CERR[CERR], CINT[CINT], TCDn_CITER_ELINKYES[LINKCH], TCDn_CSR[MAJORLINKCH], TCDn_BITER_ELINKYES[LINKCH]). (Valid only for eDMA modules.) */ +#define FSL_FEATURE_EDMA_MODULE_CHANNEL (64) +/* @brief If 8 bytes transfer supported. */ +#define FSL_FEATURE_EDMA_SUPPORT_8_BYTES_TRANSFER (1) +/* @brief Number of channel for each EDMA instance, (only defined for soc with different channel numbers for difference instance) */ +#define FSL_FEATURE_EDMA_INSTANCE_CHANNELn(x) \ + (((x) == DMA4) ? (64) : \ + (((x) == DMA3) ? (31) : (-1))) +/* @brief If 16 bytes transfer supported. */ +#define FSL_FEATURE_EDMA_SUPPORT_16_BYTES_TRANSFER (1) +/* @brief Number of DMA channel groups (register bit fields CR[ERGA], CR[GRPnPRI], ES[GPE], DCHPRIn[GRPPRI]). (Valid only for eDMA modules.) */ +#define FSL_FEATURE_EDMA_CHANNEL_GROUP_COUNT (1) +/* @brief Has register bit fields MP_CSR[GMRC]. */ +#define FSL_FEATURE_EDMA_HAS_GLOBAL_MASTER_ID_REPLICATION (1) +/* @brief If 64 bytes transfer supported. */ +#define FSL_FEATURE_EDMA_SUPPORT_64_BYTES_TRANSFER (1) +/* @brief Has DMA_Error interrupt vector. */ +#define FSL_FEATURE_EDMA_HAS_ERROR_IRQ (1) +/* @brief Has register bit fields CR[CLM]. */ +#define FSL_FEATURE_EDMA_HAS_CONTINUOUS_LINK_MODE (0) +/* @brief If 128 bytes transfer supported. */ +#define FSL_FEATURE_EDMA_SUPPORT_128_BYTES_TRANSFER (1) +/* @brief whether has prot register */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_PROT_REGISTERn(x) (0) +/* @brief NBYTES must be multiple of 8 when using scatter gather. */ +#define FSL_FEATURE_EDMA_HAS_ERRATA_51327 (0) +/* @brief If 128 bytes transfer supported. */ +#define FSL_FEATURE_EDMA_INSTANCE_SUPPORT_128_BYTES_TRANSFERn(x) (1) +/* @brief whether has MP channel mux */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_MP_CHANNEL_MUXn(x) (0) +/* @brief NBYTES must be multiple of 8 when using scatter gather. */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_ERRATA_51327n(x) (0) +/* @brief Has register CH_CSR. */ +#define FSL_FEATURE_EDMA_HAS_CHANNEL_CONFIG (1) +/* @brief If channel clock controlled independently */ +#define FSL_FEATURE_EDMA_CHANNEL_HAS_OWN_CLOCK_GATE (1) +/* @brief Instance has channel mux */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_CHANNEL_MUXn(x) \ + (((x) == EDMA4_2__TCD) ? (1) : \ + (((x) == EDMA3_1__TCD) ? (0) : (-1))) +/* @brief eDMA3 has channel mux */ +#define FSL_FEATURE_EDMA_HAS_CHANNEL_MUX (0) +/* @brief Has register CH_SBR. */ +#define FSL_FEATURE_EDMA_HAS_SBR (1) +/* @brief Has no register bit fields MP_CSR[EBW]. */ +#define FSL_FEATURE_EDMA_HAS_NO_MP_CSR_EBW (1) +/* @brief Has no register bit fields CH_SBR[ATTR]. */ +#define FSL_FEATURE_EDMA_HAS_NO_CH_SBR_ATTR (0) +/* @brief If dma has common clock gate */ +#define FSL_FEATURE_EDMA_HAS_COMMON_CLOCK_GATE (0) +/* @brief Has register bit field CH_CSR[SWAP]. */ +#define FSL_FEATURE_EDMA_HAS_CHANNEL_SWAP_SIZE (1) +/* @brief If dma channel IRQ support parameter */ +#define FSL_FEATURE_EDMA_MODULE_CHANNEL_IRQ_ENTRY_SUPPORT_PARAMETER (0) +/* @brief Instance has register bit field CH_CSR[SWAP]. */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_CHANNEL_SWAP_SIZEn(x) \ + (((x) == EDMA4_2__TCD) ? (1) : \ + (((x) == EDMA3_1__TCD) ? (0) : (-1))) +/* @brief Has register bit field CH_SBR[INSTR]. */ +#define FSL_FEATURE_EDMA_HAS_CHANNEL_ACCESS_TYPE (1) +/* @brief Instance has register bit field CH_SBR[INSTR]. */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_CHANNEL_ACCESS_TYPEn(x) \ + (((x) == EDMA4_2__TCD) ? (1) : \ + (((x) == EDMA3_1__TCD) ? (0) : (-1))) +/* @brief Has register bit fields CH_MATTR[WCACHE], CH_MATTR[RCACHE]. */ +#define FSL_FEATURE_EDMA_HAS_CHANNEL_MEMORY_ATTRIBUTE (1) +/* @brief Instance has register CH_MATTR. */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_CHANNEL_MEMORY_ATTRIBUTEn(x) \ + (((x) == EDMA4_2__TCD) ? (1) : \ + (((x) == EDMA3_1__TCD) ? (0) : (-1))) +/* @brief Has register bit field CH_CSR[SIGNEXT]. */ +#define FSL_FEATURE_EDMA_HAS_CHANNEL_SIGN_EXTENSION (1) +/* @brief Instance Has register bit field CH_CSR[SIGNEXT]. */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_CHANNEL_SIGN_EXTENSIONn(x) \ + (((x) == EDMA4_2__TCD) ? (1) : \ + (((x) == EDMA3_1__TCD) ? (0) : (-1))) +/* @brief Has register bit field TCD_CSR[BWC]. */ +#define FSL_FEATURE_EDMA_HAS_BANDWIDTH (1) +/* @brief Instance has register bit field TCD_CSR[BWC]. */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_BANDWIDTHn(x) \ + (((x) == EDMA4_2__TCD) ? (0) : \ + (((x) == EDMA3_1__TCD) ? (1) : (-1))) +/* @brief Has register bit fields TCD_CSR[TMC]. */ +#define FSL_FEATURE_EDMA_HAS_TRANSFER_MODE (1) +/* @brief Instance has register bit fields TCD_CSR[TMC]. */ +#define FSL_FEATURE_EDMA_INSTANCE_HAS_TRANSFER_MODEn(x) \ + (((x) == EDMA4_2__TCD) ? (1) : \ + (((x) == EDMA3_1__TCD) ? (0) : (-1))) + +/* ENET module features */ + +/* @brief Support Interrupt Coalesce */ +#define FSL_FEATURE_ENET_HAS_INTERRUPT_COALESCE (1) +/* @brief Queue Size. */ +#define FSL_FEATURE_ENET_QUEUE (3) +/* @brief Has AVB Support. */ +#define FSL_FEATURE_ENET_HAS_AVB (1) +/* @brief Has Timer Pulse Width control. */ +#define FSL_FEATURE_ENET_HAS_TIMER_PWCONTROL (0) +/* @brief Has Extend MDIO Support. */ +#define FSL_FEATURE_ENET_HAS_EXTEND_MDIO (1) +/* @brief Has Additional 1588 Timer Channel Interrupt. */ +#define FSL_FEATURE_ENET_HAS_ADD_1588_TIMER_CHN_INT (0) +/* @brief Support Interrupt Coalesce for each instance */ +#define FSL_FEATURE_ENET_INSTANCE_HAS_INTERRUPT_COALESCEn(x) (1) +/* @brief Queue Size for each instance. */ +#define FSL_FEATURE_ENET_INSTANCE_QUEUEn(x) (3) +/* @brief Has AVB Support for each instance. */ +#define FSL_FEATURE_ENET_INSTANCE_HAS_AVBn(x) (1) +/* @brief Has Timer Pulse Width control for each instance. */ +#define FSL_FEATURE_ENET_INSTANCE_HAS_TIMER_PWCONTROLn(x) (0) +/* @brief Has Extend MDIO Support for each instance. */ +#define FSL_FEATURE_ENET_INSTANCE_HAS_EXTEND_MDIOn(x) (1) +/* @brief Has Additional 1588 Timer Channel Interrupt for each instance. */ +#define FSL_FEATURE_ENET_INSTANCE_HAS_ADD_1588_TIMER_CHN_INTn(x) (0) +/* @brief Has threshold for the number of frames in the receive FIFO (register bit field RSEM[STAT_SECTION_EMPTY]). */ +#define FSL_FEATURE_ENET_HAS_RECEIVE_STATUS_THRESHOLD (1) +/* @brief Has trasfer clock delay (register bit field ECR[TXC_DLY]). */ +#define FSL_FEATURE_ENET_HAS_RGMII_TXC_DELAY (1) +/* @brief Has receive clock delay (register bit field ECR[RXC_DLY]). */ +#define FSL_FEATURE_ENET_HAS_RGMII_RXC_DELAY (1) +/* @brief PTP Timestamp CAPTURE bit always returns 0 when the capture is not over. */ +#define FSL_FEATURE_ENET_TIMESTAMP_CAPTURE_BIT_INVALID (0) +/* @brief ENET Has Extra Clock Gate.(RW610). */ +#define FSL_FEATURE_ENET_HAS_EXTRA_CLOCK_GATE (0) + +/* ENET_QOS module features */ + +/* @brief ENET QOS Queue Tx checksum offload support bit map. */ +#define FSL_FEATURE_ENET_QOS_TX_OFFLOAD_QUEUE_SUPPORT_BITMAP (0x1) + +/* FLEXSPI module features */ + +/* @brief FlexSPI AHB buffer count */ +#define FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNTn(x) (8) +/* @brief FlexSPI has no data learn. */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_DATA_LEARN (0) +/* @brief There is AHBBUSERROREN bit in INTEN register. */ +#define FSL_FEATURE_FLEXSPI_HAS_INTEN_AHBBUSERROREN (1) +/* @brief There is CLRAHBTX_RXBUF bit in AHBCR register. */ +#define FSL_FEATURE_FLEXSPI_HAS_AHBCR_CLRAHBTX_RXBUF (1) +/* @brief FLEXSPI has no IP parallel mode. */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_IP_PARALLEL_MODE (1) +/* @brief FLEXSPI has no AHB parallel mode. */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_AHB_PARALLEL_MODE (1) +/* @brief FLEXSPI support address shift. */ +#define FSL_FEATURE_FLEXSPI_SUPPORT_ADDRESS_SHIFT (0) +/* @brief FlexSPI has no MCR0 ARDFEN bit */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ARDFEN (0) +/* @brief FlexSPI has no MCR0 ATDFEN bit */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ATDFEN (0) +/* @brief FlexSPI has no MCR0 COMBINATIONEN bit */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_COMBINATIONEN (1) +/* @brief FlexSPI has no FLSHCR4 WMENB bit */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_FLSHCR4_WMENB (1) +/* @brief FlexSPI has no STS0 DATALEARNPHASEB bit */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_STS0_DATALEARNPHASEB (1) +/* @brief FlexSPI has no MCR2 SCKBDIFFOPT bit */ +#define FSL_FEATURE_FLEXSPI_HAS_NO_MCR2_SCKBDIFFOPT (1) +/* @brief FlexSPI AHB RX buffer size (byte) */ +#define FSL_FEATURE_FLEXSPI_AHB_RX_BUFFER_SIZEn(x) (2048) +/* @brief FlexSPI Array Length */ +#define FSL_FEATURE_FLEXSPI_ARRAY_LEN (1) + +/* RGPIO module features */ + +/* @brief Has GPIO attribute checker register (GACR). */ +#define FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER (0) +/* @brief There is ICR registers */ +#define FSL_FEATURE_RGPIO_HAS_IRQ_CONFIG (1) +/* @brief There is PIDR register */ +#define FSL_FEATURE_RGPIO_HAS_PORT_INPUT_DISABLE (1) + +/* I3C module features */ + +/* @brief Has TERM bitfile in MERRWARN register. */ +#define FSL_FEATURE_I3C_HAS_NO_MERRWARN_TERM (0) +/* @brief SOC has no reset driver. */ +#define FSL_FEATURE_I3C_HAS_NO_RESET (1) +/* @brief Use fixed BAMATCH count, do not provide editable BAMATCH. */ +#define FSL_FEATURE_I3C_HAS_NO_SCONFIG_BAMATCH (0) +/* @brief Register SCONFIG do not have IDRAND bitfield. */ +#define FSL_FEATURE_I3C_HAS_NO_SCONFIG_IDRAND (1) +/* @brief Register SCONFIG has HDROK bitfield. */ +#define FSL_FEATURE_I3C_HAS_HDROK (1) +/* @brief SOC doesn't support slave IBI/MR/HJ. */ +#define FSL_FEATURE_I3C_HAS_NO_SLAVE_IBI_MR_HJ (0) +/* @brief Has SCL delay after START. */ +#define FSL_FEATURE_I3C_HAS_START_SCL_DELAY (1) +/* @brief Has no the master write data register for DMA. */ +#define FSL_FEATURE_I3C_HAS_NO_MASTER_DMA_WDATA_REG (0) + +/* IOMUXC1 module features */ + +/* @brief Has SDK API function for IOMUXC1 setting. */ +#define FSL_FEATURE_IOMUXC1_HAS_SDK_SUPPORT (0) + +/* LPI2C module features */ + +/* @brief Has separate DMA RX and TX requests. */ +#define FSL_FEATURE_LPI2C_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) +/* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ +#define FSL_FEATURE_LPI2C_FIFO_SIZEn(x) (8) + +/* LPIT module features */ + +/* @brief Number of channels (related to number of registers LDVALn, CVALn, TCTRLn, TFLGn). */ +#define FSL_FEATURE_LPIT_TIMER_COUNT (4) +/* @brief Has lifetime timer (related to existence of registers LTMR64L and LTMR64H). */ +#define FSL_FEATURE_LPIT_HAS_LIFETIME_TIMER (0) +/* @brief Has shared interrupt handler (has not individual interrupt handler for each channel). */ +#define FSL_FEATURE_LPIT_HAS_SHARED_IRQ_HANDLER (1) + +/* LPSPI module features */ + +/* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ +#define FSL_FEATURE_LPSPI_FIFO_SIZEn(x) (8) +/* @brief Has separate DMA RX and TX requests. */ +#define FSL_FEATURE_LPSPI_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) +/* @brief Has CCR1 (related to existence of registers CCR1). */ +#define FSL_FEATURE_LPSPI_HAS_CCR1 (1) +/* @brief Has no PCSCFG bit in CFGR1 register */ +#define FSL_FEATURE_LPSPI_HAS_NO_PCSCFG (1) +/* @brief Has no WIDTH bits in TCR register */ +#define FSL_FEATURE_LPSPI_HAS_NO_MULTI_WIDTH (1) + +/* LPTMR module features */ + +/* @brief Has shared interrupt handler with another LPTMR module. */ +#define FSL_FEATURE_LPTMR_HAS_SHARED_IRQ_HANDLER (0) +/* @brief Whether LPTMR counter is 32 bits width. */ +#define FSL_FEATURE_LPTMR_CNR_WIDTH_IS_32B (1) +/* @brief Has timer DMA request enable (register bit CSR[TDRE]). */ +#define FSL_FEATURE_LPTMR_HAS_CSR_TDRE (1) +/* @brief Do not has prescaler clock source 0. */ +#define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_0_SUPPORT (0) +/* @brief Do not has prescaler clock source 1. */ +#define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_1_SUPPORT (0) +/* @brief Do not has prescaler clock source 2. */ +#define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_2_SUPPORT (0) +/* @brief Do not has prescaler clock source 3. */ +#define FSL_FEATURE_LPTMR_HAS_NO_PRESCALER_CLOCK_SOURCE_3_SUPPORT (0) + +/* LPUART module features */ + +/* @brief Has receive FIFO overflow detection (bit field CFIFO[RXOFE]). */ +#define FSL_FEATURE_LPUART_HAS_IRQ_EXTENDED_FUNCTIONS (0) +/* @brief Has low power features (can be enabled in wait mode via register bit C1[DOZEEN] or CTRL[DOZEEN] if the registers are 32-bit wide). */ +#define FSL_FEATURE_LPUART_HAS_LOW_POWER_UART_SUPPORT (1) +/* @brief Has extended data register ED (or extra flags in the DATA register if the registers are 32-bit wide). */ +#define FSL_FEATURE_LPUART_HAS_EXTENDED_DATA_REGISTER_FLAGS (1) +/* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ +#define FSL_FEATURE_LPUART_HAS_FIFO (1) +/* @brief Has 32-bit register MODIR */ +#define FSL_FEATURE_LPUART_HAS_MODIR (1) +/* @brief Hardware flow control (RTS, CTS) is supported. */ +#define FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT (1) +/* @brief Infrared (modulation) is supported. */ +#define FSL_FEATURE_LPUART_HAS_IR_SUPPORT (1) +/* @brief 2 bits long stop bit is available. */ +#define FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT (1) +/* @brief If 10-bit mode is supported. */ +#define FSL_FEATURE_LPUART_HAS_10BIT_DATA_SUPPORT (1) +/* @brief If 7-bit mode is supported. */ +#define FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT (1) +/* @brief Baud rate fine adjustment is available. */ +#define FSL_FEATURE_LPUART_HAS_BAUD_RATE_FINE_ADJUST_SUPPORT (0) +/* @brief Baud rate oversampling is available (has bit fields C4[OSR], C5[BOTHEDGE], C5[RESYNCDIS] or BAUD[OSR], BAUD[BOTHEDGE], BAUD[RESYNCDIS] if the registers are 32-bit wide). */ +#define FSL_FEATURE_LPUART_HAS_BAUD_RATE_OVER_SAMPLING_SUPPORT (1) +/* @brief Baud rate oversampling is available. */ +#define FSL_FEATURE_LPUART_HAS_RX_RESYNC_SUPPORT (1) +/* @brief Baud rate oversampling is available. */ +#define FSL_FEATURE_LPUART_HAS_BOTH_EDGE_SAMPLING_SUPPORT (1) +/* @brief Peripheral type. */ +#define FSL_FEATURE_LPUART_IS_SCI (1) +/* @brief Capacity (number of entries) of the transmit/receive FIFO (or zero if no FIFO is available). */ +#define FSL_FEATURE_LPUART_FIFO_SIZEn(x) (16) +/* @brief Supports two match addresses to filter incoming frames. */ +#define FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING (1) +/* @brief Has transmitter/receiver DMA enable bits C5[TDMAE]/C5[RDMAE] (or BAUD[TDMAE]/BAUD[RDMAE] if the registers are 32-bit wide). */ +#define FSL_FEATURE_LPUART_HAS_DMA_ENABLE (1) +/* @brief Has transmitter/receiver DMA select bits C4[TDMAS]/C4[RDMAS], resp. C5[TDMAS]/C5[RDMAS] if IS_SCI = 0. */ +#define FSL_FEATURE_LPUART_HAS_DMA_SELECT (0) +/* @brief Data character bit order selection is supported (bit field S2[MSBF] or STAT[MSBF] if the registers are 32-bit wide). */ +#define FSL_FEATURE_LPUART_HAS_BIT_ORDER_SELECT (1) +/* @brief Has smart card (ISO7816 protocol) support and no improved smart card support. */ +#define FSL_FEATURE_LPUART_HAS_SMART_CARD_SUPPORT (0) +/* @brief Has improved smart card (ISO7816 protocol) support. */ +#define FSL_FEATURE_LPUART_HAS_IMPROVED_SMART_CARD_SUPPORT (0) +/* @brief Has local operation network (CEA709.1-B protocol) support. */ +#define FSL_FEATURE_LPUART_HAS_LOCAL_OPERATION_NETWORK_SUPPORT (0) +/* @brief Has 32-bit registers (BAUD, STAT, CTRL, DATA, MATCH, MODIR) instead of 8-bit (BDH, BDL, C1, S1, D, etc.). */ +#define FSL_FEATURE_LPUART_HAS_32BIT_REGISTERS (1) +/* @brief Lin break detect available (has bit BAUD[LBKDIE]). */ +#define FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT (1) +/* @brief UART stops in Wait mode available (has bit C1[UARTSWAI]). */ +#define FSL_FEATURE_LPUART_HAS_WAIT_MODE_OPERATION (0) +/* @brief Has separate DMA RX and TX requests. */ +#define FSL_FEATURE_LPUART_HAS_SEPARATE_DMA_RX_TX_REQn(x) (1) +/* @brief Has separate RX and TX interrupts. */ +#define FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ (0) +/* @brief Has LPAURT_PARAM. */ +#define FSL_FEATURE_LPUART_HAS_PARAM (1) +/* @brief Has LPUART_VERID. */ +#define FSL_FEATURE_LPUART_HAS_VERID (1) +/* @brief Has LPUART_GLOBAL. */ +#define FSL_FEATURE_LPUART_HAS_GLOBAL (1) +/* @brief Has LPUART_PINCFG. */ +#define FSL_FEATURE_LPUART_HAS_PINCFG (1) +/* @brief Has register MODEM Control. */ +#define FSL_FEATURE_LPUART_HAS_MCR (1) +/* @brief Has register Half Duplex Control. */ +#define FSL_FEATURE_LPUART_HAS_HDCR (1) +/* @brief Has register Timeout. */ +#define FSL_FEATURE_LPUART_HAS_TIMEOUT (1) + +/* PDM module features */ + +/* @brief PDM FIFO offset */ +#define FSL_FEATURE_PDM_FIFO_OFFSET (4) +/* @brief PDM Channel Number */ +#define FSL_FEATURE_PDM_CHANNEL_NUM (8) +/* @brief PDM FIFO WIDTH Size */ +#define FSL_FEATURE_PDM_FIFO_WIDTH (4) +/* @brief PDM FIFO DEPTH Size */ +#define FSL_FEATURE_PDM_FIFO_DEPTH (8) +/* @brief PDM has RANGE_CTRL register */ +#define FSL_FEATURE_PDM_HAS_RANGE_CTRL (1) +/* @brief PDM Has Low Frequency */ +#define FSL_FEATURE_PDM_HAS_STATUS_LOW_FREQ (1) +/* @brief CLKDIV factor in Medium, High and Low Quality modes */ +#define FSL_FEATURE_PDM_HIGH_QUALITY_CLKDIV_FACTOR (93) +/* @brief CLKDIV factor in Very Low Quality modes */ +#define FSL_FEATURE_PDM_VERY_LOW_QUALITY_CLKDIV_FACTOR (43) +/* @brief PDM Has No VADEF Bitfield In PDM VAD0_STAT Register */ +#define FSL_FEATURE_PDM_HAS_NO_VADEF (1) +/* @brief PDM Has no FIR_RDY Bitfield In PDM STAT Register */ +#define FSL_FEATURE_PDM_HAS_NO_FIR_RDY (0) +/* @brief PDM Has no DOZEN Bitfield In PDM CTRL_1 Register */ +#define FSL_FEATURE_PDM_HAS_NO_DOZEN (0) +/* @brief PDM Has DEC_BYPASS Bitfield In PDM CTRL_2 Register */ +#define FSL_FEATURE_PDM_HAS_DECIMATION_FILTER_BYPASS (0) + +/* SAI module features */ + +/* @brief SAI has FIFO in this soc (register bit fields TCR1[TFW]. */ +#define FSL_FEATURE_SAI_HAS_FIFO (1) +/* @brief Receive/transmit FIFO size in item count (register bit fields TCSR[FRDE], TCSR[FRIE], TCSR[FRF], TCR1[TFW], RCSR[FRDE], RCSR[FRIE], RCSR[FRF], RCR1[RFW], registers TFRn, RFRn). */ +#define FSL_FEATURE_SAI_FIFO_COUNTn(x) \ + (((x) == SAI1) ? (64) : \ + (((x) == SAI2) ? (128) : \ + (((x) == SAI3) ? (128) : (-1)))) +/* @brief Receive/transmit channel number (register bit fields TCR3[TCE], RCR3[RCE], registers TDRn and RDRn). */ +#define FSL_FEATURE_SAI_CHANNEL_COUNTn(x) \ + (((x) == SAI1) ? (2) : \ + (((x) == SAI2) ? (1) : \ + (((x) == SAI3) ? (1) : (-1)))) +/* @brief Maximum words per frame (register bit fields TCR3[WDFL], TCR4[FRSZ], TMR[TWM], RCR3[WDFL], RCR4[FRSZ], RMR[RWM]). */ +#define FSL_FEATURE_SAI_MAX_WORDS_PER_FRAME (32) +/* @brief Has support of combining multiple data channel FIFOs into single channel FIFO (register bit fields TCR3[CFR], TCR4[FCOMB], TFR0[WCP], TFR1[WCP], RCR3[CFR], RCR4[FCOMB], RFR0[RCP], RFR1[RCP]). */ +#define FSL_FEATURE_SAI_HAS_FIFO_COMBINE_MODE (1) +/* @brief Has packing of 8-bit and 16-bit data into each 32-bit FIFO word (register bit fields TCR4[FPACK], RCR4[FPACK]). */ +#define FSL_FEATURE_SAI_HAS_FIFO_PACKING (1) +/* @brief Configures when the SAI will continue transmitting after a FIFO error has been detected (register bit fields TCR4[FCONT], RCR4[FCONT]). */ +#define FSL_FEATURE_SAI_HAS_FIFO_FUNCTION_AFTER_ERROR (1) +/* @brief Configures if the frame sync is generated internally, a frame sync is only generated when the FIFO warning flag is clear or continuously (register bit fields TCR4[ONDEM], RCR4[ONDEM]). */ +#define FSL_FEATURE_SAI_HAS_ON_DEMAND_MODE (1) +/* @brief Simplified bit clock source and asynchronous/synchronous mode selection (register bit fields TCR2[CLKMODE], RCR2[CLKMODE]), in comparison with the exclusively implemented TCR2[SYNC,BCS,BCI,MSEL], RCR2[SYNC,BCS,BCI,MSEL]. */ +#define FSL_FEATURE_SAI_HAS_CLOCKING_MODE (0) +/* @brief Has register for configuration of the MCLK divide ratio (register bit fields MDR[FRACT], MDR[DIVIDE]). */ +#define FSL_FEATURE_SAI_HAS_MCLKDIV_REGISTER (0) +/* @brief Interrupt source number */ +#define FSL_FEATURE_SAI_INT_SOURCE_NUM (1) +/* @brief Has register of MCR. */ +#define FSL_FEATURE_SAI_HAS_MCR (1) +/* @brief Has bit field MICS of the MCR register. */ +#define FSL_FEATURE_SAI_HAS_NO_MCR_MICS (1) +/* @brief Has register of MDR */ +#define FSL_FEATURE_SAI_HAS_MDR (0) +/* @brief Has support the BCLK bypass mode when BCLK = MCLK. */ +#define FSL_FEATURE_SAI_HAS_BCLK_BYPASS (1) +/* @brief Has DIV bit fields of MCR register (register bit fields MCR[DIV]. */ +#define FSL_FEATURE_SAI_HAS_MCR_MCLK_POST_DIV (1) +/* @brief Support Channel Mode (register bit fields TCR4[CHMOD]). */ +#define FSL_FEATURE_SAI_HAS_CHANNEL_MODE (1) +/* @brief Support synchronous with another SAI. */ +#define FSL_FEATURE_SAI_HAS_SYNC_WITH_ANOTHER_SAI (0) + +/* SEMA42 module features */ + +/* @brief Gate counts */ +#define FSL_FEATURE_SEMA42_GATE_COUNT (64) + +/* TPM module features */ + +/* @brief Number of channels. */ +#define FSL_FEATURE_TPM_CHANNEL_COUNTn(x) (4) +/* @brief Has counter reset by the selected input capture event (register bits C0SC[ICRST], C1SC[ICRST], ...). */ +#define FSL_FEATURE_TPM_HAS_COUNTER_RESET_BY_CAPTURE_EVENT (0) +/* @brief Has TPM_PARAM. */ +#define FSL_FEATURE_TPM_HAS_PARAM (1) +/* @brief Has TPM_VERID. */ +#define FSL_FEATURE_TPM_HAS_VERID (1) +/* @brief Has TPM_GLOBAL. */ +#define FSL_FEATURE_TPM_HAS_GLOBAL (1) +/* @brief Has TPM_TRIG. */ +#define FSL_FEATURE_TPM_HAS_TRIG (1) +/* @brief Whether TRIG register has effect. */ +#define FSL_FEATURE_TPM_TRIG_HAS_EFFECTn(x) (0) +/* @brief Has global time base enable. */ +#define FSL_FEATURE_TPM_HAS_GLOBAL_TIME_BASE_EN (1) +/* @brief Has global time base sync. */ +#define FSL_FEATURE_TPM_HAS_GLOBAL_TIME_BASE_SYNC (1) +/* @brief Has counter pause on trigger. */ +#define FSL_FEATURE_TPM_HAS_PAUSE_COUNTER_ON_TRIGGER (1) +/* @brief Has external trigger selection. */ +#define FSL_FEATURE_TPM_HAS_EXTERNAL_TRIGGER_SELECTION (1) +/* @brief Has TPM_COMBINE register. */ +#define FSL_FEATURE_TPM_HAS_COMBINE (1) +/* @brief Whether COMBINE register has effect. */ +#define FSL_FEATURE_TPM_COMBINE_HAS_EFFECTn(x) (1) +/* @brief Has TPM_POL. */ +#define FSL_FEATURE_TPM_HAS_POL (1) +/* @brief Whether POL register has effect. */ +#define FSL_FEATURE_TPM_POL_HAS_EFFECTn(x) (0) +/* @brief Has TPM_FILTER register. */ +#define FSL_FEATURE_TPM_HAS_FILTER (1) +/* @brief Whether FILTER register has effect. */ +#define FSL_FEATURE_TPM_FILTER_HAS_EFFECTn(x) (1) +/* @brief Has TPM_QDCTRL register. */ +#define FSL_FEATURE_TPM_HAS_QDCTRL (1) +/* @brief Whether QDCTRL register has effect. */ +#define FSL_FEATURE_TPM_QDCTRL_HAS_EFFECTn(x) (1) +/* @brief Has pause level select. */ +#define FSL_FEATURE_TPM_HAS_PAUSE_LEVEL_SELECT (1) +/* @brief Whether 32 bits counter has effect. */ +#define FSL_FEATURE_TPM_HAS_32BIT_COUNTERn(x) (1) + +/* TRDC module features */ + +/* @brief Process master count. */ +#define FSL_FEATURE_TRDC_PROCESSOR_MASTER_COUNT (2) +/* @brief TRDC instance has PID configuration or not. */ +#define FSL_FEATURE_TRDC_INSTANCE_HAS_PID_CONFIGURATIONn(x) (0) +/* @brief TRDC domain number (reset value of HWCFG0[NDID]). */ +#define FSL_FEATURE_TRDC_DOMAIN_COUNT (16) +/* @brief TRDC instance has MBC. */ +#define FSL_FEATURE_TRDC_HAS_MBC (1) +/* @brief TRDC instance has MRC. */ +#define FSL_FEATURE_TRDC_HAS_MRC (1) +/* @brief TRDC instance has TRDC_CR. */ +#define FSL_FEATURE_TRDC_HAS_GENERAL_CONFIG (1) +/* @brief TRDC instance has MDA_Wx_y_DFMT. */ +#define FSL_FEATURE_TRDC_HAS_DOMAIN_ASSIGNMENT (1) +/* @brief TRDC instance has TRDC_FDID. */ +#define FSL_FEATURE_TRDC_HAS_DOMAIN_ERROR (1) +/* @brief TRDC instance has TRDC_FLW_CTL. */ +#define FSL_FEATURE_TRDC_HAS_FLW (1) + +/* USDHC module features */ + +/* @brief Has external DMA support (VEND_SPEC[EXT_DMA_EN]) */ +#define FSL_FEATURE_USDHC_HAS_EXT_DMA (0) +/* @brief Has HS400 mode (MIX_CTRL[HS400_MODE]) */ +#define FSL_FEATURE_USDHC_HAS_HS400_MODE (1) +/* @brief Has SDR50 support (HOST_CTRL_CAP[SDR50_SUPPORT]) */ +#define FSL_FEATURE_USDHC_HAS_SDR50_MODE (1) +/* @brief Has SDR104 support (HOST_CTRL_CAP[SDR104_SUPPORT]) */ +#define FSL_FEATURE_USDHC_HAS_SDR104_MODE (1) +/* @brief USDHC has reset control */ +#define FSL_FEATURE_USDHC_HAS_RESET (0) +/* @brief USDHC has no bitfield WTMK_LVL[WR_BRST_LEN] and WTMK_LVL[RD_BRST_LEN] */ +#define FSL_FEATURE_USDHC_HAS_NO_RW_BURST_LEN (1) +/* @brief If USDHC instance support 8 bit width */ +#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_8_BIT_WIDTHn(x) (1) +/* @brief If USDHC instance support HS400 mode */ +#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_HS400_MODEn(x) (0) +/* @brief If USDHC instance support 1v8 signal */ +#define FSL_FEATURE_USDHC_INSTANCE_SUPPORT_1V8_SIGNALn(x) (1) +/* @brief Has no retuning time counter (HOST_CTRL_CAP[TIME_COUNT_RETURNING]) */ +#define FSL_FEATURE_USDHC_REGISTER_HOST_CTRL_CAP_HAS_NO_RETUNING_TIME_COUNTER (1) +/* @brief Has no VSELECT bit in VEND_SPEC register */ +#define FSL_FEATURE_USDHC_HAS_NO_VOLTAGE_SELECT (0) +/* @brief Has no VS18 bit in HOST_CTRL_CAP register */ +#define FSL_FEATURE_USDHC_HAS_NO_VS18 (0) + +/* WDOG module features */ + +/* @brief Watchdog is available. */ +#define FSL_FEATURE_WDOG_HAS_WATCHDOG (1) +/* @brief WDOG_CNT can be 32-bit written. */ +#define FSL_FEATURE_WDOG_HAS_32BIT_ACCESS (1) + +/* CACHE module features */ + +/* @brief L1 ICACHE line size in byte. */ +#define FSL_FEATURE_L1ICACHE_LINESIZE_BYTE (64) +/* @brief L1 DCACHE line size in byte. */ +#define FSL_FEATURE_L1DCACHE_LINESIZE_BYTE (64) +/* @brief Has NONCACHEABLE section. */ +#define FSL_FEATURE_HAS_NO_NONCACHEABLE_SECTION (0) + +/* MEMORY module features */ + +/* @brief Memory map doesn't have offset between subsystems. */ +#define FSL_FEATURE_MEMORY_HAS_ADDRESS_OFFSET (0) + +#endif /* _MIMX9131_FEATURES_H_ */ + diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/SConscript new file mode 100644 index 00000000000..43869fedcc6 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/SConscript @@ -0,0 +1,19 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') + Glob('drivers/*.c') + +CPPPATH = [cwd, cwd + '/drivers'] +CPPDEFINES = [ + {'CPU_MIMX9131DVVXJ': 1} +] +objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES) + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/all_lib_device_MIMX9131.cmake b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/all_lib_device_MIMX9131.cmake new file mode 100644 index 00000000000..3dd91b836a6 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/all_lib_device_MIMX9131.cmake @@ -0,0 +1,64 @@ +list(APPEND CMAKE_MODULE_PATH + ${CMAKE_CURRENT_LIST_DIR}/. + ${CMAKE_CURRENT_LIST_DIR}/../../CMSIS/Core_AArch64/Include + ${CMAKE_CURRENT_LIST_DIR}/../../components/i2c + ${CMAKE_CURRENT_LIST_DIR}/../../components/lists + ${CMAKE_CURRENT_LIST_DIR}/../../components/phy + ${CMAKE_CURRENT_LIST_DIR}/../../components/phy/device/phyrtl8211f + ${CMAKE_CURRENT_LIST_DIR}/../../components/phy/mdio + ${CMAKE_CURRENT_LIST_DIR}/../../components/phy/mdio/enet + ${CMAKE_CURRENT_LIST_DIR}/../../components/phy/mdio/enet_qos + ${CMAKE_CURRENT_LIST_DIR}/../../components/serial_manager + ${CMAKE_CURRENT_LIST_DIR}/../../components/uart + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/cache/armv8-a + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/common + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/enet + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/enet_qos + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/flexcan + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lptmr + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/tpm + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpi2c + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpuart + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/mu1 + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/rgpio + ${CMAKE_CURRENT_LIST_DIR}/../../drivers/sai + ${CMAKE_CURRENT_LIST_DIR}/../../utilities/assert + ${CMAKE_CURRENT_LIST_DIR}/../../utilities + ${CMAKE_CURRENT_LIST_DIR}/../../utilities/misc_utilities + ${CMAKE_CURRENT_LIST_DIR}/drivers +) + + +# Copy the cmake components into projects +# include(driver_lpi2c) +# include(driver_lpi2c_edma) +# include(driver_lpi2c_freertos) +# include(driver_lpuart_dma) +# include(driver_lpuart_edma) +# include(driver_lpuart_freertos) +# include(component_lpi2c_adapter) +# include(component_lpuart_adapter) +# include(component_lists) +# include(component_serial_manager) +# include(component_serial_manager_uart) +# include(device_startup) +# include(device_system) +# include(driver_cache_armv8a) +# include(driver_common) +# include(driver_enet) +# include(driver_flexcan) +# include(driver_lptmr) +# include(driver_tpm) +# include(driver_rgpio) +# include(driver_lpuart) +# include(driver_mdio-enet) +# include(driver_mu1) +# include(driver_phy-device-rtl8211f) +# include(driver_sai) +# include(middleware_freertos-kernel_aarch64) +# include(middleware_freertos-kernel_extension) +# include(middleware_freertos-kernel_heap_4) +# include(utilities_misc_utilities) +# include(utility_assert) +# include(utility_debug_console) +# include(utility_debug_console_lite) diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/device_CMSIS.cmake b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/device_CMSIS.cmake new file mode 100644 index 00000000000..5c14b183da7 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/device_CMSIS.cmake @@ -0,0 +1,15 @@ +#Description: device_CMSIS; user_visible: False +include_guard(GLOBAL) +message("device_CMSIS component is included.") + +target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE +) + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/. +) + + +if(${MCUX_DEVICE} STREQUAL "MIMX9131") + include(CMSIS_Include_core_ca OPTIONAL) +endif() diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/device_system.cmake b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/device_system.cmake new file mode 100644 index 00000000000..e59c2802ab1 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/device_system.cmake @@ -0,0 +1,14 @@ +#Description: device_system; user_visible: False +include_guard(GLOBAL) +message("device_system component is included.") + +target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/system_MIMX9131.c +) + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/. +) + + +#include(device_CMSIS) diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_clock.cmake b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_clock.cmake new file mode 100644 index 00000000000..e91de205335 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_clock.cmake @@ -0,0 +1,15 @@ +include_guard() +message("driver_clock component is included.") + +target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/fsl_clock.c +) + + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/. +) + + +include(driver_common) + diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_iomuxc.cmake b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_iomuxc.cmake new file mode 100644 index 00000000000..71c55a6a05c --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_iomuxc.cmake @@ -0,0 +1,10 @@ +include_guard() +message("driver_iomuxc component is included.") + + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/. +) + +include(driver_common) + diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_memory.cmake b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_memory.cmake new file mode 100644 index 00000000000..f8778e3fa0e --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_memory.cmake @@ -0,0 +1,10 @@ +include_guard() +message("driver_memory component is included.") + + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/. +) + +include(driver_common) + diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_reset.cmake b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_reset.cmake new file mode 100644 index 00000000000..9b3c82d5719 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/driver_reset.cmake @@ -0,0 +1,10 @@ +#Description: Reset Driver; user_visible: False +include_guard(GLOBAL) +message("driver_reset component is included.") + +target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE +) + +target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/. +) diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_clock.c b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_clock.c new file mode 100644 index 00000000000..ccc9609fb36 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_clock.c @@ -0,0 +1,149 @@ +/* + * Copyright 2025 NXP + * + * SPDX-License-Identifier: BSD-3-Clause + */ +#include "fsl_clock.h" + +/******************************************************************************* + * Definitions + ******************************************************************************/ +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.clock" +#endif + +/* ROM initializes PLLs with default frequencies except audio/video/ext */ +volatile uint32_t g_clockSourceFreq[kCLOCK_Ext + 1] = { + 24000000U, /* kCLOCK_Osc24M */ + 2000000000U, /* kCLOCK_ArmPll */ + 2000000000U, /* kCLOCK_ArmPllOut */ + 1000000000U, /* kCLOCK_DramPll */ + 1000000000U, /* kCLOCK_DramPllOut */ + 4000000000U, /* kCLOCK_SysPll1 */ + 1000000000U, /* kCLOCK_SysPll1Pfd0 */ + 500000000U, /* kCLOCK_SysPll1Pfd0Div2 */ + 800000000U, /* kCLOCK_SysPll1Pfd1 */ + 400000000U, /* kCLOCK_SysPll1Pfd1Div2 */ + 625000000U, /* kCLOCK_SysPll1Pfd2 */ + 312500000U, /* kCLOCK_SysPll1Pfd2Div2 */ + 0U, /* kCLOCK_AudioPll1 */ + 0U, /* kCLOCK_AudioPll1Out */ + 0U, /* kCLOCK_VideoPll1 */ + 0U, /* kCLOCK_VideoPll1Out */ + 0U /* kCLOCK_Ext */ +}; + +const clock_name_t s_clockSourceName[][4] = { + /*SRC0, SRC1, SRC2, SRC3, */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Arm A55 Periph */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Arm A55 MTR BUS */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Arm A55 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* M33 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Sentinel */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Bus Wakeup */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Bus Aon */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Wakeup Axi */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Swo Trace */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* M33 Systick */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Flexio1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Flexio2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpit1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpit2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lptmr1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lptmr2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm3 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm4 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm5 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm6 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Flexspi1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Can1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Can2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart3 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart4 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart5 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart6 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart7 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart8 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c3 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c4 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c5 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c6 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c7 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c8 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi3 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi4 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi5 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi6 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi7 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi8 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* I3c1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* I3c2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Usdhc1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Usdhc2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Usdhc3 */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Sai1 */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Sai2 */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Sai3 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_AudioPll1Out}, /* Ccm Cko1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_VideoPll1Out}, /* Ccm Cko2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_AudioPll1Out}, /* Ccm Cko3 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_VideoPll1Out}, /* Ccm Cko4 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Hsio */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Hsio Usb Test 60M */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Hsio Acscan 80M */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd2}, /* Hsio Acscan 480M */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Nic */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Nic Apb */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Ml Apb */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Ml */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Media Axi */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Media Apb */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Media Ldb */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Media Disp Pix */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Cam Pix */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Mipi Test Byte */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Mipi Phy Cfg */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Dram Alt */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_SysPll1Pfd2Div2}, /* Dram Apb */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Adc */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Pdm */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Tstmr1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Tstmr2 */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Mqs1 */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Mqs2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_SysPll1Pfd2Div2}, /* Audio XCVR */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Spdif */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_SysPll1Pfd2Div2}, /* Enet */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Enet Timer1 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Enet Timer2 */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_SysPll1Pfd2Div2}, /* Enet Ref */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Enet Ref Phy */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* I3c1 Slow */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* I3c2 Slow */ + {kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Usb Phy Burunin */ + {kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd2} /* Pal Came Scan */ +}; + +uint32_t CLOCK_GetIpFreq(clock_root_t name) +{ + clock_name_t clock; + uint32_t mux; + uint32_t div; + + mux = CLOCK_GetRootClockMux(name); + div = CLOCK_GetRootClockDiv(name); + + clock = CLOCK_GetRootClockSource(name, mux); + assert(clock <= kCLOCK_Ext); + + return g_clockSourceFreq[clock] / div; +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_clock.h b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_clock.h new file mode 100644 index 00000000000..52d6e812008 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_clock.h @@ -0,0 +1,1279 @@ +/* + * Copyright 2025 NXP + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef _FSL_CLOCK_H_ +#define _FSL_CLOCK_H_ + +#include "fsl_common.h" + +/*! @brief CLOCK driver version. */ +#define FSL_CLOCK_DRIVER_VERSION (MAKE_VERSION(1, 0, 1)) + +/*! + * @brief CCM reg macros to map corresponding registers. + */ +#define CCM_REG_OFF(root, off) (*((volatile uint32_t *)((uintptr_t)(root) + (off)))) +#define CCM_REG(root) CCM_REG_OFF(root, 0U) + +/* Definition for delay API in clock driver, users can redefine it to the real application. */ +#ifndef SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY +#define SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY \ + (250000000UL) /* When using Overdrive Voltage, the maximum frequency of cm33 is 250 MHz */ +#endif + +/*! LPM_SETTING + * 0b000..LPCG will be OFF in any CPU mode. + * 0b001..LPCG will be ON in RUN mode, OFF in WAIT/STOP/SUSPEND mode. + * 0b010..LPCG will be ON in RUN/WAIT mode, OFF in STOP/SUSPEND mode. + * 0b011..LPCG will be ON in RUN/WAIT/STOP mode, OFF in SUSPEND mode. + * 0b100..LPCG will be ON in RUN/WAIT/STOP/SUSPEND mode. + */ +#define CCM_LPCG_LPM_SETTING_0 (0U) +#define CCM_LPCG_LPM_SETTING_1 (1U) +#define CCM_LPCG_LPM_SETTING_2 (2U) +#define CCM_LPCG_LPM_SETTING_3 (3U) +#define CCM_LPCG_LPM_SETTING_4 (4U) + +/******************************************************************************* + * PLL Definitions + ******************************************************************************/ + +/*! @brief PLL initialzation data. */ +typedef struct _fracn_pll_init +{ + uint32_t rdiv; + uint32_t mfi; + uint32_t mfn; + uint32_t mfd; + uint32_t odiv; +} fracn_pll_init_t; + +/*! @brief PLL PFD initialzation data. */ +typedef struct _fracn_pll_pfd_init +{ + uint32_t mfi; + uint32_t mfn; + bool div2_en; +} fracn_pll_pfd_init_t; + +/*! + * @brief PLL init. + * + * @param pll PLL base addr. + * @param pll_cfg PLL initailization data. + */ +static inline void CLOCK_PllInit(PLL_Type *pll, const fracn_pll_init_t *pll_cfg) +{ + /* Bypass PLL */ + pll->CTRL.SET = PLL_CTRL_CLKMUX_BYPASS_MASK; + /* Disable output and PLL */ + pll->CTRL.CLR = PLL_CTRL_CLKMUX_EN_MASK | PLL_CTRL_POWERUP_MASK; + /* Set rdiv, mfi, and odiv */ + pll->DIV.RW = PLL_DIV_RDIV(pll_cfg->rdiv) | PLL_DIV_MFI(pll_cfg->mfi) | PLL_DIV_ODIV(pll_cfg->odiv); + /* Disable spread spectrum modulation */ + pll->SPREAD_SPECTRUM.CLR = PLL_SPREAD_SPECTRUM_ENABLE_MASK; + /* Set mfn and mfd */ + pll->NUMERATOR.RW = PLL_NUMERATOR_MFN(pll_cfg->mfn); + pll->DENOMINATOR.RW = PLL_DENOMINATOR_MFD(pll_cfg->mfd); + + /* Power up for locking */ + pll->CTRL.SET = PLL_CTRL_POWERUP_MASK; + while ((pll->PLL_STATUS & PLL_PLL_STATUS_PLL_LOCK_MASK) == 0UL) + { + } + + /* Enable PLL and clean bypass*/ + pll->CTRL.SET = PLL_CTRL_CLKMUX_EN_MASK; + pll->CTRL.CLR = PLL_CTRL_CLKMUX_BYPASS_MASK; + __DSB(); + __ISB(); +} + +/*! + * @brief PLL PFD init. + * + * @param pll PLL base addr. + * @param pfd_n The PFD index number. + * @param pfd_cfg PLL PFD initailization data. + */ +static inline void CLOCK_PllPfdInit(PLL_Type *pll, uint32_t pfd_n, const fracn_pll_pfd_init_t *pfd_cfg) +{ + /* Bypass DFS*/ + pll->DFS[pfd_n].DFS_CTRL.SET = PLL_DFS_BYPASS_EN_MASK; + /* Disable output and DFS */ + pll->DFS[pfd_n].DFS_CTRL.CLR = PLL_DFS_CLKOUT_EN_MASK | PLL_DFS_ENABLE_MASK; + /* Set mfi and mfn */ + pll->DFS[pfd_n].DFS_DIV.RW = PLL_DFS_MFI(pfd_cfg->mfi) | PLL_DFS_MFN(pfd_cfg->mfn); + /* Enable output and DFS*/ + pll->DFS[pfd_n].DFS_CTRL.SET = PLL_DFS_CLKOUT_EN_MASK; + /* Enable div2 */ + if (pfd_cfg->div2_en) + { + pll->DFS[pfd_n].DFS_CTRL.SET = PLL_DFS_CLKOUT_DIVBY2_EN_MASK; + } + /* Enable DFS for locking*/ + pll->DFS[pfd_n].DFS_CTRL.SET = PLL_DFS_ENABLE_MASK; + while (((pll->DFS_STATUS & PLL_DFS_STATUS_DFS_OK_MASK) & (1UL << pfd_n)) == 0UL) + { + } + /* Clean bypass */ + pll->DFS[pfd_n].DFS_CTRL.CLR = PLL_DFS_BYPASS_EN_MASK; + __DSB(); + __ISB(); +} + +/******************************************************************************* + * Clock Source Definitions + ******************************************************************************/ + +/*! + * @brief Clock name. + */ +typedef enum _clock_name +{ + kCLOCK_Osc24M = 0, /*!< 24MHz Oscillator. */ + kCLOCK_ArmPll = 1, /* ARM PLL */ + kCLOCK_ArmPllOut = 2, /* ARM PLL Out */ + kCLOCK_DramPll = 3, /* DRAM PLL */ + kCLOCK_DramPllOut = 4, /* DRAM PLL Out */ + kCLOCK_SysPll1 = 5, /* SYSTEM PLL1 */ + kCLOCK_SysPll1Pfd0 = 6, /* SYSTEM PLL1 PFD0 */ + kCLOCK_SysPll1Pfd0Div2 = 7, /* SYSTEM PLL1 PFD0 DIV2 */ + kCLOCK_SysPll1Pfd1 = 8, /* SYSTEM PLL1 PFD1 */ + kCLOCK_SysPll1Pfd1Div2 = 9, /* SYSTEM PLL1 PFD1 DIV2 */ + kCLOCK_SysPll1Pfd2 = 10, /* SYSTEM PLL1 PFD2 */ + kCLOCK_SysPll1Pfd2Div2 = 11, /* SYSTEM PLL1 PFD2 DIV2 */ + kCLOCK_AudioPll1 = 12, /* AUDIO PLL1 */ + kCLOCK_AudioPll1Out = 13, /* AUDIO PLL1 Out */ + kCLOCK_VideoPll1 = 14, /* VEDIO PLL1 */ + kCLOCK_VideoPll1Out = 15, /* VEDIO PLL1 Out */ + kCLOCK_Ext = 16, /* Ext */ +} clock_name_t; + +extern const clock_name_t s_clockSourceName[][4]; +/******************************************************************************* + * Clock Root Definitions + ******************************************************************************/ + +/*! @brief Clock root configuration */ +typedef struct _clock_root_config_t +{ + bool clockOff; + uint8_t mux; /*!< See #clock_root_mux_source_t for details. */ + uint8_t div; /*!< it's the actual divider */ +} clock_root_config_t; + +/*! + * @brief Root clock index + */ +typedef enum _clock_root +{ + kCLOCK_Root_A55Periph = 0, /*!< CLOCK Root Arm A55 Periph. */ + kCLOCK_Root_A55MtrBus = 1, /*!< CLOCK Root Arm A55 MTR BUS. */ + kCLOCK_Root_A55 = 2, /*!< CLOCK Root Arm A55. */ + kCLOCK_Root_M33 = 3, /*!< CLOCK Root M33. */ + kCLOCK_Root_Sentinel = 4, /*!< CLOCK Root Sentinel. */ + kCLOCK_Root_BusWakeup = 5, /*!< CLOCK Root Bus Wakeup. */ + kCLOCK_Root_BusAon = 6, /*!< CLOCK Root Bus Aon. */ + kCLOCK_Root_WakeupAxi = 7, /*!< CLOCK Root Wakeup Axi. */ + kCLOCK_Root_SwoTrace = 8, /*!< CLOCK Root Swo Trace. */ + kCLOCK_Root_M33Systick = 9, /*!< CLOCK Root M33 Systick. */ + kCLOCK_Root_Flexio1 = 10, /*!< CLOCK Root Flexio1. */ + kCLOCK_Root_Flexio2 = 11, /*!< CLOCK Root Flexio2. */ + kCLOCK_Root_Lpit1 = 12, /*!< CLOCK Root Lpit1. */ + kCLOCK_Root_Lpit2 = 13, /*!< CLOCK Root Lpit2. */ + kCLOCK_Root_Lptmr1 = 14, /*!< CLOCK Root Lptmr1. */ + kCLOCK_Root_Lptmr2 = 15, /*!< CLOCK Root Lptmr2. */ + kCLOCK_Root_Tpm1 = 16, /*!< CLOCK Root Tpm1. */ + kCLOCK_Root_Tpm2 = 17, /*!< CLOCK Root Tpm2. */ + kCLOCK_Root_Tpm3 = 18, /*!< CLOCK Root Tpm3. */ + kCLOCK_Root_Tpm4 = 19, /*!< CLOCK Root Tpm4. */ + kCLOCK_Root_Tpm5 = 20, /*!< CLOCK Root Tpm5. */ + kCLOCK_Root_Tpm6 = 21, /*!< CLOCK Root Tpm6. */ + kCLOCK_Root_Flexspi1 = 22, /*!< CLOCK Root Flexspi1. */ + kCLOCK_Root_Can1 = 23, /*!< CLOCK Root Can1. */ + kCLOCK_Root_Can2 = 24, /*!< CLOCK Root Can2. */ + kCLOCK_Root_Lpuart1 = 25, /*!< CLOCK Root Lpuart1. */ + kCLOCK_Root_Lpuart2 = 26, /*!< CLOCK Root Lpuart2. */ + kCLOCK_Root_Lpuart3 = 27, /*!< CLOCK Root Lpuart3. */ + kCLOCK_Root_Lpuart4 = 28, /*!< CLOCK Root Lpuart4. */ + kCLOCK_Root_Lpuart5 = 29, /*!< CLOCK Root Lpuart5. */ + kCLOCK_Root_Lpuart6 = 30, /*!< CLOCK Root Lpuart6. */ + kCLOCK_Root_Lpuart7 = 31, /*!< CLOCK Root Lpuart7. */ + kCLOCK_Root_Lpuart8 = 32, /*!< CLOCK Root Lpuart8. */ + kCLOCK_Root_Lpi2c1 = 33, /*!< CLOCK Root Lpi2c1. */ + kCLOCK_Root_Lpi2c2 = 34, /*!< CLOCK Root Lpi2c2. */ + kCLOCK_Root_Lpi2c3 = 35, /*!< CLOCK Root Lpi2c3. */ + kCLOCK_Root_Lpi2c4 = 36, /*!< CLOCK Root Lpi2c4. */ + kCLOCK_Root_Lpi2c5 = 37, /*!< CLOCK Root Lpi2c5. */ + kCLOCK_Root_Lpi2c6 = 38, /*!< CLOCK Root Lpi2c6. */ + kCLOCK_Root_Lpi2c7 = 39, /*!< CLOCK Root Lpi2c7. */ + kCLOCK_Root_Lpi2c8 = 40, /*!< CLOCK Root Lpi2c8. */ + kCLOCK_Root_Lpspi1 = 41, /*!< CLOCK Root Lpspi1. */ + kCLOCK_Root_Lpspi2 = 42, /*!< CLOCK Root Lpspi2. */ + kCLOCK_Root_Lpspi3 = 43, /*!< CLOCK Root Lpspi3. */ + kCLOCK_Root_Lpspi4 = 44, /*!< CLOCK Root Lpspi4. */ + kCLOCK_Root_Lpspi5 = 45, /*!< CLOCK Root Lpspi5. */ + kCLOCK_Root_Lpspi6 = 46, /*!< CLOCK Root Lpspi6. */ + kCLOCK_Root_Lpspi7 = 47, /*!< CLOCK Root Lpspi7. */ + kCLOCK_Root_Lpspi8 = 48, /*!< CLOCK Root Lpspi8. */ + kCLOCK_Root_I3c1 = 49, /*!< CLOCK Root I3c1. */ + kCLOCK_Root_I3c2 = 50, /*!< CLOCK Root I3c2. */ + kCLOCK_Root_Usdhc1 = 51, /*!< CLOCK Root Usdhc1. */ + kCLOCK_Root_Usdhc2 = 52, /*!< CLOCK Root Usdhc2. */ + kCLOCK_Root_Usdhc3 = 53, /*!< CLOCK Root Usdhc3. */ + kCLOCK_Root_Sai1 = 54, /*!< CLOCK Root Sai1. */ + kCLOCK_Root_Sai2 = 55, /*!< CLOCK Root Sai2. */ + kCLOCK_Root_Sai3 = 56, /*!< CLOCK Root Sai3. */ + kCLOCK_Root_CcmCko1 = 57, /*!< CLOCK Root Ccm Cko1. */ + kCLOCK_Root_CcmCko2 = 58, /*!< CLOCK Root Ccm Cko2. */ + kCLOCK_Root_CcmCko3 = 59, /*!< CLOCK Root Ccm Cko3. */ + kCLOCK_Root_CcmCko4 = 60, /*!< CLOCK Root Ccm Cko4. */ + kCLOCK_Root_Hsio = 61, /*!< CLOCK Root Hsio. */ + kCLOCK_Root_HsioUsbTest60M = 62, /*!< CLOCK Root Hsio Usb Test 60M. */ + kCLOCK_Root_HsioAcscan80M = 63, /*!< CLOCK Root Hsio Acscan 80M. */ + kCLOCK_Root_HsioAcscan480M = 64, /*!< CLOCK Root Hsio Acscan 480M. */ + kCLOCK_Root_Nic = 65, /*!< CLOCK Root Nic. */ + kCLOCK_Root_NicApb = 66, /*!< CLOCK Root Nic Apb. */ + kCLOCK_Root_MlApb = 67, /*!< CLOCK Root Ml Apb. */ + kCLOCK_Root_Ml = 68, /*!< CLOCK Root Ml. */ + kCLOCK_Root_MediaAxi = 69, /*!< CLOCK Root Media Axi. */ + kCLOCK_Root_MediaApb = 70, /*!< CLOCK Root Media Apb. */ + kCLOCK_Root_MediaLdb = 71, /*!< CLOCK Root Media Ldb. */ + kCLOCK_Root_MediaDispPix = 72, /*!< CLOCK Root Media Disp Pix. */ + kCLOCK_Root_CamPix = 73, /*!< CLOCK Root Cam Pix. */ + kCLOCK_Root_MipiTestByte = 74, /*!< CLOCK Root Mipi Test Byte. */ + kCLOCK_Root_MipiPhyCfg = 75, /*!< CLOCK Root Mipi Phy Cfg. */ + kCLOCK_Root_DramAlt = 76, /*!< CLOCK Root Dram Alt. */ + kCLOCK_Root_DramApb = 77, /*!< CLOCK Root Dram Apb. */ + kCLOCK_Root_Adc = 78, /*!< CLOCK Root Adc. */ + kCLOCK_Root_Pdm = 79, /*!< CLOCK Root Pdm. */ + kCLOCK_Root_Tstmr1 = 80, /*!< CLOCK Root Tstmr1. */ + kCLOCK_Root_Tstmr2 = 81, /*!< CLOCK Root Tstmr2. */ + kCLOCK_Root_Mqs1 = 82, /*!< CLOCK Root MQS1. */ + kCLOCK_Root_Mqs2 = 83, /*!< CLOCK Root MQS2. */ + kCLOCK_Root_AudioXCVR = 84, /*!< CLOCK Root Audio XCVR. */ + kCLOCK_Root_Spdif = 85, /*!< CLOCK Root Spdif. */ + kCLOCK_Root_Enet = 86, /*!< CLOCK Root Enet. */ + kCLOCK_Root_EnetTimer1 = 87, /*!< CLOCK Root Enet Timer1. */ + kCLOCK_Root_EnetTimer2 = 88, /*!< CLOCK Root Enet Timer2. */ + kCLOCK_Root_EnetRef = 89, /*!< CLOCK Root Enet Ref. */ + kCLOCK_Root_EnetRefPhy = 90, /*!< CLOCK Root Enet Ref Phy. */ + kCLOCK_Root_I3c1Slow = 91, /*!< CLOCK Root I3c1Slow. */ + kCLOCK_Root_I3c2Slow = 92, /*!< CLOCK Root I3c2Slow. */ + kCLOCK_Root_UsbPhyBurunin = 93, /*!< CLOCK Root Usb Phy Burunin. */ + kCLOCK_Root_PalCameScan = 94, /*!< CLOCK Root Pal Came Scan. */ +} clock_root_t; + +/*! + * @brief The enumerator of clock roots' clock source mux value. + */ +typedef enum _clock_root_mux_source +{ + /* ARM A55 Periph */ + kCLOCK_A55PERIPH_ClockRoot_MuxOsc24M = 0U, + kCLOCK_A55PERIPH_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_A55PERIPH_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_A55PERIPH_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* ARM A55 MTR BUS */ + kCLOCK_A55MTRBUS_ClockRoot_MuxOsc24M = 0U, + kCLOCK_A55MTRBUS_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_A55MTRBUS_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_A55MTRBUS_ClockRoot_MuxVideoPll1Out = 3U, + + /* ARM A55 */ + kCLOCK_A55_ClockRoot_MuxOsc24M = 0U, + kCLOCK_A55_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_A55_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_A55_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* M33 */ + kCLOCK_M33_ClockRoot_MuxOsc24M = 0U, + kCLOCK_M33_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_M33_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_M33_ClockRoot_MuxVideoPll1Out = 3U, + + /* Sentinel */ + kCLOCK_SENTINEL_ClockRoot_MuxOsc24M = 0U, + kCLOCK_SENTINEL_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_SENTINEL_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_SENTINEL_ClockRoot_MuxVideoPll1Out = 3U, + + /* Bus Wakeup */ + kCLOCK_BUSWAKEUP_ClockRoot_MuxOsc24M = 0U, + kCLOCK_BUSWAKEUP_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_BUSWAKEUP_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_BUSWAKEUP_ClockRoot_MuxVideoPll1Out = 3U, + + /* Bus Aon */ + kCLOCK_BUSAON_ClockRoot_MuxOsc24M = 0U, + kCLOCK_BUSAON_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_BUSAON_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_BUSAON_ClockRoot_MuxVideoPll1Out = 3U, + + /* Wakeup Axi */ + kCLOCK_WAKEUPAXI_ClockRoot_MuxOsc24M = 0U, + kCLOCK_WAKEUPAXI_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_WAKEUPAXI_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_WAKEUPAXI_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Swo Trace */ + kCLOCK_SWOTRACE_ClockRoot_MuxOsc24M = 0U, + kCLOCK_SWOTRACE_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_SWOTRACE_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_SWOTRACE_ClockRoot_MuxVideoPll1Out = 3U, + + /* M33 Systick */ + kCLOCK_M33SYSTICK_ClockRoot_MuxOsc24M = 0U, + kCLOCK_M33SYSTICK_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_M33SYSTICK_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_M33SYSTICK_ClockRoot_MuxVideoPll1Out = 3U, + + /* Flexio1 */ + kCLOCK_FLEXIO1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_FLEXIO1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_FLEXIO1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_FLEXIO1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Flexio2 */ + kCLOCK_FLEXIO2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_FLEXIO2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_FLEXIO2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_FLEXIO2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpit1 */ + kCLOCK_LPIT1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPIT1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPIT1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPIT1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpit2 */ + kCLOCK_LPIT2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPIT2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPIT2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPIT2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lptmr1 */ + kCLOCK_LPTMR1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPTMR1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPTMR1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPTMR1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lptmr2 */ + kCLOCK_LPTMR2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPTMR2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPTMR2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPTMR2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Tpm1 */ + kCLOCK_TPM1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_TPM1_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_TPM1_ClockRoot_MuxAudioPll1Out = 2U, + kCLOCK_TPM1_ClockRoot_MuxExt = 3U, + + /* Tpm2 */ + kCLOCK_TPM2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_TPM2_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_TPM2_ClockRoot_MuxAudioPll1Out = 2U, + kCLOCK_TPM2_ClockRoot_MuxExt = 3U, + + /* Tpm3 */ + kCLOCK_TPM3_ClockRoot_MuxOsc24M = 0U, + kCLOCK_TPM3_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_TPM3_ClockRoot_MuxAudioPll1Out = 2U, + kCLOCK_TPM3_ClockRoot_MuxExt = 3U, + + /* Tpm4 */ + kCLOCK_TPM4_ClockRoot_MuxOsc24M = 0U, + kCLOCK_TPM4_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_TPM4_ClockRoot_MuxAudioPll1Out = 2U, + kCLOCK_TPM4_ClockRoot_MuxExt = 3U, + + /* Tpm5 */ + kCLOCK_TPM5_ClockRoot_MuxOsc24M = 0U, + kCLOCK_TPM5_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_TPM5_ClockRoot_MuxAudioPll1Out = 2U, + kCLOCK_TPM5_ClockRoot_MuxExt = 3U, + + /* Tpm6 */ + kCLOCK_TPM6_ClockRoot_MuxOsc24M = 0U, + kCLOCK_TPM6_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_TPM6_ClockRoot_MuxAudioPll1Out = 2U, + kCLOCK_TPM6_ClockRoot_MuxExt = 3U, + + /* Flexspi1 */ + kCLOCK_FLEXSPI1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_FLEXSPI1_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_FLEXSPI1_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_FLEXSPI1_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Can1 */ + kCLOCK_CAN1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_CAN1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_CAN1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_CAN1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Can2 */ + kCLOCK_CAN2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_CAN2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_CAN2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_CAN2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpuart1 */ + kCLOCK_LPUART1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPUART1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPUART1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPUART1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpuart2 */ + kCLOCK_LPUART2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPUART2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPUART2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPUART2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpuart3 */ + kCLOCK_LPUART3_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPUART3_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPUART3_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPUART3_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpuart4 */ + kCLOCK_LPUART4_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPUART4_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPUART4_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPUART4_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpuart5 */ + kCLOCK_LPUART5_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPUART5_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPUART5_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPUART5_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpuart6 */ + kCLOCK_LPUART6_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPUART6_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPUART6_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPUART6_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpuart7 */ + kCLOCK_LPUART7_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPUART7_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPUART7_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPUART7_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpuart8 */ + kCLOCK_LPUART8_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPUART8_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPUART8_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPUART8_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpi2c1 */ + kCLOCK_LPI2C1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPI2C1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPI2C1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPI2C1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpi2c2 */ + kCLOCK_LPI2C2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPI2C2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPI2C2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPI2C2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpi2c3 */ + kCLOCK_LPI2C3_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPI2C3_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPI2C3_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPI2C3_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpi2c4 */ + kCLOCK_LPI2C4_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPI2C4_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPI2C4_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPI2C4_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpi2c5 */ + kCLOCK_LPI2C5_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPI2C5_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPI2C5_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPI2C5_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpi2c6 */ + kCLOCK_LPI2C6_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPI2C6_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPI2C6_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPI2C6_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpi2c7 */ + kCLOCK_LPI2C7_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPI2C7_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPI2C7_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPI2C7_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpi2c8 */ + kCLOCK_LPI2C8_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPI2C8_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPI2C8_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPI2C8_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpspi1 */ + kCLOCK_LPSPI1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPSPI1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPSPI1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPSPI1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpspi2 */ + kCLOCK_LPSPI2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPSPI2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPSPI2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPSPI2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpspi3 */ + kCLOCK_LPSPI3_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPSPI3_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPSPI3_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPSPI3_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpspi4 */ + kCLOCK_LPSPI4_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPSPI4_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPSPI4_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPSPI4_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpispi5 */ + kCLOCK_LPSPI5_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPSPI5_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPSPI5_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPSPI5_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpspi6 */ + kCLOCK_LPSPI6_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPSPI6_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPSPI6_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPSPI6_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpspi7 */ + kCLOCK_LPSPI7_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPSPI7_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPSPI7_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPSPI7_ClockRoot_MuxVideoPll1Out = 3U, + + /* Lpspi8 */ + kCLOCK_LPSPI8_ClockRoot_MuxOsc24M = 0U, + kCLOCK_LPSPI8_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_LPSPI8_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_LPSPI8_ClockRoot_MuxVideoPll1Out = 3U, + + /* I3c1 */ + kCLOCK_I3C1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_I3C1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_I3C1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_I3C1_ClockRoot_MuxVideoPll1Out = 3U, + + /* I3c2 */ + kCLOCK_I3C2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_I3C2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_I3C2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_I3C2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Usdhc1 */ + kCLOCK_Usdhc1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_Usdhc1_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_Usdhc1_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_Usdhc1_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Usdhc2 */ + kCLOCK_Usdhc2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_Usdhc2_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_Usdhc2_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_Usdhc2_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Usdhc3 */ + kCLOCK_Usdhc3_ClockRoot_MuxOsc24M = 0U, + kCLOCK_Usdhc3_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_Usdhc3_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_Usdhc3_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Sai1 */ + kCLOCK_SAI1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_SAI1_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_SAI1_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_SAI1_ClockRoot_MuxExt = 3U, + + /* Sai2 */ + kCLOCK_SAI2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_SAI2_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_SAI2_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_SAI2_ClockRoot_MuxExt = 3U, + + /* Sai3 */ + kCLOCK_SAI3_ClockRoot_MuxOsc24M = 0U, + kCLOCK_SAI3_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_SAI3_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_SAI3_ClockRoot_MuxExt = 3U, + + /* Ccm Cko1 */ + kCLOCK_CCMCKO1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_CCMCKO1_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_CCMCKO1_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_CCMCKO1_ClockRoot_MuxAudioPll1Out = 3U, + + /* Ccm Cko2 */ + kCLOCK_CCMCKO2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_CCMCKO2_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_CCMCKO2_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_CCMCKO2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Ccm Cko3 */ + kCLOCK_CCMCKO3_ClockRoot_MuxOsc24M = 0U, + kCLOCK_CCMCKO3_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_CCMCKO3_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_CCMCKO3_ClockRoot_MuxAudioPll1Out = 3U, + + /* Ccm Cko4 */ + kCLOCK_CCMCKO4_ClockRoot_MuxOsc24M = 0U, + kCLOCK_CCMCKO4_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_CCMCKO4_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_CCMCKO4_ClockRoot_MuxVideoPll1Out = 3U, + + /* Hsio */ + kCLOCK_HSIO_ClockRoot_MuxOsc24M = 0U, + kCLOCK_HSIO_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_HSIO_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_HSIO_ClockRoot_MuxVideoPll1Out = 3U, + + /* Hsio Usb Test 60M */ + kCLOCK_HSIOUSBTEST60M_ClockRoot_MuxOsc24M = 0U, + kCLOCK_HSIOUSBTEST60M_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_HSIOUSBTEST60M_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_HSIOUSBTEST60M_ClockRoot_MuxVideoPll1Out = 3U, + + /* Hsio Acscan 80M */ + kCLOCK_HSIOACSCAN80M_ClockRoot_MuxOsc24M = 0U, + kCLOCK_HSIOACSCAN80M_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_HSIOACSCAN80M_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_HSIOACSCAN80M_ClockRoot_MuxVideoPll1Out = 3U, + + /* Hsio Acscan 480M */ + kCLOCK_HSIOACSCAN480M_ClockRoot_MuxOsc24M = 0U, + kCLOCK_HSIOACSCAN480M_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_HSIOACSCAN480M_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_HSIOACSCAN480M_ClockRoot_MuxVideoPll1Out = 3U, + + /* Nic */ + kCLOCK_NIC_ClockRoot_MuxOsc24M = 0U, + kCLOCK_NIC_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_NIC_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_NIC_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Nic Apb */ + kCLOCK_NICAPB_ClockRoot_MuxOsc24M = 0U, + kCLOCK_NICAPB_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_NICAPB_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_NICAPB_ClockRoot_MuxVideoPll1Out = 3U, + + /* Ml Apb */ + kCLOCK_MLAPB_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MLAPB_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_MLAPB_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_MLAPB_ClockRoot_MuxVideoPll1Out = 3U, + + /* Ml */ + kCLOCK_ML_ClockRoot_MuxOsc24M = 0U, + kCLOCK_ML_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_ML_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_ML_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Media Axi */ + kCLOCK_MEDIAAXI_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MEDIAAXI_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_MEDIAAXI_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_MEDIAAXI_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Media Apb */ + kCLOCK_MEDIAAPB_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MEDIAAPB_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_MEDIAAPB_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_MEDIAAPB_ClockRoot_MuxVideoPll1Out = 3U, + + /* Media Ldb */ + kCLOCK_MEDIALDB_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MEDIALDB_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_MEDIALDB_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_MEDIALDB_ClockRoot_MuxSysPll1Pfd0 = 3U, + + /* Media Disp Pix */ + kCLOCK_MEDIADISPPIX_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MEDIADISPPIX_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_MEDIADISPPIX_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_MEDIADISPPIX_ClockRoot_MuxSysPll1Pfd0 = 3U, + + /* Cam Pix */ + kCLOCK_CAMPIX_ClockRoot_MuxOsc24M = 0U, + kCLOCK_CAMPIX_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_CAMPIX_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_CAMPIX_ClockRoot_MuxSysPll1Pfd0 = 3U, + + /* Mipi Test Byte */ + kCLOCK_MIPITESTBYTE_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MIPITESTBYTE_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_MIPITESTBYTE_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_MIPITESTBYTE_ClockRoot_MuxSysPll1Pfd0 = 3U, + + /* Mipi Phy Cfg */ + kCLOCK_MIPIPHYCFG_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MIPIPHYCFG_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_MIPIPHYCFG_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_MIPIPHYCFG_ClockRoot_MuxSysPll1Pfd0 = 3U, + + /* Dram Alt */ + kCLOCK_DRAMALT_ClockRoot_MuxOsc24M = 0U, + kCLOCK_DRAMALT_ClockRoot_MuxSysPll1Pfd0 = 1U, + kCLOCK_DRAMALT_ClockRoot_MuxSysPll1Pfd1 = 2U, + kCLOCK_DRAMALT_ClockRoot_MuxSysPll1Pfd2 = 3U, + + /* Dram Apb */ + kCLOCK_DRAMAPB_ClockRoot_MuxOsc24M = 0U, + kCLOCK_DRAMAPB_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_DRAMAPB_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_DRAMAPB_ClockRoot_MuxSysPll1Pfd2Div2 = 3U, + + /* Adc */ + kCLOCK_ADC_ClockRoot_MuxOsc24M = 0U, + kCLOCK_ADC_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_ADC_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_ADC_ClockRoot_MuxVideoPll1Out = 3U, + + /* Pdm */ + kCLOCK_PDM_ClockRoot_MuxOsc24M = 0U, + kCLOCK_PDM_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_PDM_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_PDM_ClockRoot_MuxExt = 3U, + + /* Tstmr1 */ + kCLOCK_TSTMR1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_TSTMR1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_TSTMR1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_TSTMR1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Tstmr2 */ + kCLOCK_TSTMR2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_TSTMR2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_TSTMR2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_TSTMR2_ClockRoot_MuxVideoPll1Out = 3U, + + /* MQS1 */ + kCLOCK_MQS1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MQS1_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_MQS1_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_MQS1_ClockRoot_MuxExt = 3U, + + /* MQS2 */ + kCLOCK_MQS2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_MQS2_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_MQS2_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_MQS2_ClockRoot_MuxExt = 3U, + + /* Audio XCVR */ + kCLOCK_AUDIOXCVR_ClockRoot_MuxOsc24M = 0U, + kCLOCK_AUDIOXCVR_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_AUDIOXCVR_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_AUDIOXCVR_ClockRoot_MuxSysPll1Pfd2Div2 = 3U, + + /* Spdif */ + kCLOCK_SPDIF_ClockRoot_MuxOsc24M = 0U, + kCLOCK_SPDIF_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_SPDIF_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_SPDIF_ClockRoot_MuxExt = 3U, + + /* Enet */ + kCLOCK_ENET_ClockRoot_MuxOsc24M = 0U, + kCLOCK_ENET_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_ENET_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_ENET_ClockRoot_MuxSysPll1Pfd2Div2 = 3U, + + /* Enet Timer1 */ + kCLOCK_ENETTSTMR1_ClockRoot_MuxOsc24M = 0U, + kCLOCK_ENETTSTMR1_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_ENETTSTMR1_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_ENETTSTMR1_ClockRoot_MuxVideoPll1Out = 3U, + + /* Enet Timer2 */ + kCLOCK_ENETTSTMR2_ClockRoot_MuxOsc24M = 0U, + kCLOCK_ENETTSTMR2_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_ENETTSTMR2_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_ENETTSTMR2_ClockRoot_MuxVideoPll1Out = 3U, + + /* Enet Ref */ + kCLOCK_ENETREF_ClockRoot_MuxOsc24M = 0U, + kCLOCK_ENETREF_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_ENETREF_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_ENETREF_ClockRoot_MuxSysPll1Pfd2Div2 = 3U, + + /* Enet Ref Phy */ + kCLOCK_ENETREFPHY_ClockRoot_MuxOsc24M = 0U, + kCLOCK_ENETREFPHY_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_ENETREFPHY_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_ENETREFPHY_ClockRoot_MuxVideoPll1Out = 3U, + + /* I3c1 Slow */ + kCLOCK_I3C1SLOW_ClockRoot_MuxOsc24M = 0U, + kCLOCK_I3C1SLOW_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_I3C1SLOW_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_I3C1SLOW_ClockRoot_MuxVideoPll1Out = 3U, + + /* I3c2 Slow */ + kCLOCK_I3C2SLOW_ClockRoot_MuxOsc24M = 0U, + kCLOCK_I3C2SLOW_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_I3C2SLOW_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_I3C2SLOW_ClockRoot_MuxVideoPll1Out = 3U, + + /* Usb Phy Burunin */ + kCLOCK_USBPHYBURUNIN_ClockRoot_MuxOsc24M = 0U, + kCLOCK_USBPHYBURUNIN_ClockRoot_MuxSysPll1Pfd0Div2 = 1U, + kCLOCK_USBPHYBURUNIN_ClockRoot_MuxSysPll1Pfd1Div2 = 2U, + kCLOCK_USBPHYBURUNIN_ClockRoot_MuxVideoPll1Out = 3U, + + /* Pal Came Scan */ + kCLOCK_PALCAMESCAN_ClockRoot_MuxOsc24M = 0U, + kCLOCK_PALCAMESCAN_ClockRoot_MuxAudioPll1Out = 1U, + kCLOCK_PALCAMESCAN_ClockRoot_MuxVideoPll1Out = 2U, + kCLOCK_PALCAMESCAN_ClockRoot_MuxSysPll1Pfd2 = 3U, +} clock_root_mux_source_t; + +/******************************************************************************* + * Clock Gate Definitions + ******************************************************************************/ + +/*! @brief Clock gate value */ +typedef enum _clock_gate_value +{ + kCLOCK_Off = CCM_LPCG_LPM_SETTING_0, + kCLOCK_On = CCM_LPCG_LPM_SETTING_4, +} clock_gate_value_t; + +/*! + * @brief Clock LPCG index (Clock Gating Channel) + */ +typedef enum _clock_lpcg +{ + kCLOCK_A55 = 0, + kCLOCK_Cm33 = 1, + kCLOCK_Arm_Trout = 2, + kCLOCK_Sentinel = 3, + kCLOCK_Sim_Wakeup = 4, + kCLOCK_Sim_Aon = 5, + kCLOCK_Sim_Mega = 6, + kCLOCK_Anadig = 7, + kCLOCK_Src = 8, + kCLOCK_Ccm = 9, + kCLOCK_Gpc = 10, + kCLOCK_Adc1 = 11, + kCLOCK_Wdog1 = 12, + kCLOCK_Wdog2 = 13, + kCLOCK_Wdog3 = 14, + kCLOCK_Wdog4 = 15, + kCLOCK_Wdog5 = 16, + kCLOCK_Sema1 = 17, + kCLOCK_Sema2 = 18, + kCLOCK_Mu_A = 19, + kCLOCK_Mu_B = 20, + kCLOCK_Edma1 = 21, + kCLOCK_Edma2 = 22, + kCLOCK_Romcp_A55 = 23, + kCLOCK_Romcp_M33 = 24, + kCLOCK_Flexspi1 = 25, + kCLOCK_Aon_Trdc = 26, + kCLOCK_Wkup_Trdc = 27, + kCLOCK_Ocotp = 28, + kCLOCK_Bbsm_Hp = 29, + kCLOCK_Bbsm = 30, + kCLOCK_Cstrace = 31, + kCLOCK_Csswo = 32, + kCLOCK_Iomuxc = 33, + kCLOCK_Gpio1 = 34, + kCLOCK_Gpio2 = 35, + kCLOCK_Gpio3 = 36, + kCLOCK_Gpio4 = 37, + kCLOCK_Flexio1 = 38, + kCLOCK_Flexio2 = 39, + kCLOCK_Lpit1 = 40, + kCLOCK_Lpit2 = 41, + kCLOCK_Lptmr1 = 42, + kCLOCK_Lptmr2 = 43, + kCLOCK_Tpm1 = 44, + kCLOCK_Tpm2 = 45, + kCLOCK_Tpm3 = 46, + kCLOCK_Tpm4 = 47, + kCLOCK_Tpm5 = 48, + kCLOCK_Tpm6 = 49, + kCLOCK_Can1 = 50, + kCLOCK_Can2 = 51, + kCLOCK_Lpuart1 = 52, + kCLOCK_Lpuart2 = 53, + kCLOCK_Lpuart3 = 54, + kCLOCK_Lpuart4 = 55, + kCLOCK_Lpuart5 = 56, + kCLOCK_Lpuart6 = 57, + kCLOCK_Lpuart7 = 58, + kCLOCK_Lpuart8 = 59, + kCLOCK_Lpi2c1 = 60, + kCLOCK_Lpi2c2 = 61, + kCLOCK_Lpi2c3 = 62, + kCLOCK_Lpi2c4 = 63, + kCLOCK_Lpi2c5 = 64, + kCLOCK_Lpi2c6 = 65, + kCLOCK_Lpi2c7 = 66, + kCLOCK_Lpi2c8 = 67, + kCLOCK_Lpspi1 = 68, + kCLOCK_Lpspi2 = 69, + kCLOCK_Lpspi3 = 70, + kCLOCK_Lpspi4 = 71, + kCLOCK_Lpspi5 = 72, + kCLOCK_Lpspi6 = 73, + kCLOCK_Lpspi7 = 74, + kCLOCK_Lpspi8 = 75, + kCLOCK_I3c1 = 76, + kCLOCK_I3c2 = 77, + kCLOCK_Usdhc1 = 78, + kCLOCK_Usdhc2 = 79, + kCLOCK_Usdhc3 = 80, + kCLOCK_Sai1 = 81, + kCLOCK_Sai2 = 82, + kCLOCK_Sai3 = 83, + kCLOCK_Ssi_W2ao = 84, + kCLOCK_Ssi_Ao2w = 85, + kCLOCK_Mipi_Csi = 86, + kCLOCK_Mipi_Dsi = 87, + kCLOCK_Lvds = 88, + kCLOCK_Lcdif = 89, + kCLOCK_Pxp = 90, + kCLOCK_Isi = 91, + kCLOCK_Nic_Media = 92, + kCLOCK_Ddr_Dfi = 93, + kCLOCK_Ddr_Ctl = 94, + kCLOCK_Ddr_Dfi_Ctl = 95, + kCLOCK_Ddr_Ssi = 96, + kCLOCK_Ddr_Bypass = 97, + kCLOCK_Ddr_Apb = 98, + kCLOCK_Ddr_Drampll = 99, + kCLOCK_Ddr_Clk_Ctl = 100, + kCLOCK_Nic_Central = 101, + kCLOCK_Gic600 = 102, + kCLOCK_Nic_Apb = 103, + kCLOCK_Usb_Controller = 104, + kCLOCK_Usb_Test_60m = 105, + kCLOCK_Hsio_Trout_24m = 106, + kCLOCK_Pdm = 107, + kCLOCK_Mqs1 = 108, + kCLOCK_Mqs2 = 109, + kCLOCK_Aud_Xcvr = 110, + kCLOCK_Nicmix_Mecc = 111, + kCLOCK_Spdif = 112, + kCLOCK_Ssi_Ml2nic = 113, + kCLOCK_Ssi_Med2nic = 114, + kCLOCK_Ssi_Hsio2nic = 115, + kCLOCK_Ssi_W2nic = 116, + kCLOCK_Ssi_Nic2w = 117, + kCLOCK_Ssi_Nic2ddr = 118, + kCLOCK_Hsio_32k = 119, + kCLOCK_Enet1 = 120, + kCLOCK_Enet_Qos = 121, + kCLOCK_Sys_Cnt = 122, + kCLOCK_Tstmr1 = 123, + kCLOCK_Tstmr2 = 124, + kCLOCK_Tmc = 125, + kCLOCK_Pmro = 126, + kCLOCK_IpInvalid, +} clock_lpcg_t; + +#define clock_ip_name_t clock_lpcg_t + +/*! @brief Clock ip name array for EDMA. */ +#define EDMA_CLOCKS \ + { \ + kCLOCK_Edma1, kCLOCK_Edma2 \ + } + +/* + * ! @brief Clock ip name array for MU. + * clock of MU1_MUA, MU2_MUA is enabled by same LPCG42(Gate signal is clk_enable_mu_a) + */ +#define MU_CLOCKS \ + { \ + kCLOCK_Mu_A, kCLOCK_Mu_A \ + } + +/*! @brief Clock ip name array for LCDIFV3. */ +#define LCDIFV3_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Lcdif \ + } + +/*! @brief Clock ip name array for LPI2C. */ +#define LPI2C_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Lpi2c1, kCLOCK_Lpi2c2, kCLOCK_Lpi2c3, kCLOCK_Lpi2c4, kCLOCK_Lpi2c5, kCLOCK_Lpi2c6, \ + kCLOCK_Lpi2c7, kCLOCK_Lpi2c8 \ + } + +/*! @brief Clock ip name array for LPIT. */ +#define LPIT_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Lpit1, kCLOCK_Lpit2 \ + } + +/*! @brief Clock ip name array for LPSPI. */ +#define LPSPI_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Lpspi1, kCLOCK_Lpspi2, kCLOCK_Lpspi3, kCLOCK_Lpspi4, kCLOCK_Lpspi5, kCLOCK_Lpspi6, \ + kCLOCK_Lpspi7, kCLOCK_Lpspi8 \ + } + +/*! @brief Clock ip name array for TPM. */ +#define TPM_CLOCKS \ + { \ + kCLOCK_Tpm1, kCLOCK_Tpm2, kCLOCK_Tpm3, kCLOCK_Tpm4, kCLOCK_Tpm5, kCLOCK_Tpm6, \ + } + +/*! @brief Clock ip name array for FLEXIO. */ +#define FLEXIO_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Flexio1, kCLOCK_Flexio2 \ + } + +/*! @brief Clock ip name array for FLEXSPI. */ +#define FLEXSPI_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Flexspi1 \ + } + +/*! @brief Clock ip name array for TMU. */ +#define TMU_CLOCKS \ + { \ + kCLOCK_Tmc, \ + } + +/*! @brief Clock ip name array for FLEXCAN. */ +#define FLEXCAN_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Can1, kCLOCK_Can2, \ + } + +/*! @brief Clock ip name array for LPUART. */ +#define LPUART_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Lpuart1, kCLOCK_Lpuart2, kCLOCK_Lpuart3, kCLOCK_Lpuart4, kCLOCK_Lpuart5, \ + kCLOCK_Lpuart6, kCLOCK_Lpuart7, kCLOCK_Lpuart8 \ + } + +/*! @brief Clock ip name array for SAI. */ +#define SAI_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Sai1, kCLOCK_Sai2, kCLOCK_Sai3, \ + } + +/*! @brief Clock ip name array for PDM. */ +#define PDM_CLOCKS \ + { \ + kCLOCK_Pdm \ + } + +/*! @brief Clock ip name array for ENET QOS. */ +#define ENETQOS_CLOCKS \ + { \ + kCLOCK_Enet_Qos \ + } + +/*! @brief Clock ip name array for ENET. */ +#define ENET_CLOCKS \ + { \ + kCLOCK_Enet1 \ + } + +/*! @brief Clock ip name array for I3C. */ +#define I3C_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_I3c1, kCLOCK_I3c2 \ + } + +/*! @brief Clock ip name array for SEMA42. */ +#define SEMA42_CLOCKS \ + { \ + kCLOCK_IpInvalid, kCLOCK_Sema1, kCLOCK_Sema2 \ + } + +/******************************************************************************* + * Clock Root APIs + ******************************************************************************/ + +/*! + * @brief Set CCM Root Clock MUX node to certain value. + * + * @param root Which root clock node to set, see \ref clock_root_t. + * @param src Clock mux value to set, different mux has different value range. See \ref clock_root_mux_source_t. + */ +static inline void CLOCK_SetRootClockMux(clock_root_t root, uint8_t src) +{ + assert(src < 8U); + CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.RW = + (CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.RW & ~(CCM_CLOCK_ROOT_MUX_MASK)) | CCM_CLOCK_ROOT_MUX(src); + __DSB(); + __ISB(); +} + +/*! + * @brief Get CCM Root Clock MUX value. + * + * @param root Which root clock node to get, see \ref clock_root_t. + * @return Clock mux value. + */ +static inline uint32_t CLOCK_GetRootClockMux(clock_root_t root) +{ + return (CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.RW & CCM_CLOCK_ROOT_MUX_MASK) >> CCM_CLOCK_ROOT_MUX_SHIFT; +} + +/*! + * @brief Get CCM Root Clock Source. + * + * @param root Which root clock node to get, see \ref clock_root_t. + * @param src Clock mux value to get, see \ref clock_root_mux_source_t. + * @return Clock source + */ +static inline clock_name_t CLOCK_GetRootClockSource(clock_root_t root, uint32_t src) +{ + return s_clockSourceName[root][src]; +} + +/*! + * @brief Set CCM Root Clock DIV certain value. + * + * @param root Which root clock to set, see \ref clock_root_t. + * @param div Clock div value to set, different divider has different value range. + */ +static inline void CLOCK_SetRootClockDiv(clock_root_t root, uint8_t div) +{ + assert(div); + CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.RW = + (CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.RW & ~CCM_CLOCK_ROOT_DIV_MASK) | + CCM_CLOCK_ROOT_DIV((uint32_t)div - 1UL); + __DSB(); + __ISB(); +} + +/*! + * @brief Get CCM DIV node value. + * + * @param root Which root clock node to get, see \ref clock_root_t. + * @return divider set for this root + */ +static inline uint32_t CLOCK_GetRootClockDiv(clock_root_t root) +{ + return ((CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.RW & CCM_CLOCK_ROOT_DIV_MASK) >> CCM_CLOCK_ROOT_DIV_SHIFT) + + 1UL; +} + +/*! + * @brief Power Off Root Clock + * + * @param root Which root clock node to set, see \ref clock_root_t. + */ +static inline void CLOCK_PowerOffRootClock(clock_root_t root) +{ + if (0UL == (CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.RW & CCM_CLOCK_ROOT_OFF_MASK)) + { + CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.SET = CCM_CLOCK_ROOT_OFF_MASK; + __DSB(); + __ISB(); + } +} + +/*! + * @brief Power On Root Clock + * + * @param root Which root clock node to set, see \ref clock_root_t. + */ +static inline void CLOCK_PowerOnRootClock(clock_root_t root) +{ + CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.CLR = CCM_CLOCK_ROOT_OFF_MASK; + __DSB(); + __ISB(); +} + +/*! + * @brief Configure Root Clock + * + * @param root Which root clock node to set, see \ref clock_root_t. + * @param config root clock config, see \ref clock_root_config_t + */ +static inline void CLOCK_SetRootClock(clock_root_t root, const clock_root_config_t *config) +{ + assert(config); + CCM_CTRL->CLOCK_ROOT[root].CLOCK_ROOT_CONTROL.RW = CCM_CLOCK_ROOT_MUX(config->mux) | + CCM_CLOCK_ROOT_DIV((uint32_t)config->div - 1UL) | + (config->clockOff ? CCM_CLOCK_ROOT_OFF(config->clockOff) : 0UL); + __DSB(); + __ISB(); +} + +/******************************************************************************* + * Clock Gate APIs + ******************************************************************************/ + +/*! + * @brief Control the clock gate for specific IP. + * + * @param name Which clock to enable, see \ref clock_lpcg_t. + * @param value Clock gate value to set, see \ref clock_gate_value_t. + */ +static inline void CLOCK_ControlGate(clock_ip_name_t name, clock_gate_value_t value) +{ + CCM_CTRL->LPCG[name].AUTHEN |= CCM_LPCG_AUTHEN_CPULPM_MODE(1U); + CCM_CTRL->LPCG[name].LPM_CUR = CCM_LPCG_LPM_CUR_LPM_SETTING_CUR(value); + __DSB(); + __ISB(); +} + +/*! + * @brief Enable the clock for specific IP. + * + * @param name Which clock to enable, see \ref clock_lpcg_t. + */ +static inline void CLOCK_EnableClock(clock_ip_name_t name) +{ + CLOCK_ControlGate(name, kCLOCK_On); +} + +/*! + * @brief Disable the clock for specific IP. + * + * @param name Which clock to disable, see \ref clock_lpcg_t. + */ +static inline void CLOCK_DisableClock(clock_ip_name_t name) +{ + CLOCK_ControlGate(name, kCLOCK_Off); +} + +/******************************************************************************* + * Other APIs + ******************************************************************************/ + +/* + * Setup a variable for clock source frequencies + */ +extern volatile uint32_t g_clockSourceFreq[kCLOCK_Ext + 1]; + +/*! + * @brief Gets the clock frequency for a specific IP module. + * + * This function gets the IP module clock frequency. + * + * @param name Which root clock to get, see \ref clock_root_t. + * @return Clock frequency value in hertz + */ +uint32_t CLOCK_GetIpFreq(clock_root_t name); + +#endif diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_iomuxc.h b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_iomuxc.h new file mode 100644 index 00000000000..c1a7bc8d6a4 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/drivers/fsl_iomuxc.h @@ -0,0 +1,796 @@ +/* + * Copyright 2025 NXP + * + * SPDX-License-Identifier: BSD-3-Clause + */ +#ifndef _FSL_IOMUXC_H_ +#define _FSL_IOMUXC_H_ + +#include "fsl_common.h" + +/*! + * @addtogroup iomuxc_driver + * @{ + */ + +/*! @file */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.iomuxc" +#endif + +/*! @name Driver version */ +/*@{*/ +/*! @brief IOMUXC driver version 1.0.0. */ +#define FSL_IOMUXC_DRIVER_VERSION (MAKE_VERSION(1, 0, 0)) +/*@}*/ + +/*! + * @name Pin function ID + * The pin function ID is a tuple of \ + * + * @{ + */ +#define IOMUXC_PAD_DAP_TDI__JTAG_MUX_TDI 0x543c0000, 0x00, 0x543c03d8, 0x00, 0x543c01b0 +#define IOMUXC_PAD_DAP_TDI__MQS2_LEFT 0x543c0000, 0x01, 0x0, 0x00, 0x543c01b0 +#define IOMUXC_PAD_DAP_TDI__CAN2_TX 0x543c0000, 0x03, 0x0, 0x00, 0x543c01b0 +#define IOMUXC_PAD_DAP_TDI__FLEXIO2_FLEXIO30 0x543c0000, 0x04, 0x0, 0x00, 0x543c01b0 +#define IOMUXC_PAD_DAP_TDI__GPIO3_IO28 0x543c0000, 0x05, 0x0, 0x00, 0x543c01b0 +#define IOMUXC_PAD_DAP_TDI__LPUART5_RX 0x543c0000, 0x06, 0x543c0488, 0x00, 0x543c01b0 +#define IOMUXC_PAD_DAP_TMS_SWDIO__JTAG_MUX_TMS 0x543c0004, 0x00, 0x543c03dc, 0x00, 0x543c01b4 +#define IOMUXC_PAD_DAP_TMS_SWDIO__FLEXIO2_FLEXIO31 0x543c0004, 0x04, 0x0, 0x00, 0x543c01b4 +#define IOMUXC_PAD_DAP_TMS_SWDIO__GPIO3_IO29 0x543c0004, 0x05, 0x0, 0x00, 0x543c01b4 +#define IOMUXC_PAD_DAP_TMS_SWDIO__LPUART5_RTS_B 0x543c0004, 0x06, 0x0, 0x00, 0x543c01b4 +#define IOMUXC_PAD_DAP_TCLK_SWCLK__JTAG_MUX_TCK 0x543c0008, 0x00, 0x543c03d4, 0x00, 0x543c01b8 +#define IOMUXC_PAD_DAP_TCLK_SWCLK__FLEXIO1_FLEXIO30 0x543c0008, 0x04, 0x0, 0x00, 0x543c01b8 +#define IOMUXC_PAD_DAP_TCLK_SWCLK__GPIO3_IO30 0x543c0008, 0x05, 0x0, 0x00, 0x543c01b8 +#define IOMUXC_PAD_DAP_TCLK_SWCLK__LPUART5_CTS_B 0x543c0008, 0x06, 0x543c0484, 0x00, 0x543c01b8 +#define IOMUXC_PAD_DAP_TDO_TRACESWO__JTAG_MUX_TDO 0x543c000c, 0x00, 0x0, 0x00, 0x543c01bc +#define IOMUXC_PAD_DAP_TDO_TRACESWO__MQS2_RIGHT 0x543c000c, 0x01, 0x0, 0x00, 0x543c01bc +#define IOMUXC_PAD_DAP_TDO_TRACESWO__CAN2_RX 0x543c000c, 0x03, 0x543c0364, 0x00, 0x543c01bc +#define IOMUXC_PAD_DAP_TDO_TRACESWO__FLEXIO1_FLEXIO31 0x543c000c, 0x04, 0x0, 0x00, 0x543c01bc +#define IOMUXC_PAD_DAP_TDO_TRACESWO__GPIO3_IO31 0x543c000c, 0x05, 0x0, 0x00, 0x543c01bc +#define IOMUXC_PAD_DAP_TDO_TRACESWO__LPUART5_TX 0x543c000c, 0x06, 0x543c048c, 0x00, 0x543c01bc +#define IOMUXC_PAD_GPIO_IO00__GPIO2_IO0 0x543c0010, 0x00, 0x0, 0x00, 0x543c01c0 +#define IOMUXC_PAD_GPIO_IO00__LPI2C3_SDA 0x543c0010, 0x01, 0x543c03f4, 0x00, 0x543c01c0 +#define IOMUXC_PAD_GPIO_IO00__MEDIAMIX_CAM_CLK 0x543c0010, 0x02, 0x543c04bc, 0x00, 0x543c01c0 +#define IOMUXC_PAD_GPIO_IO00__MEDIAMIX_DISP_CLK 0x543c0010, 0x03, 0x0, 0x00, 0x543c01c0 +#define IOMUXC_PAD_GPIO_IO00__LPSPI6_PCS0 0x543c0010, 0x04, 0x0, 0x00, 0x543c01c0 +#define IOMUXC_PAD_GPIO_IO00__LPUART5_TX 0x543c0010, 0x05, 0x543c048c, 0x01, 0x543c01c0 +#define IOMUXC_PAD_GPIO_IO00__LPI2C5_SDA 0x543c0010, 0x06, 0x543c0404, 0x00, 0x543c01c0 +#define IOMUXC_PAD_GPIO_IO00__FLEXIO1_FLEXIO0 0x543c0010, 0x07, 0x543c036c, 0x00, 0x543c01c0 +#define IOMUXC_PAD_GPIO_IO01__GPIO2_IO1 0x543c0014, 0x00, 0x0, 0x00, 0x543c01c4 +#define IOMUXC_PAD_GPIO_IO01__LPI2C3_SCL 0x543c0014, 0x01, 0x543c03f0, 0x00, 0x543c01c4 +#define IOMUXC_PAD_GPIO_IO01__MEDIAMIX_CAM_DATA0 0x543c0014, 0x02, 0x543c0490, 0x00, 0x543c01c4 +#define IOMUXC_PAD_GPIO_IO01__MEDIAMIX_DISP_DE 0x543c0014, 0x03, 0x0, 0x00, 0x543c01c4 +#define IOMUXC_PAD_GPIO_IO01__LPSPI6_SIN 0x543c0014, 0x04, 0x0, 0x00, 0x543c01c4 +#define IOMUXC_PAD_GPIO_IO01__LPUART5_RX 0x543c0014, 0x05, 0x543c0488, 0x01, 0x543c01c4 +#define IOMUXC_PAD_GPIO_IO01__LPI2C5_SCL 0x543c0014, 0x06, 0x543c0400, 0x00, 0x543c01c4 +#define IOMUXC_PAD_GPIO_IO01__FLEXIO1_FLEXIO1 0x543c0014, 0x07, 0x543c0370, 0x00, 0x543c01c4 +#define IOMUXC_PAD_GPIO_IO02__GPIO2_IO3 0x543c0018, 0x00, 0x0, 0x00, 0x543c01c8 +#define IOMUXC_PAD_GPIO_IO02__LPI2C4_SDA 0x543c0018, 0x01, 0x543c03fc, 0x00, 0x543c01c8 +#define IOMUXC_PAD_GPIO_IO02__MEDIAMIX_CAM_VSYNC 0x543c0018, 0x02, 0x543c04c0, 0x00, 0x543c01c8 +#define IOMUXC_PAD_GPIO_IO02__MEDIAMIX_DISP_VSYNC 0x543c0018, 0x03, 0x0, 0x00, 0x543c01c8 +#define IOMUXC_PAD_GPIO_IO02__LPSPI6_SOUT 0x543c0018, 0x04, 0x0, 0x00, 0x543c01c8 +#define IOMUXC_PAD_GPIO_IO02__LPUART5_CTS_B 0x543c0018, 0x05, 0x543c0484, 0x01, 0x543c01c8 +#define IOMUXC_PAD_GPIO_IO02__LPI2C6_SDA 0x543c0018, 0x06, 0x543c040c, 0x00, 0x543c01c8 +#define IOMUXC_PAD_GPIO_IO02__FLEXIO1_FLEXIO3 0x543c0018, 0x07, 0x543c0374, 0x00, 0x543c01c8 +#define IOMUXC_PAD_GPIO_IO03__GPIO2_IO3 0x543c001c, 0x00, 0x0, 0x00, 0x543c01cc +#define IOMUXC_PAD_GPIO_IO03__LPI2C4_SCL 0x543c001c, 0x01, 0x543c03f8, 0x00, 0x543c01cc +#define IOMUXC_PAD_GPIO_IO03__MEDIAMIX_CAM_HSYNC 0x543c001c, 0x02, 0x543c04b8, 0x00, 0x543c01cc +#define IOMUXC_PAD_GPIO_IO03__MEDIAMIX_DISP_HSYNC 0x543c001c, 0x03, 0x0, 0x00, 0x543c01cc +#define IOMUXC_PAD_GPIO_IO03__LPSPI6_SCK 0x543c001c, 0x04, 0x0, 0x00, 0x543c01cc +#define IOMUXC_PAD_GPIO_IO03__LPUART5_RTS_B 0x543c001c, 0x05, 0x0, 0x00, 0x543c01cc +#define IOMUXC_PAD_GPIO_IO03__LPI2C6_SCL 0x543c001c, 0x06, 0x543c0408, 0x00, 0x543c01cc +#define IOMUXC_PAD_GPIO_IO03__FLEXIO1_FLEXIO3 0x543c001c, 0x07, 0x543c0378, 0x00, 0x543c01cc +#define IOMUXC_PAD_GPIO_IO04__GPIO2_IO4 0x543c0020, 0x00, 0x0, 0x00, 0x543c01d0 +#define IOMUXC_PAD_GPIO_IO04__TPM3_CH0 0x543c0020, 0x01, 0x0, 0x00, 0x543c01d0 +#define IOMUXC_PAD_GPIO_IO04__PDM_CLK 0x543c0020, 0x02, 0x0, 0x00, 0x543c01d0 +#define IOMUXC_PAD_GPIO_IO04__MEDIAMIX_DISP_DATA0 0x543c0020, 0x03, 0x0, 0x00, 0x543c01d0 +#define IOMUXC_PAD_GPIO_IO04__LPSPI7_PCS0 0x543c0020, 0x04, 0x0, 0x00, 0x543c01d0 +#define IOMUXC_PAD_GPIO_IO04__LPUART6_TX 0x543c0020, 0x05, 0x0, 0x00, 0x543c01d0 +#define IOMUXC_PAD_GPIO_IO04__LPI2C6_SDA 0x543c0020, 0x06, 0x543c040c, 0x01, 0x543c01d0 +#define IOMUXC_PAD_GPIO_IO04__FLEXIO1_FLEXIO4 0x543c0020, 0x07, 0x543c037c, 0x00, 0x543c01d0 +#define IOMUXC_PAD_GPIO_IO05__GPIO2_IO5 0x543c0024, 0x00, 0x0, 0x00, 0x543c01d4 +#define IOMUXC_PAD_GPIO_IO05__TPM4_CH0 0x543c0024, 0x01, 0x0, 0x00, 0x543c01d4 +#define IOMUXC_PAD_GPIO_IO05__PDM_BIT_STREAM0 0x543c0024, 0x02, 0x543c04c4, 0x00, 0x543c01d4 +#define IOMUXC_PAD_GPIO_IO05__MEDIAMIX_DISP_DATA1 0x543c0024, 0x03, 0x0, 0x00, 0x543c01d4 +#define IOMUXC_PAD_GPIO_IO05__LPSPI7_SIN 0x543c0024, 0x04, 0x0, 0x00, 0x543c01d4 +#define IOMUXC_PAD_GPIO_IO05__LPUART6_RX 0x543c0024, 0x05, 0x0, 0x00, 0x543c01d4 +#define IOMUXC_PAD_GPIO_IO05__LPI2C6_SCL 0x543c0024, 0x06, 0x543c0408, 0x01, 0x543c01d4 +#define IOMUXC_PAD_GPIO_IO05__FLEXIO1_FLEXIO5 0x543c0024, 0x07, 0x543c0380, 0x00, 0x543c01d4 +#define IOMUXC_PAD_GPIO_IO06__GPIO2_IO6 0x543c0028, 0x00, 0x0, 0x00, 0x543c01d8 +#define IOMUXC_PAD_GPIO_IO06__TPM5_CH0 0x543c0028, 0x01, 0x0, 0x00, 0x543c01d8 +#define IOMUXC_PAD_GPIO_IO06__PDM_BIT_STREAM1 0x543c0028, 0x02, 0x543c04c8, 0x00, 0x543c01d8 +#define IOMUXC_PAD_GPIO_IO06__MEDIAMIX_DISP_DATA2 0x543c0028, 0x03, 0x0, 0x00, 0x543c01d8 +#define IOMUXC_PAD_GPIO_IO06__LPSPI7_SOUT 0x543c0028, 0x04, 0x0, 0x00, 0x543c01d8 +#define IOMUXC_PAD_GPIO_IO06__LPUART6_CTS_B 0x543c0028, 0x05, 0x0, 0x00, 0x543c01d8 +#define IOMUXC_PAD_GPIO_IO06__LPI2C7_SDA 0x543c0028, 0x06, 0x543c0414, 0x00, 0x543c01d8 +#define IOMUXC_PAD_GPIO_IO06__FLEXIO1_FLEXIO6 0x543c0028, 0x07, 0x543c0384, 0x00, 0x543c01d8 +#define IOMUXC_PAD_GPIO_IO07__GPIO2_IO7 0x543c002c, 0x00, 0x0, 0x00, 0x543c01dc +#define IOMUXC_PAD_GPIO_IO07__LPSPI3_PCS1 0x543c002c, 0x01, 0x0, 0x00, 0x543c01dc +#define IOMUXC_PAD_GPIO_IO07__MEDIAMIX_CAM_DATA1 0x543c002c, 0x02, 0x543c0494, 0x00, 0x543c01dc +#define IOMUXC_PAD_GPIO_IO07__MEDIAMIX_DISP_DATA3 0x543c002c, 0x03, 0x0, 0x00, 0x543c01dc +#define IOMUXC_PAD_GPIO_IO07__LPSPI7_SCK 0x543c002c, 0x04, 0x0, 0x00, 0x543c01dc +#define IOMUXC_PAD_GPIO_IO07__LPUART6_RTS_B 0x543c002c, 0x05, 0x0, 0x00, 0x543c01dc +#define IOMUXC_PAD_GPIO_IO07__LPI2C7_SCL 0x543c002c, 0x06, 0x543c0410, 0x00, 0x543c01dc +#define IOMUXC_PAD_GPIO_IO07__FLEXIO1_FLEXIO7 0x543c002c, 0x07, 0x543c0388, 0x00, 0x543c01dc +#define IOMUXC_PAD_GPIO_IO08__GPIO2_IO8 0x543c0030, 0x00, 0x0, 0x00, 0x543c01e0 +#define IOMUXC_PAD_GPIO_IO08__LPSPI3_PCS0 0x543c0030, 0x01, 0x0, 0x00, 0x543c01e0 +#define IOMUXC_PAD_GPIO_IO08__MEDIAMIX_CAM_DATA2 0x543c0030, 0x02, 0x543c0498, 0x00, 0x543c01e0 +#define IOMUXC_PAD_GPIO_IO08__MEDIAMIX_DISP_DATA4 0x543c0030, 0x03, 0x0, 0x00, 0x543c01e0 +#define IOMUXC_PAD_GPIO_IO08__TPM6_CH0 0x543c0030, 0x04, 0x0, 0x00, 0x543c01e0 +#define IOMUXC_PAD_GPIO_IO08__LPUART7_TX 0x543c0030, 0x05, 0x0, 0x00, 0x543c01e0 +#define IOMUXC_PAD_GPIO_IO08__LPI2C7_SDA 0x543c0030, 0x06, 0x543c0414, 0x01, 0x543c01e0 +#define IOMUXC_PAD_GPIO_IO08__FLEXIO1_FLEXIO8 0x543c0030, 0x07, 0x543c038c, 0x00, 0x543c01e0 +#define IOMUXC_PAD_GPIO_IO09__GPIO2_IO9 0x543c0034, 0x00, 0x0, 0x00, 0x543c01e4 +#define IOMUXC_PAD_GPIO_IO09__LPSPI3_SIN 0x543c0034, 0x01, 0x0, 0x00, 0x543c01e4 +#define IOMUXC_PAD_GPIO_IO09__MEDIAMIX_CAM_DATA3 0x543c0034, 0x02, 0x543c049c, 0x00, 0x543c01e4 +#define IOMUXC_PAD_GPIO_IO09__MEDIAMIX_DISP_DATA5 0x543c0034, 0x03, 0x0, 0x00, 0x543c01e4 +#define IOMUXC_PAD_GPIO_IO09__TPM3_EXTCLK 0x543c0034, 0x04, 0x0, 0x00, 0x543c01e4 +#define IOMUXC_PAD_GPIO_IO09__LPUART7_RX 0x543c0034, 0x05, 0x0, 0x00, 0x543c01e4 +#define IOMUXC_PAD_GPIO_IO09__LPI2C7_SCL 0x543c0034, 0x06, 0x543c0410, 0x01, 0x543c01e4 +#define IOMUXC_PAD_GPIO_IO09__FLEXIO1_FLEXIO9 0x543c0034, 0x07, 0x543c0390, 0x00, 0x543c01e4 +#define IOMUXC_PAD_GPIO_IO10__GPIO2_IO10 0x543c0038, 0x00, 0x0, 0x00, 0x543c01e8 +#define IOMUXC_PAD_GPIO_IO10__LPSPI3_SOUT 0x543c0038, 0x01, 0x0, 0x00, 0x543c01e8 +#define IOMUXC_PAD_GPIO_IO10__MEDIAMIX_CAM_DATA4 0x543c0038, 0x02, 0x543c04a0, 0x00, 0x543c01e8 +#define IOMUXC_PAD_GPIO_IO10__MEDIAMIX_DISP_DATA6 0x543c0038, 0x03, 0x0, 0x00, 0x543c01e8 +#define IOMUXC_PAD_GPIO_IO10__TPM4_EXTCLK 0x543c0038, 0x04, 0x0, 0x00, 0x543c01e8 +#define IOMUXC_PAD_GPIO_IO10__LPUART7_CTS_B 0x543c0038, 0x05, 0x0, 0x00, 0x543c01e8 +#define IOMUXC_PAD_GPIO_IO10__LPI2C8_SDA 0x543c0038, 0x06, 0x543c041c, 0x00, 0x543c01e8 +#define IOMUXC_PAD_GPIO_IO10__FLEXIO1_FLEXIO10 0x543c0038, 0x07, 0x543c0394, 0x00, 0x543c01e8 +#define IOMUXC_PAD_GPIO_IO11__GPIO2_IO11 0x543c003c, 0x00, 0x0, 0x00, 0x543c01ec +#define IOMUXC_PAD_GPIO_IO11__LPSPI3_SCK 0x543c003c, 0x01, 0x0, 0x00, 0x543c01ec +#define IOMUXC_PAD_GPIO_IO11__MEDIAMIX_CAM_DATA5 0x543c003c, 0x02, 0x543c04a4, 0x00, 0x543c01ec +#define IOMUXC_PAD_GPIO_IO11__MEDIAMIX_DISP_DATA7 0x543c003c, 0x03, 0x0, 0x00, 0x543c01ec +#define IOMUXC_PAD_GPIO_IO11__TPM5_EXTCLK 0x543c003c, 0x04, 0x0, 0x00, 0x543c01ec +#define IOMUXC_PAD_GPIO_IO11__LPUART7_RTS_B 0x543c003c, 0x05, 0x0, 0x00, 0x543c01ec +#define IOMUXC_PAD_GPIO_IO11__LPI2C8_SCL 0x543c003c, 0x06, 0x543c0418, 0x00, 0x543c01ec +#define IOMUXC_PAD_GPIO_IO11__FLEXIO1_FLEXIO11 0x543c003c, 0x07, 0x543c0398, 0x00, 0x543c01ec +#define IOMUXC_PAD_GPIO_IO12__GPIO2_IO12 0x543c0040, 0x00, 0x0, 0x00, 0x543c01f0 +#define IOMUXC_PAD_GPIO_IO12__TPM3_CH2 0x543c0040, 0x01, 0x0, 0x00, 0x543c01f0 +#define IOMUXC_PAD_GPIO_IO12__PDM_BIT_STREAM2 0x543c0040, 0x02, 0x543c04cc, 0x00, 0x543c01f0 +#define IOMUXC_PAD_GPIO_IO12__MEDIAMIX_DISP_DATA8 0x543c0040, 0x03, 0x0, 0x00, 0x543c01f0 +#define IOMUXC_PAD_GPIO_IO12__LPSPI8_PCS0 0x543c0040, 0x04, 0x0, 0x00, 0x543c01f0 +#define IOMUXC_PAD_GPIO_IO12__LPUART8_TX 0x543c0040, 0x05, 0x0, 0x00, 0x543c01f0 +#define IOMUXC_PAD_GPIO_IO12__LPI2C8_SDA 0x543c0040, 0x06, 0x543c041c, 0x01, 0x543c01f0 +#define IOMUXC_PAD_GPIO_IO12__SAI3_RX_SYNC 0x543c0040, 0x07, 0x543c04dc, 0x00, 0x543c01f0 +#define IOMUXC_PAD_GPIO_IO13__GPIO2_IO13 0x543c0044, 0x00, 0x0, 0x00, 0x543c01f4 +#define IOMUXC_PAD_GPIO_IO13__TPM4_CH2 0x543c0044, 0x01, 0x0, 0x00, 0x543c01f4 +#define IOMUXC_PAD_GPIO_IO13__PDM_BIT_STREAM3 0x543c0044, 0x02, 0x543c04d0, 0x00, 0x543c01f4 +#define IOMUXC_PAD_GPIO_IO13__MEDIAMIX_DISP_DATA9 0x543c0044, 0x03, 0x0, 0x00, 0x543c01f4 +#define IOMUXC_PAD_GPIO_IO13__LPSPI8_SIN 0x543c0044, 0x04, 0x0, 0x00, 0x543c01f4 +#define IOMUXC_PAD_GPIO_IO13__LPUART8_RX 0x543c0044, 0x05, 0x0, 0x00, 0x543c01f4 +#define IOMUXC_PAD_GPIO_IO13__LPI2C8_SCL 0x543c0044, 0x06, 0x543c0418, 0x01, 0x543c01f4 +#define IOMUXC_PAD_GPIO_IO13__FLEXIO1_FLEXIO13 0x543c0044, 0x07, 0x543c039c, 0x00, 0x543c01f4 +#define IOMUXC_PAD_GPIO_IO14__GPIO2_IO14 0x543c0048, 0x00, 0x0, 0x00, 0x543c01f8 +#define IOMUXC_PAD_GPIO_IO14__LPUART3_TX 0x543c0048, 0x01, 0x543c0474, 0x00, 0x543c01f8 +#define IOMUXC_PAD_GPIO_IO14__MEDIAMIX_CAM_DATA6 0x543c0048, 0x02, 0x543c04a8, 0x00, 0x543c01f8 +#define IOMUXC_PAD_GPIO_IO14__MEDIAMIX_DISP_DATA10 0x543c0048, 0x03, 0x0, 0x00, 0x543c01f8 +#define IOMUXC_PAD_GPIO_IO14__LPSPI8_SOUT 0x543c0048, 0x04, 0x0, 0x00, 0x543c01f8 +#define IOMUXC_PAD_GPIO_IO14__LPUART8_CTS_B 0x543c0048, 0x05, 0x0, 0x00, 0x543c01f8 +#define IOMUXC_PAD_GPIO_IO14__LPUART4_TX 0x543c0048, 0x06, 0x543c0480, 0x00, 0x543c01f8 +#define IOMUXC_PAD_GPIO_IO14__FLEXIO1_FLEXIO14 0x543c0048, 0x07, 0x543c03a0, 0x00, 0x543c01f8 +#define IOMUXC_PAD_GPIO_IO15__GPIO2_IO15 0x543c004c, 0x00, 0x0, 0x00, 0x543c01fc +#define IOMUXC_PAD_GPIO_IO15__LPUART3_RX 0x543c004c, 0x01, 0x543c0470, 0x00, 0x543c01fc +#define IOMUXC_PAD_GPIO_IO15__MEDIAMIX_CAM_DATA7 0x543c004c, 0x02, 0x543c04ac, 0x00, 0x543c01fc +#define IOMUXC_PAD_GPIO_IO15__MEDIAMIX_DISP_DATA11 0x543c004c, 0x03, 0x0, 0x00, 0x543c01fc +#define IOMUXC_PAD_GPIO_IO15__LPSPI8_SCK 0x543c004c, 0x04, 0x0, 0x00, 0x543c01fc +#define IOMUXC_PAD_GPIO_IO15__LPUART8_RTS_B 0x543c004c, 0x05, 0x0, 0x00, 0x543c01fc +#define IOMUXC_PAD_GPIO_IO15__LPUART4_RX 0x543c004c, 0x06, 0x543c047c, 0x00, 0x543c01fc +#define IOMUXC_PAD_GPIO_IO15__FLEXIO1_FLEXIO15 0x543c004c, 0x07, 0x543c03a4, 0x00, 0x543c01fc +#define IOMUXC_PAD_GPIO_IO16__GPIO2_IO16 0x543c0050, 0x00, 0x0, 0x00, 0x543c0200 +#define IOMUXC_PAD_GPIO_IO16__SAI3_TX_BCLK 0x543c0050, 0x01, 0x0, 0x00, 0x543c0200 +#define IOMUXC_PAD_GPIO_IO16__PDM_BIT_STREAM2 0x543c0050, 0x02, 0x543c04cc, 0x01, 0x543c0200 +#define IOMUXC_PAD_GPIO_IO16__MEDIAMIX_DISP_DATA12 0x543c0050, 0x03, 0x0, 0x00, 0x543c0200 +#define IOMUXC_PAD_GPIO_IO16__LPUART3_CTS_B 0x543c0050, 0x04, 0x543c046c, 0x00, 0x543c0200 +#define IOMUXC_PAD_GPIO_IO16__LPSPI4_PCS2 0x543c0050, 0x05, 0x0, 0x00, 0x543c0200 +#define IOMUXC_PAD_GPIO_IO16__LPUART4_CTS_B 0x543c0050, 0x06, 0x543c0478, 0x00, 0x543c0200 +#define IOMUXC_PAD_GPIO_IO16__FLEXIO1_FLEXIO16 0x543c0050, 0x07, 0x543c03a8, 0x00, 0x543c0200 +#define IOMUXC_PAD_GPIO_IO17__GPIO2_IO17 0x543c0054, 0x00, 0x0, 0x00, 0x543c0204 +#define IOMUXC_PAD_GPIO_IO17__SAI3_MCLK 0x543c0054, 0x01, 0x0, 0x00, 0x543c0204 +#define IOMUXC_PAD_GPIO_IO17__MEDIAMIX_CAM_DATA8 0x543c0054, 0x02, 0x543c04b0, 0x00, 0x543c0204 +#define IOMUXC_PAD_GPIO_IO17__MEDIAMIX_DISP_DATA13 0x543c0054, 0x03, 0x0, 0x00, 0x543c0204 +#define IOMUXC_PAD_GPIO_IO17__LPUART3_RTS_B 0x543c0054, 0x04, 0x0, 0x00, 0x543c0204 +#define IOMUXC_PAD_GPIO_IO17__LPSPI4_PCS1 0x543c0054, 0x05, 0x0, 0x00, 0x543c0204 +#define IOMUXC_PAD_GPIO_IO17__LPUART4_RTS_B 0x543c0054, 0x06, 0x0, 0x00, 0x543c0204 +#define IOMUXC_PAD_GPIO_IO17__FLEXIO1_FLEXIO17 0x543c0054, 0x07, 0x543c03ac, 0x00, 0x543c0204 +#define IOMUXC_PAD_GPIO_IO18__GPIO2_IO18 0x543c0058, 0x00, 0x0, 0x00, 0x543c0208 +#define IOMUXC_PAD_GPIO_IO18__SAI3_RX_BCLK 0x543c0058, 0x01, 0x543c04d8, 0x00, 0x543c0208 +#define IOMUXC_PAD_GPIO_IO18__MEDIAMIX_CAM_DATA9 0x543c0058, 0x02, 0x543c04b4, 0x00, 0x543c0208 +#define IOMUXC_PAD_GPIO_IO18__MEDIAMIX_DISP_DATA14 0x543c0058, 0x03, 0x0, 0x00, 0x543c0208 +#define IOMUXC_PAD_GPIO_IO18__LPSPI5_PCS0 0x543c0058, 0x04, 0x0, 0x00, 0x543c0208 +#define IOMUXC_PAD_GPIO_IO18__LPSPI4_PCS0 0x543c0058, 0x05, 0x0, 0x00, 0x543c0208 +#define IOMUXC_PAD_GPIO_IO18__TPM5_CH2 0x543c0058, 0x06, 0x0, 0x00, 0x543c0208 +#define IOMUXC_PAD_GPIO_IO18__FLEXIO1_FLEXIO18 0x543c0058, 0x07, 0x543c03b0, 0x00, 0x543c0208 +#define IOMUXC_PAD_GPIO_IO19__GPIO2_IO19 0x543c005c, 0x00, 0x0, 0x00, 0x543c020c +#define IOMUXC_PAD_GPIO_IO19__SAI3_RX_SYNC 0x543c005c, 0x01, 0x543c04dc, 0x01, 0x543c020c +#define IOMUXC_PAD_GPIO_IO19__PDM_BIT_STREAM3 0x543c005c, 0x02, 0x543c04d0, 0x01, 0x543c020c +#define IOMUXC_PAD_GPIO_IO19__MEDIAMIX_DISP_DATA15 0x543c005c, 0x03, 0x0, 0x00, 0x543c020c +#define IOMUXC_PAD_GPIO_IO19__LPSPI5_SIN 0x543c005c, 0x04, 0x0, 0x00, 0x543c020c +#define IOMUXC_PAD_GPIO_IO19__LPSPI4_SIN 0x543c005c, 0x05, 0x0, 0x00, 0x543c020c +#define IOMUXC_PAD_GPIO_IO19__TPM6_CH2 0x543c005c, 0x06, 0x0, 0x00, 0x543c020c +#define IOMUXC_PAD_GPIO_IO19__SAI3_TX_DATA0 0x543c005c, 0x07, 0x0, 0x00, 0x543c020c +#define IOMUXC_PAD_GPIO_IO20__GPIO2_IO20 0x543c0060, 0x00, 0x0, 0x00, 0x543c0210 +#define IOMUXC_PAD_GPIO_IO20__SAI3_RX_DATA0 0x543c0060, 0x01, 0x0, 0x00, 0x543c0210 +#define IOMUXC_PAD_GPIO_IO20__PDM_BIT_STREAM0 0x543c0060, 0x02, 0x543c04c4, 0x01, 0x543c0210 +#define IOMUXC_PAD_GPIO_IO20__MEDIAMIX_DISP_DATA16 0x543c0060, 0x03, 0x0, 0x00, 0x543c0210 +#define IOMUXC_PAD_GPIO_IO20__LPSPI5_SOUT 0x543c0060, 0x04, 0x0, 0x00, 0x543c0210 +#define IOMUXC_PAD_GPIO_IO20__LPSPI4_SOUT 0x543c0060, 0x05, 0x0, 0x00, 0x543c0210 +#define IOMUXC_PAD_GPIO_IO20__TPM3_CH1 0x543c0060, 0x06, 0x0, 0x00, 0x543c0210 +#define IOMUXC_PAD_GPIO_IO20__FLEXIO1_FLEXIO20 0x543c0060, 0x07, 0x543c03b4, 0x00, 0x543c0210 +#define IOMUXC_PAD_GPIO_IO21__GPIO2_IO21 0x543c0064, 0x00, 0x0, 0x00, 0x543c0214 +#define IOMUXC_PAD_GPIO_IO21__SAI3_TX_DATA0 0x543c0064, 0x01, 0x0, 0x00, 0x543c0214 +#define IOMUXC_PAD_GPIO_IO21__PDM_CLK 0x543c0064, 0x02, 0x0, 0x00, 0x543c0214 +#define IOMUXC_PAD_GPIO_IO21__MEDIAMIX_DISP_DATA17 0x543c0064, 0x03, 0x0, 0x00, 0x543c0214 +#define IOMUXC_PAD_GPIO_IO21__LPSPI5_SCK 0x543c0064, 0x04, 0x0, 0x00, 0x543c0214 +#define IOMUXC_PAD_GPIO_IO21__LPSPI4_SCK 0x543c0064, 0x05, 0x0, 0x00, 0x543c0214 +#define IOMUXC_PAD_GPIO_IO21__TPM4_CH1 0x543c0064, 0x06, 0x0, 0x00, 0x543c0214 +#define IOMUXC_PAD_GPIO_IO21__SAI3_RX_BCLK 0x543c0064, 0x07, 0x543c04d8, 0x01, 0x543c0214 +#define IOMUXC_PAD_GPIO_IO22__GPIO2_IO22 0x543c0068, 0x00, 0x0, 0x00, 0x543c0218 +#define IOMUXC_PAD_GPIO_IO22__USDHC3_CLK 0x543c0068, 0x01, 0x543c04e8, 0x00, 0x543c0218 +#define IOMUXC_PAD_GPIO_IO22__SPDIF_IN 0x543c0068, 0x02, 0x543c04e4, 0x00, 0x543c0218 +#define IOMUXC_PAD_GPIO_IO22__MEDIAMIX_DISP_DATA18 0x543c0068, 0x03, 0x0, 0x00, 0x543c0218 +#define IOMUXC_PAD_GPIO_IO22__TPM5_CH1 0x543c0068, 0x04, 0x0, 0x00, 0x543c0218 +#define IOMUXC_PAD_GPIO_IO22__TPM6_EXTCLK 0x543c0068, 0x05, 0x0, 0x00, 0x543c0218 +#define IOMUXC_PAD_GPIO_IO22__LPI2C5_SDA 0x543c0068, 0x06, 0x543c0404, 0x01, 0x543c0218 +#define IOMUXC_PAD_GPIO_IO22__FLEXIO1_FLEXIO22 0x543c0068, 0x07, 0x543c03b8, 0x00, 0x543c0218 +#define IOMUXC_PAD_GPIO_IO23__GPIO2_IO23 0x543c006c, 0x00, 0x0, 0x00, 0x543c021c +#define IOMUXC_PAD_GPIO_IO23__USDHC3_CMD 0x543c006c, 0x01, 0x543c04ec, 0x00, 0x543c021c +#define IOMUXC_PAD_GPIO_IO23__SPDIF_OUT 0x543c006c, 0x02, 0x0, 0x00, 0x543c021c +#define IOMUXC_PAD_GPIO_IO23__MEDIAMIX_DISP_DATA19 0x543c006c, 0x03, 0x0, 0x00, 0x543c021c +#define IOMUXC_PAD_GPIO_IO23__TPM6_CH1 0x543c006c, 0x04, 0x0, 0x00, 0x543c021c +#define IOMUXC_PAD_GPIO_IO23__LPI2C5_SCL 0x543c006c, 0x06, 0x543c0400, 0x01, 0x543c021c +#define IOMUXC_PAD_GPIO_IO23__FLEXIO1_FLEXIO23 0x543c006c, 0x07, 0x543c03bc, 0x00, 0x543c021c +#define IOMUXC_PAD_GPIO_IO24__GPIO2_IO24 0x543c0070, 0x00, 0x0, 0x00, 0x543c0220 +#define IOMUXC_PAD_GPIO_IO24__USDHC3_DATA0 0x543c0070, 0x01, 0x543c04f0, 0x00, 0x543c0220 +#define IOMUXC_PAD_GPIO_IO24__MEDIAMIX_DISP_DATA20 0x543c0070, 0x03, 0x0, 0x00, 0x543c0220 +#define IOMUXC_PAD_GPIO_IO24__TPM3_CH3 0x543c0070, 0x04, 0x0, 0x00, 0x543c0220 +#define IOMUXC_PAD_GPIO_IO24__JTAG_MUX_TDO 0x543c0070, 0x05, 0x0, 0x00, 0x543c0220 +#define IOMUXC_PAD_GPIO_IO24__LPSPI6_PCS1 0x543c0070, 0x06, 0x0, 0x00, 0x543c0220 +#define IOMUXC_PAD_GPIO_IO24__FLEXIO1_FLEXIO24 0x543c0070, 0x07, 0x543c03c0, 0x00, 0x543c0220 +#define IOMUXC_PAD_GPIO_IO25__GPIO2_IO25 0x543c0074, 0x00, 0x0, 0x00, 0x543c0224 +#define IOMUXC_PAD_GPIO_IO25__USDHC3_DATA1 0x543c0074, 0x01, 0x543c04f4, 0x00, 0x543c0224 +#define IOMUXC_PAD_GPIO_IO25__CAN2_TX 0x543c0074, 0x02, 0x0, 0x00, 0x543c0224 +#define IOMUXC_PAD_GPIO_IO25__MEDIAMIX_DISP_DATA21 0x543c0074, 0x03, 0x0, 0x00, 0x543c0224 +#define IOMUXC_PAD_GPIO_IO25__TPM4_CH3 0x543c0074, 0x04, 0x0, 0x00, 0x543c0224 +#define IOMUXC_PAD_GPIO_IO25__JTAG_MUX_TCK 0x543c0074, 0x05, 0x543c03d4, 0x01, 0x543c0224 +#define IOMUXC_PAD_GPIO_IO25__LPSPI7_PCS1 0x543c0074, 0x06, 0x0, 0x00, 0x543c0224 +#define IOMUXC_PAD_GPIO_IO25__FLEXIO1_FLEXIO25 0x543c0074, 0x07, 0x543c03c4, 0x00, 0x543c0224 +#define IOMUXC_PAD_GPIO_IO26__GPIO2_IO26 0x543c0078, 0x00, 0x0, 0x00, 0x543c0228 +#define IOMUXC_PAD_GPIO_IO26__USDHC3_DATA2 0x543c0078, 0x01, 0x543c04f8, 0x00, 0x543c0228 +#define IOMUXC_PAD_GPIO_IO26__PDM_BIT_STREAM1 0x543c0078, 0x02, 0x543c04c8, 0x01, 0x543c0228 +#define IOMUXC_PAD_GPIO_IO26__MEDIAMIX_DISP_DATA22 0x543c0078, 0x03, 0x0, 0x00, 0x543c0228 +#define IOMUXC_PAD_GPIO_IO26__TPM5_CH3 0x543c0078, 0x04, 0x0, 0x00, 0x543c0228 +#define IOMUXC_PAD_GPIO_IO26__JTAG_MUX_TDI 0x543c0078, 0x05, 0x543c03d8, 0x01, 0x543c0228 +#define IOMUXC_PAD_GPIO_IO26__LPSPI8_PCS1 0x543c0078, 0x06, 0x0, 0x00, 0x543c0228 +#define IOMUXC_PAD_GPIO_IO26__SAI3_TX_SYNC 0x543c0078, 0x07, 0x543c04e0, 0x00, 0x543c0228 +#define IOMUXC_PAD_GPIO_IO27__GPIO2_IO27 0x543c007c, 0x00, 0x0, 0x00, 0x543c022c +#define IOMUXC_PAD_GPIO_IO27__USDHC3_DATA3 0x543c007c, 0x01, 0x543c04fc, 0x00, 0x543c022c +#define IOMUXC_PAD_GPIO_IO27__CAN2_RX 0x543c007c, 0x02, 0x543c0364, 0x01, 0x543c022c +#define IOMUXC_PAD_GPIO_IO27__MEDIAMIX_DISP_DATA23 0x543c007c, 0x03, 0x0, 0x00, 0x543c022c +#define IOMUXC_PAD_GPIO_IO27__TPM6_CH3 0x543c007c, 0x04, 0x0, 0x00, 0x543c022c +#define IOMUXC_PAD_GPIO_IO27__JTAG_MUX_TMS 0x543c007c, 0x05, 0x543c03dc, 0x01, 0x543c022c +#define IOMUXC_PAD_GPIO_IO27__LPSPI5_PCS1 0x543c007c, 0x06, 0x0, 0x00, 0x543c022c +#define IOMUXC_PAD_GPIO_IO27__FLEXIO1_FLEXIO27 0x543c007c, 0x07, 0x543c03c8, 0x00, 0x543c022c +#define IOMUXC_PAD_GPIO_IO28__GPIO2_IO28 0x543c0080, 0x00, 0x0, 0x00, 0x543c0230 +#define IOMUXC_PAD_GPIO_IO28__LPI2C3_SDA 0x543c0080, 0x01, 0x543c03f4, 0x01, 0x543c0230 +#define IOMUXC_PAD_GPIO_IO28__CAN1_TX 0x543c0080, 0x02, 0x0, 0x00, 0x543c0230 +#define IOMUXC_PAD_GPIO_IO28__FLEXIO1_FLEXIO28 0x543c0080, 0x07, 0x0, 0x00, 0x543c0230 +#define IOMUXC_PAD_GPIO_IO29__GPIO2_IO29 0x543c0084, 0x00, 0x0, 0x00, 0x543c0234 +#define IOMUXC_PAD_GPIO_IO29__LPI2C3_SCL 0x543c0084, 0x01, 0x543c03f0, 0x01, 0x543c0234 +#define IOMUXC_PAD_GPIO_IO29__CAN1_RX 0x543c0084, 0x02, 0x543c0360, 0x00, 0x543c0234 +#define IOMUXC_PAD_GPIO_IO29__FLEXIO1_FLEXIO29 0x543c0084, 0x07, 0x0, 0x00, 0x543c0234 +#define IOMUXC_PAD_CCM_CLKO1__CCMSRCGPCMIX_CLKO1 0x543c0088, 0x00, 0x0, 0x00, 0x543c0238 +#define IOMUXC_PAD_CCM_CLKO1__FLEXIO1_FLEXIO26 0x543c0088, 0x04, 0x0, 0x00, 0x543c0238 +#define IOMUXC_PAD_CCM_CLKO1__GPIO3_IO26 0x543c0088, 0x05, 0x0, 0x00, 0x543c0238 +#define IOMUXC_PAD_CCM_CLKO2__GPIO3_IO27 0x543c008c, 0x05, 0x0, 0x00, 0x543c023c +#define IOMUXC_PAD_CCM_CLKO2__CCMSRCGPCMIX_CLKO2 0x543c008c, 0x00, 0x0, 0x00, 0x543c023c +#define IOMUXC_PAD_CCM_CLKO2__FLEXIO1_FLEXIO27 0x543c008c, 0x04, 0x543c03c8, 0x01, 0x543c023c +#define IOMUXC_PAD_CCM_CLKO3__CCMSRCGPCMIX_CLKO3 0x543c0090, 0x00, 0x0, 0x00, 0x543c0240 +#define IOMUXC_PAD_CCM_CLKO3__FLEXIO2_FLEXIO28 0x543c0090, 0x04, 0x0, 0x00, 0x543c0240 +#define IOMUXC_PAD_CCM_CLKO3__GPIO4_IO28 0x543c0090, 0x05, 0x0, 0x00, 0x543c0240 +#define IOMUXC_PAD_CCM_CLKO4__CCMSRCGPCMIX_CLKO4 0x543c0094, 0x00, 0x0, 0x00, 0x543c0244 +#define IOMUXC_PAD_CCM_CLKO4__FLEXIO2_FLEXIO29 0x543c0094, 0x04, 0x0, 0x00, 0x543c0244 +#define IOMUXC_PAD_CCM_CLKO4__GPIO4_IO29 0x543c0094, 0x05, 0x0, 0x00, 0x543c0244 +#define IOMUXC_PAD_ENET1_MDC__ENET1_MDC 0x543c0098, 0x00, 0x0, 0x00, 0x543c0248 +#define IOMUXC_PAD_ENET1_MDC__LPUART3_DCB_B 0x543c0098, 0x01, 0x0, 0x00, 0x543c0248 +#define IOMUXC_PAD_ENET1_MDC__I3C2_SCL 0x543c0098, 0x02, 0x543c03cc, 0x00, 0x543c0248 +#define IOMUXC_PAD_ENET1_MDC__HSIOMIX_OTG_ID1 0x543c0098, 0x03, 0x0, 0x00, 0x543c0248 +#define IOMUXC_PAD_ENET1_MDC__FLEXIO2_FLEXIO0 0x543c0098, 0x04, 0x0, 0x00, 0x543c0248 +#define IOMUXC_PAD_ENET1_MDC__GPIO4_IO0 0x543c0098, 0x05, 0x0, 0x00, 0x543c0248 +#define IOMUXC_PAD_ENET1_MDC__LPI2C1_SCL 0x543c0098, 0x06, 0x543c03e0, 0x00, 0x543c0248 +#define IOMUXC_PAD_ENET1_MDIO__ENET_QOS_MDIO 0x543c009c, 0x00, 0x0, 0x00, 0x543c024c +#define IOMUXC_PAD_ENET1_MDIO__LPUART3_RIN_B 0x543c009c, 0x01, 0x0, 0x00, 0x543c024c +#define IOMUXC_PAD_ENET1_MDIO__I3C2_SDA 0x543c009c, 0x02, 0x543c03d0, 0x00, 0x543c024c +#define IOMUXC_PAD_ENET1_MDIO__HSIOMIX_OTG_PWR1 0x543c009c, 0x03, 0x0, 0x00, 0x543c024c +#define IOMUXC_PAD_ENET1_MDIO__FLEXIO2_FLEXIO1 0x543c009c, 0x04, 0x0, 0x00, 0x543c024c +#define IOMUXC_PAD_ENET1_MDIO__GPIO4_IO1 0x543c009c, 0x05, 0x0, 0x00, 0x543c024c +#define IOMUXC_PAD_ENET1_MDIO__LPI2C1_SDA 0x543c009c, 0x06, 0x543c03e4, 0x00, 0x543c024c +#define IOMUXC_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3 0x543c00a0, 0x00, 0x0, 0x00, 0x543c0250 +#define IOMUXC_PAD_ENET1_TD3__CAN2_TX 0x543c00a0, 0x02, 0x0, 0x00, 0x543c0250 +#define IOMUXC_PAD_ENET1_TD3__HSIOMIX_OTG_ID2 0x543c00a0, 0x03, 0x0, 0x00, 0x543c0250 +#define IOMUXC_PAD_ENET1_TD3__FLEXIO2_FLEXIO2 0x543c00a0, 0x04, 0x0, 0x00, 0x543c0250 +#define IOMUXC_PAD_ENET1_TD3__GPIO4_IO3 0x543c00a0, 0x05, 0x0, 0x00, 0x543c0250 +#define IOMUXC_PAD_ENET1_TD3__LPI2C1_SCL 0x543c00a0, 0x06, 0x543c03e8, 0x00, 0x543c0250 +#define IOMUXC_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2 0x543c00a4, 0x00, 0x0, 0x00, 0x543c0254 +#define IOMUXC_PAD_ENET1_TD2__ENET_QOS_CLOCK_GENERATE_CLK 0x543c00a4, 0x01, 0x0, 0x00, 0x543c0254 +#define IOMUXC_PAD_ENET1_TD2__CAN2_RX 0x543c00a4, 0x02, 0x543c0364, 0x02, 0x543c0254 +#define IOMUXC_PAD_ENET1_TD2__HSIOMIX_OTG_OC2 0x543c00a4, 0x03, 0x0, 0x00, 0x543c0254 +#define IOMUXC_PAD_ENET1_TD2__FLEXIO2_FLEXIO3 0x543c00a4, 0x04, 0x0, 0x00, 0x543c0254 +#define IOMUXC_PAD_ENET1_TD2__GPIO4_IO3 0x543c00a4, 0x05, 0x0, 0x00, 0x543c0254 +#define IOMUXC_PAD_ENET1_TD2__LPI2C2_SDA 0x543c00a4, 0x06, 0x543c03ec, 0x00, 0x543c0254 +#define IOMUXC_PAD_ENET1_TD1__ENET1_RGMII_TD1 0x543c00a8, 0x00, 0x0, 0x00, 0x543c0258 +#define IOMUXC_PAD_ENET1_TD1__LPUART3_RTS_B 0x543c00a8, 0x01, 0x0, 0x00, 0x543c0258 +#define IOMUXC_PAD_ENET1_TD1__I3C2_PUR 0x543c00a8, 0x02, 0x0, 0x00, 0x543c0258 +#define IOMUXC_PAD_ENET1_TD1__HSIOMIX_OTG_OC1 0x543c00a8, 0x03, 0x0, 0x00, 0x543c0258 +#define IOMUXC_PAD_ENET1_TD1__FLEXIO2_FLEXIO4 0x543c00a8, 0x04, 0x0, 0x00, 0x543c0258 +#define IOMUXC_PAD_ENET1_TD1__GPIO4_IO4 0x543c00a8, 0x05, 0x0, 0x00, 0x543c0258 +#define IOMUXC_PAD_ENET1_TD1__I3C2_PUR_B 0x543c00a8, 0x06, 0x0, 0x00, 0x543c0258 +#define IOMUXC_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0 0x543c00ac, 0x00, 0x0, 0x00, 0x543c025c +#define IOMUXC_PAD_ENET1_TD0__LPUART3_TX 0x543c00ac, 0x01, 0x543c0474, 0x01, 0x543c025c +#define IOMUXC_PAD_ENET1_TD0__FLEXIO2_FLEXIO5 0x543c00ac, 0x04, 0x0, 0x00, 0x543c025c +#define IOMUXC_PAD_ENET1_TD0__GPIO4_IO5 0x543c00ac, 0x05, 0x0, 0x00, 0x543c025c +#define IOMUXC_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x543c00b0, 0x00, 0x0, 0x00, 0x543c0260 +#define IOMUXC_PAD_ENET1_TX_CTL__LPUART3_DTR_B 0x543c00b0, 0x01, 0x0, 0x00, 0x543c0260 +#define IOMUXC_PAD_ENET1_TX_CTL__FLEXIO2_FLEXIO6 0x543c00b0, 0x04, 0x0, 0x00, 0x543c0260 +#define IOMUXC_PAD_ENET1_TX_CTL__GPIO4_IO6 0x543c00b0, 0x05, 0x0, 0x00, 0x543c0260 +#define IOMUXC_PAD_ENET1_TX_CTL__LPSPI2_SCK 0x543c00b0, 0x02, 0x543c043c, 0x00, 0x543c0260 +#define IOMUXC_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x543c00b4, 0x00, 0x0, 0x00, 0x543c0264 +#define IOMUXC_PAD_ENET1_TXC__ENET_QOS_TX_ER 0x543c00b4, 0x01, 0x0, 0x00, 0x543c0264 +#define IOMUXC_PAD_ENET1_TXC__FLEXIO2_FLEXIO7 0x543c00b4, 0x04, 0x0, 0x00, 0x543c0264 +#define IOMUXC_PAD_ENET1_TXC__GPIO4_IO7 0x543c00b4, 0x05, 0x0, 0x00, 0x543c0264 +#define IOMUXC_PAD_ENET1_TXC__LPSPI2_SIN 0x543c00b4, 0x02, 0x543c0440, 0x00, 0x543c0264 +#define IOMUXC_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x543c00b8, 0x00, 0x0, 0x00, 0x543c0268 +#define IOMUXC_PAD_ENET1_RX_CTL__LPUART3_DSR_B 0x543c00b8, 0x01, 0x0, 0x00, 0x543c0268 +#define IOMUXC_PAD_ENET1_RX_CTL__HSIOMIX_OTG_PWR2 0x543c00b8, 0x03, 0x0, 0x00, 0x543c0268 +#define IOMUXC_PAD_ENET1_RX_CTL__FLEXIO2_FLEXIO8 0x543c00b8, 0x04, 0x0, 0x00, 0x543c0268 +#define IOMUXC_PAD_ENET1_RX_CTL__GPIO4_IO8 0x543c00b8, 0x05, 0x0, 0x00, 0x543c0268 +#define IOMUXC_PAD_ENET1_RX_CTL__LPSPI2_PCS0 0x543c00b8, 0x02, 0x543c0434, 0x00, 0x543c0268 +#define IOMUXC_PAD_ENET1_RXC__ENET_QOS_RGMII_RXC 0x543c00bc, 0x00, 0x0, 0x00, 0x543c026c +#define IOMUXC_PAD_ENET1_RXC__ENET_QOS_RX_ER 0x543c00bc, 0x01, 0x0, 0x00, 0x543c026c +#define IOMUXC_PAD_ENET1_RXC__FLEXIO2_FLEXIO9 0x543c00bc, 0x04, 0x0, 0x00, 0x543c026c +#define IOMUXC_PAD_ENET1_RXC__GPIO4_IO9 0x543c00bc, 0x05, 0x0, 0x00, 0x543c026c +#define IOMUXC_PAD_ENET1_RXC__LPSPI2_SOUT 0x543c00bc, 0x02, 0x543c0444, 0x00, 0x543c026c +#define IOMUXC_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0 0x543c00c0, 0x00, 0x0, 0x00, 0x543c0270 +#define IOMUXC_PAD_ENET1_RD0__LPUART3_RX 0x543c00c0, 0x01, 0x543c0470, 0x01, 0x543c0270 +#define IOMUXC_PAD_ENET1_RD0__FLEXIO2_FLEXIO10 0x543c00c0, 0x04, 0x0, 0x00, 0x543c0270 +#define IOMUXC_PAD_ENET1_RD0__GPIO4_IO10 0x543c00c0, 0x05, 0x0, 0x00, 0x543c0270 +#define IOMUXC_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1 0x543c00c4, 0x00, 0x0, 0x00, 0x543c0274 +#define IOMUXC_PAD_ENET1_RD1__LPUART3_CTS_B 0x543c00c4, 0x01, 0x543c046c, 0x01, 0x543c0274 +#define IOMUXC_PAD_ENET1_RD1__LPTMR2_ALT1 0x543c00c4, 0x03, 0x543c0448, 0x00, 0x543c0274 +#define IOMUXC_PAD_ENET1_RD1__FLEXIO2_FLEXIO11 0x543c00c4, 0x04, 0x0, 0x00, 0x543c0274 +#define IOMUXC_PAD_ENET1_RD1__GPIO4_IO11 0x543c00c4, 0x05, 0x0, 0x00, 0x543c0274 +#define IOMUXC_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2 0x543c00c8, 0x00, 0x0, 0x00, 0x543c0278 +#define IOMUXC_PAD_ENET1_RD2__LPTMR2_ALT2 0x543c00c8, 0x03, 0x543c044c, 0x00, 0x543c0278 +#define IOMUXC_PAD_ENET1_RD2__FLEXIO2_FLEXIO12 0x543c00c8, 0x04, 0x0, 0x00, 0x543c0278 +#define IOMUXC_PAD_ENET1_RD2__GPIO4_IO12 0x543c00c8, 0x05, 0x0, 0x00, 0x543c0278 +#define IOMUXC_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3 0x543c00cc, 0x00, 0x0, 0x00, 0x543c027c +#define IOMUXC_PAD_ENET1_RD3__FLEXSPI1_TESTER_TRIGGER 0x543c00cc, 0x02, 0x0, 0x00, 0x543c027c +#define IOMUXC_PAD_ENET1_RD3__LPTMR2_ALT3 0x543c00cc, 0x03, 0x543c0450, 0x00, 0x543c027c +#define IOMUXC_PAD_ENET1_RD3__FLEXIO2_FLEXIO13 0x543c00cc, 0x04, 0x0, 0x00, 0x543c027c +#define IOMUXC_PAD_ENET1_RD3__GPIO4_IO13 0x543c00cc, 0x05, 0x0, 0x00, 0x543c027c +#define IOMUXC_PAD_ENET2_MDC__ENET2_MDC 0x543c00d0, 0x00, 0x0, 0x00, 0x543c0280 +#define IOMUXC_PAD_ENET2_MDC__LPUART4_DCB_B 0x543c00d0, 0x01, 0x0, 0x00, 0x543c0280 +#define IOMUXC_PAD_ENET2_MDC__SAI2_RX_SYNC 0x543c00d0, 0x02, 0x0, 0x00, 0x543c0280 +#define IOMUXC_PAD_ENET2_MDC__FLEXIO2_FLEXIO14 0x543c00d0, 0x04, 0x0, 0x00, 0x543c0280 +#define IOMUXC_PAD_ENET2_MDC__GPIO4_IO14 0x543c00d0, 0x05, 0x0, 0x00, 0x543c0280 +#define IOMUXC_PAD_ENET2_MDC__MEDIAMIX_CAM_CLK 0x543c00d0, 0x06, 0x543c04bc, 0x01, 0x543c0280 +#define IOMUXC_PAD_ENET2_MDIO__ENET2_MDIO 0x543c00d4, 0x00, 0x0, 0x00, 0x543c0284 +#define IOMUXC_PAD_ENET2_MDIO__LPUART4_RIN_B 0x543c00d4, 0x01, 0x0, 0x00, 0x543c0284 +#define IOMUXC_PAD_ENET2_MDIO__SAI2_RX_BCLK 0x543c00d4, 0x02, 0x0, 0x00, 0x543c0284 +#define IOMUXC_PAD_ENET2_MDIO__FLEXIO2_FLEXIO15 0x543c00d4, 0x04, 0x0, 0x00, 0x543c0284 +#define IOMUXC_PAD_ENET2_MDIO__GPIO4_IO15 0x543c00d4, 0x05, 0x0, 0x00, 0x543c0284 +#define IOMUXC_PAD_ENET2_MDIO__MEDIAMIX_CAM_DATA0 0x543c00d4, 0x06, 0x543c0490, 0x01, 0x543c0284 +#define IOMUXC_PAD_ENET2_TD3__SAI2_RX_DATA0 0x543c00d8, 0x02, 0x0, 0x00, 0x543c0288 +#define IOMUXC_PAD_ENET2_TD3__FLEXIO2_FLEXIO16 0x543c00d8, 0x04, 0x0, 0x00, 0x543c0288 +#define IOMUXC_PAD_ENET2_TD3__GPIO4_IO16 0x543c00d8, 0x05, 0x0, 0x00, 0x543c0288 +#define IOMUXC_PAD_ENET2_TD3__MEDIAMIX_CAM_VSYNC 0x543c00d8, 0x06, 0x543c04c0, 0x01, 0x543c0288 +#define IOMUXC_PAD_ENET2_TD3__ENET2_RGMII_TD3 0x543c00d8, 0x00, 0x0, 0x00, 0x543c0288 +#define IOMUXC_PAD_ENET2_TD2__ENET2_RGMII_TD2 0x543c00dc, 0x00, 0x0, 0x00, 0x543c028c +#define IOMUXC_PAD_ENET2_TD2__ENET2_TX_CLK2 0x543c00dc, 0x01, 0x0, 0x00, 0x543c028c +#define IOMUXC_PAD_ENET2_TD2__FLEXIO2_FLEXIO17 0x543c00dc, 0x04, 0x0, 0x00, 0x543c028c +#define IOMUXC_PAD_ENET2_TD2__GPIO4_IO17 0x543c00dc, 0x05, 0x0, 0x00, 0x543c028c +#define IOMUXC_PAD_ENET2_TD2__MEDIAMIX_CAM_HSYNC 0x543c00dc, 0x06, 0x543c04b8, 0x01, 0x543c028c +#define IOMUXC_PAD_ENET2_TD1__ENET2_RGMII_TD1 0x543c00e0, 0x00, 0x0, 0x00, 0x543c0290 +#define IOMUXC_PAD_ENET2_TD1__LPUART4_RTS_B 0x543c00e0, 0x01, 0x0, 0x00, 0x543c0290 +#define IOMUXC_PAD_ENET2_TD1__FLEXIO2_FLEXIO18 0x543c00e0, 0x04, 0x0, 0x00, 0x543c0290 +#define IOMUXC_PAD_ENET2_TD1__GPIO4_IO18 0x543c00e0, 0x05, 0x0, 0x00, 0x543c0290 +#define IOMUXC_PAD_ENET2_TD1__MEDIAMIX_CAM_DATA1 0x543c00e0, 0x06, 0x543c0494, 0x01, 0x543c0290 +#define IOMUXC_PAD_ENET2_TD0__ENET2_RGMII_TD0 0x543c00e4, 0x00, 0x0, 0x00, 0x543c0294 +#define IOMUXC_PAD_ENET2_TD0__LPUART4_TX 0x543c00e4, 0x01, 0x543c0480, 0x01, 0x543c0294 +#define IOMUXC_PAD_ENET2_TD0__FLEXIO2_FLEXIO19 0x543c00e4, 0x04, 0x0, 0x00, 0x543c0294 +#define IOMUXC_PAD_ENET2_TD0__GPIO4_IO19 0x543c00e4, 0x05, 0x0, 0x00, 0x543c0294 +#define IOMUXC_PAD_ENET2_TD0__MEDIAMIX_CAM_DATA2 0x543c00e4, 0x06, 0x543c0498, 0x01, 0x543c0294 +#define IOMUXC_PAD_ENET2_TX_CTL__ENET2_RGMII_TX_CTL 0x543c00e8, 0x00, 0x0, 0x00, 0x543c0298 +#define IOMUXC_PAD_ENET2_TX_CTL__LPUART4_DTR_B 0x543c00e8, 0x01, 0x0, 0x00, 0x543c0298 +#define IOMUXC_PAD_ENET2_TX_CTL__SAI2_TX_SYNC 0x543c00e8, 0x02, 0x0, 0x00, 0x543c0298 +#define IOMUXC_PAD_ENET2_TX_CTL__FLEXIO2_FLEXIO20 0x543c00e8, 0x04, 0x0, 0x00, 0x543c0298 +#define IOMUXC_PAD_ENET2_TX_CTL__GPIO4_IO20 0x543c00e8, 0x05, 0x0, 0x00, 0x543c0298 +#define IOMUXC_PAD_ENET2_TX_CTL__MEDIAMIX_CAM_DATA3 0x543c00e8, 0x06, 0x543c049c, 0x01, 0x543c0298 +#define IOMUXC_PAD_ENET2_TXC__ENET2_RGMII_TXC 0x543c00ec, 0x00, 0x0, 0x00, 0x543c029c +#define IOMUXC_PAD_ENET2_TXC__ENET2_TX_ER 0x543c00ec, 0x01, 0x0, 0x00, 0x543c029c +#define IOMUXC_PAD_ENET2_TXC__SAI2_TX_BCLK 0x543c00ec, 0x02, 0x0, 0x00, 0x543c029c +#define IOMUXC_PAD_ENET2_TXC__FLEXIO2_FLEXIO21 0x543c00ec, 0x04, 0x0, 0x00, 0x543c029c +#define IOMUXC_PAD_ENET2_TXC__GPIO4_IO21 0x543c00ec, 0x05, 0x0, 0x00, 0x543c029c +#define IOMUXC_PAD_ENET2_TXC__MEDIAMIX_CAM_DATA4 0x543c00ec, 0x06, 0x543c04a0, 0x01, 0x543c029c +#define IOMUXC_PAD_ENET2_RX_CTL__ENET2_RGMII_RX_CTL 0x543c00f0, 0x00, 0x0, 0x00, 0x543c02a0 +#define IOMUXC_PAD_ENET2_RX_CTL__LPUART4_DSR_B 0x543c00f0, 0x01, 0x0, 0x00, 0x543c02a0 +#define IOMUXC_PAD_ENET2_RX_CTL__SAI2_TX_DATA0 0x543c00f0, 0x02, 0x0, 0x00, 0x543c02a0 +#define IOMUXC_PAD_ENET2_RX_CTL__FLEXIO2_FLEXIO22 0x543c00f0, 0x04, 0x0, 0x00, 0x543c02a0 +#define IOMUXC_PAD_ENET2_RX_CTL__GPIO4_IO22 0x543c00f0, 0x05, 0x0, 0x00, 0x543c02a0 +#define IOMUXC_PAD_ENET2_RX_CTL__MEDIAMIX_CAM_DATA5 0x543c00f0, 0x06, 0x543c04a4, 0x01, 0x543c02a0 +#define IOMUXC_PAD_ENET2_RXC__ENET2_RGMII_RXC 0x543c00f4, 0x00, 0x0, 0x00, 0x543c02a4 +#define IOMUXC_PAD_ENET2_RXC__ENET2_RX_ER 0x543c00f4, 0x01, 0x0, 0x00, 0x543c02a4 +#define IOMUXC_PAD_ENET2_RXC__FLEXIO2_FLEXIO23 0x543c00f4, 0x04, 0x0, 0x00, 0x543c02a4 +#define IOMUXC_PAD_ENET2_RXC__GPIO4_IO23 0x543c00f4, 0x05, 0x0, 0x00, 0x543c02a4 +#define IOMUXC_PAD_ENET2_RXC__MEDIAMIX_CAM_DATA6 0x543c00f4, 0x06, 0x543c04a8, 0x01, 0x543c02a4 +#define IOMUXC_PAD_ENET2_RD0__ENET2_RGMII_RD0 0x543c00f8, 0x00, 0x0, 0x00, 0x543c02a8 +#define IOMUXC_PAD_ENET2_RD0__LPUART4_RX 0x543c00f8, 0x01, 0x543c047c, 0x01, 0x543c02a8 +#define IOMUXC_PAD_ENET2_RD0__FLEXIO2_FLEXIO24 0x543c00f8, 0x04, 0x0, 0x00, 0x543c02a8 +#define IOMUXC_PAD_ENET2_RD0__GPIO4_IO24 0x543c00f8, 0x05, 0x0, 0x00, 0x543c02a8 +#define IOMUXC_PAD_ENET2_RD0__MEDIAMIX_CAM_DATA7 0x543c00f8, 0x06, 0x543c04ac, 0x01, 0x543c02a8 +#define IOMUXC_PAD_ENET2_RD1__ENET2_RGMII_RD1 0x543c00fc, 0x00, 0x0, 0x00, 0x543c02ac +#define IOMUXC_PAD_ENET2_RD1__SPDIF_IN 0x543c00fc, 0x01, 0x543c04e4, 0x01, 0x543c02ac +#define IOMUXC_PAD_ENET2_RD1__FLEXIO2_FLEXIO25 0x543c00fc, 0x04, 0x0, 0x00, 0x543c02ac +#define IOMUXC_PAD_ENET2_RD1__GPIO4_IO25 0x543c00fc, 0x05, 0x0, 0x00, 0x543c02ac +#define IOMUXC_PAD_ENET2_RD1__MEDIAMIX_CAM_DATA8 0x543c00fc, 0x06, 0x543c04b0, 0x01, 0x543c02ac +#define IOMUXC_PAD_ENET2_RD2__ENET2_RGMII_RD2 0x543c0100, 0x00, 0x0, 0x00, 0x543c02b0 +#define IOMUXC_PAD_ENET2_RD2__LPUART4_CTS_B 0x543c0100, 0x01, 0x543c0478, 0x01, 0x543c02b0 +#define IOMUXC_PAD_ENET2_RD2__SAI2_MCLK 0x543c0100, 0x02, 0x0, 0x00, 0x543c02b0 +#define IOMUXC_PAD_ENET2_RD2__MQS2_RIGHT 0x543c0100, 0x03, 0x0, 0x00, 0x543c02b0 +#define IOMUXC_PAD_ENET2_RD2__FLEXIO2_FLEXIO26 0x543c0100, 0x04, 0x0, 0x00, 0x543c02b0 +#define IOMUXC_PAD_ENET2_RD2__GPIO4_IO26 0x543c0100, 0x05, 0x0, 0x00, 0x543c02b0 +#define IOMUXC_PAD_ENET2_RD2__MEDIAMIX_CAM_DATA9 0x543c0100, 0x06, 0x543c04b4, 0x01, 0x543c02b0 +#define IOMUXC_PAD_ENET2_RD3__ENET2_RGMII_RD3 0x543c0104, 0x00, 0x0, 0x00, 0x543c02b4 +#define IOMUXC_PAD_ENET2_RD3__SPDIF_OUT 0x543c0104, 0x01, 0x0, 0x00, 0x543c02b4 +#define IOMUXC_PAD_ENET2_RD3__SPDIF_IN 0x543c0104, 0x02, 0x543c04e4, 0x02, 0x543c02b4 +#define IOMUXC_PAD_ENET2_RD3__MQS2_LEFT 0x543c0104, 0x03, 0x0, 0x00, 0x543c02b4 +#define IOMUXC_PAD_ENET2_RD3__FLEXIO2_FLEXIO27 0x543c0104, 0x04, 0x0, 0x00, 0x543c02b4 +#define IOMUXC_PAD_ENET2_RD3__GPIO4_IO27 0x543c0104, 0x05, 0x0, 0x00, 0x543c02b4 +#define IOMUXC_PAD_SD1_CLK__FLEXIO1_FLEXIO8 0x543c0108, 0x04, 0x543c038c, 0x01, 0x543c02b8 +#define IOMUXC_PAD_SD1_CLK__GPIO3_IO8 0x543c0108, 0x05, 0x0, 0x00, 0x543c02b8 +#define IOMUXC_PAD_SD1_CLK__USDHC1_CLK 0x543c0108, 0x00, 0x0, 0x00, 0x543c02b8 +#define IOMUXC_PAD_SD1_CLK__LPSPI2_SCK 0x543c0108, 0x03, 0x543c043c, 0x01, 0x543c02b8 +#define IOMUXC_PAD_SD1_CMD__USDHC1_CMD 0x543c010c, 0x00, 0x0, 0x00, 0x543c02bc +#define IOMUXC_PAD_SD1_CMD__FLEXIO1_FLEXIO9 0x543c010c, 0x04, 0x543c0390, 0x01, 0x543c02bc +#define IOMUXC_PAD_SD1_CMD__GPIO3_IO9 0x543c010c, 0x05, 0x0, 0x00, 0x543c02bc +#define IOMUXC_PAD_SD1_CMD__LPSPI2_SIN 0x543c010c, 0x03, 0x543c0440, 0x01, 0x543c02bc +#define IOMUXC_PAD_SD1_DATA0__USDHC1_DATA0 0x543c0110, 0x00, 0x0, 0x00, 0x543c02c0 +#define IOMUXC_PAD_SD1_DATA0__FLEXIO1_FLEXIO10 0x543c0110, 0x04, 0x543c0394, 0x01, 0x543c02c0 +#define IOMUXC_PAD_SD1_DATA0__GPIO3_IO10 0x543c0110, 0x05, 0x0, 0x00, 0x543c02c0 +#define IOMUXC_PAD_SD1_DATA0__LPSPI2_PCS0 0x543c0110, 0x03, 0x543c0434, 0x01, 0x543c02c0 +#define IOMUXC_PAD_SD1_DATA1__USDHC1_DATA1 0x543c0114, 0x00, 0x0, 0x00, 0x543c02c4 +#define IOMUXC_PAD_SD1_DATA1__FLEXIO1_FLEXIO11 0x543c0114, 0x04, 0x543c0398, 0x01, 0x543c02c4 +#define IOMUXC_PAD_SD1_DATA1__GPIO3_IO11 0x543c0114, 0x05, 0x0, 0x00, 0x543c02c4 +#define IOMUXC_PAD_SD1_DATA1__CCMSRCGPCMIX_INT_BOOT 0x543c0114, 0x06, 0x0, 0x00, 0x543c02c4 +#define IOMUXC_PAD_SD1_DATA1__LPSPI2_SOUT 0x543c0114, 0x03, 0x543c0444, 0x01, 0x543c02c4 +#define IOMUXC_PAD_SD1_DATA2__USDHC1_DATA2 0x543c0118, 0x00, 0x0, 0x00, 0x543c02c8 +#define IOMUXC_PAD_SD1_DATA2__FLEXIO1_FLEXIO12 0x543c0118, 0x04, 0x0, 0x00, 0x543c02c8 +#define IOMUXC_PAD_SD1_DATA2__GPIO3_IO12 0x543c0118, 0x05, 0x0, 0x00, 0x543c02c8 +#define IOMUXC_PAD_SD1_DATA2__CCMSRCGPCMIX_PMIC_READY 0x543c0118, 0x06, 0x0, 0x00, 0x543c02c8 +#define IOMUXC_PAD_SD1_DATA2__LPSPI2_PCS1 0x543c0118, 0x03, 0x543c0438, 0x00, 0x543c02c8 +#define IOMUXC_PAD_SD1_DATA3__USDHC1_DATA3 0x543c011c, 0x00, 0x0, 0x00, 0x543c02cc +#define IOMUXC_PAD_SD1_DATA3__FLEXSPI1_A_SS1_B 0x543c011c, 0x01, 0x0, 0x00, 0x543c02cc +#define IOMUXC_PAD_SD1_DATA3__FLEXIO1_FLEXIO13 0x543c011c, 0x04, 0x543c039c, 0x01, 0x543c02cc +#define IOMUXC_PAD_SD1_DATA3__GPIO3_IO13 0x543c011c, 0x05, 0x0, 0x00, 0x543c02cc +#define IOMUXC_PAD_SD1_DATA3__LPSPI1_PCS1 0x543c011c, 0x03, 0x543c0424, 0x00, 0x543c02cc +#define IOMUXC_PAD_SD1_DATA4__USDHC1_DATA4 0x543c0120, 0x00, 0x0, 0x00, 0x543c02d0 +#define IOMUXC_PAD_SD1_DATA4__FLEXSPI1_A_DATA4 0x543c0120, 0x01, 0x0, 0x00, 0x543c02d0 +#define IOMUXC_PAD_SD1_DATA4__FLEXIO1_FLEXIO14 0x543c0120, 0x04, 0x543c03a0, 0x01, 0x543c02d0 +#define IOMUXC_PAD_SD1_DATA4__GPIO3_IO14 0x543c0120, 0x05, 0x0, 0x00, 0x543c02d0 +#define IOMUXC_PAD_SD1_DATA4__LPSPI1_PCS0 0x543c0120, 0x03, 0x543c0420, 0x00, 0x543c02d0 +#define IOMUXC_PAD_SD1_DATA5__USDHC1_DATA5 0x543c0124, 0x00, 0x0, 0x00, 0x543c02d4 +#define IOMUXC_PAD_SD1_DATA5__FLEXSPI1_A_DATA5 0x543c0124, 0x01, 0x0, 0x00, 0x543c02d4 +#define IOMUXC_PAD_SD1_DATA5__USDHC1_RESET_B 0x543c0124, 0x02, 0x0, 0x00, 0x543c02d4 +#define IOMUXC_PAD_SD1_DATA5__FLEXIO1_FLEXIO15 0x543c0124, 0x04, 0x543c03a4, 0x01, 0x543c02d4 +#define IOMUXC_PAD_SD1_DATA5__GPIO3_IO15 0x543c0124, 0x05, 0x0, 0x00, 0x543c02d4 +#define IOMUXC_PAD_SD1_DATA5__LPSPI1_SIN 0x543c0124, 0x03, 0x543c042c, 0x00, 0x543c02d4 +#define IOMUXC_PAD_SD1_DATA6__USDHC1_DATA6 0x543c0128, 0x00, 0x0, 0x00, 0x543c02d8 +#define IOMUXC_PAD_SD1_DATA6__FLEXSPI1_A_DATA6 0x543c0128, 0x01, 0x0, 0x00, 0x543c02d8 +#define IOMUXC_PAD_SD1_DATA6__USDHC1_CD_B 0x543c0128, 0x02, 0x0, 0x00, 0x543c02d8 +#define IOMUXC_PAD_SD1_DATA6__FLEXIO1_FLEXIO16 0x543c0128, 0x04, 0x543c03a8, 0x01, 0x543c02d8 +#define IOMUXC_PAD_SD1_DATA6__GPIO3_IO16 0x543c0128, 0x05, 0x0, 0x00, 0x543c02d8 +#define IOMUXC_PAD_SD1_DATA6__LPSPI1_SCK 0x543c0128, 0x03, 0x543c0428, 0x00, 0x543c02d8 +#define IOMUXC_PAD_SD1_DATA7__USDHC1_DATA7 0x543c012c, 0x00, 0x0, 0x00, 0x543c02dc +#define IOMUXC_PAD_SD1_DATA7__FLEXSPI1_A_DATA7 0x543c012c, 0x01, 0x0, 0x00, 0x543c02dc +#define IOMUXC_PAD_SD1_DATA7__USDHC1_WP 0x543c012c, 0x02, 0x0, 0x00, 0x543c02dc +#define IOMUXC_PAD_SD1_DATA7__FLEXIO1_FLEXIO17 0x543c012c, 0x04, 0x543c03ac, 0x01, 0x543c02dc +#define IOMUXC_PAD_SD1_DATA7__GPIO3_IO17 0x543c012c, 0x05, 0x0, 0x00, 0x543c02dc +#define IOMUXC_PAD_SD1_DATA7__LPSPI1_SOUT 0x543c012c, 0x03, 0x543c0430, 0x00, 0x543c02dc +#define IOMUXC_PAD_SD1_STROBE__USDHC1_STROBE 0x543c0130, 0x00, 0x0, 0x00, 0x543c02e0 +#define IOMUXC_PAD_SD1_STROBE__FLEXSPI1_A_DQS 0x543c0130, 0x01, 0x0, 0x00, 0x543c02e0 +#define IOMUXC_PAD_SD1_STROBE__FLEXIO1_FLEXIO18 0x543c0130, 0x04, 0x543c03b0, 0x01, 0x543c02e0 +#define IOMUXC_PAD_SD1_STROBE__GPIO3_IO18 0x543c0130, 0x05, 0x0, 0x00, 0x543c02e0 +#define IOMUXC_PAD_SD2_VSELECT__USDHC2_VSELECT 0x543c0134, 0x00, 0x0, 0x00, 0x543c02e4 +#define IOMUXC_PAD_SD2_VSELECT__USDHC2_WP 0x543c0134, 0x01, 0x0, 0x00, 0x543c02e4 +#define IOMUXC_PAD_SD2_VSELECT__LPTMR2_ALT3 0x543c0134, 0x02, 0x543c0450, 0x01, 0x543c02e4 +#define IOMUXC_PAD_SD2_VSELECT__FLEXIO1_FLEXIO19 0x543c0134, 0x04, 0x0, 0x00, 0x543c02e4 +#define IOMUXC_PAD_SD2_VSELECT__GPIO3_IO19 0x543c0134, 0x05, 0x0, 0x00, 0x543c02e4 +#define IOMUXC_PAD_SD2_VSELECT__CCMSRCGPCMIX_EXT_CLK1 0x543c0134, 0x06, 0x543c0368, 0x00, 0x543c02e4 +#define IOMUXC_PAD_SD3_CLK__USDHC3_CLK 0x543c0138, 0x00, 0x543c04e8, 0x01, 0x543c02e8 +#define IOMUXC_PAD_SD3_CLK__FLEXSPI1_A_SCLK 0x543c0138, 0x01, 0x0, 0x00, 0x543c02e8 +#define IOMUXC_PAD_SD3_CLK__LPUART1_CTS_B 0x543c0138, 0x02, 0x543c0454, 0x00, 0x543c02e8 +#define IOMUXC_PAD_SD3_CLK__FLEXIO1_FLEXIO20 0x543c0138, 0x04, 0x543c03b4, 0x01, 0x543c02e8 +#define IOMUXC_PAD_SD3_CLK__GPIO3_IO20 0x543c0138, 0x05, 0x0, 0x00, 0x543c02e8 +#define IOMUXC_PAD_SD3_CMD__USDHC3_CMD 0x543c013c, 0x00, 0x543c04ec, 0x01, 0x543c02ec +#define IOMUXC_PAD_SD3_CMD__FLEXSPI1_A_SS0_B 0x543c013c, 0x01, 0x0, 0x00, 0x543c02ec +#define IOMUXC_PAD_SD3_CMD__LPUART1_RTS_B 0x543c013c, 0x02, 0x0, 0x00, 0x543c02ec +#define IOMUXC_PAD_SD3_CMD__FLEXIO1_FLEXIO21 0x543c013c, 0x04, 0x0, 0x00, 0x543c02ec +#define IOMUXC_PAD_SD3_CMD__GPIO3_IO21 0x543c013c, 0x05, 0x0, 0x00, 0x543c02ec +#define IOMUXC_PAD_SD3_DATA0__USDHC3_DATA0 0x543c0140, 0x00, 0x543c04f0, 0x01, 0x543c02f0 +#define IOMUXC_PAD_SD3_DATA0__FLEXSPI1_A_DATA0 0x543c0140, 0x01, 0x0, 0x00, 0x543c02f0 +#define IOMUXC_PAD_SD3_DATA0__LPUART2_CTS_B 0x543c0140, 0x02, 0x543c0460, 0x00, 0x543c02f0 +#define IOMUXC_PAD_SD3_DATA0__FLEXIO1_FLEXIO22 0x543c0140, 0x04, 0x543c03b8, 0x01, 0x543c02f0 +#define IOMUXC_PAD_SD3_DATA0__GPIO3_IO22 0x543c0140, 0x05, 0x0, 0x00, 0x543c02f0 +#define IOMUXC_PAD_SD3_DATA1__USDHC3_DATA1 0x543c0144, 0x00, 0x543c04f4, 0x01, 0x543c02f4 +#define IOMUXC_PAD_SD3_DATA1__FLEXSPI1_A_DATA1 0x543c0144, 0x01, 0x0, 0x00, 0x543c02f4 +#define IOMUXC_PAD_SD3_DATA1__LPUART2_RTS_B 0x543c0144, 0x02, 0x0, 0x00, 0x543c02f4 +#define IOMUXC_PAD_SD3_DATA1__FLEXIO1_FLEXIO23 0x543c0144, 0x04, 0x543c03bc, 0x01, 0x543c02f4 +#define IOMUXC_PAD_SD3_DATA1__GPIO3_IO23 0x543c0144, 0x05, 0x0, 0x00, 0x543c02f4 +#define IOMUXC_PAD_SD3_DATA2__USDHC3_DATA2 0x543c0148, 0x00, 0x543c04f8, 0x01, 0x543c02f8 +#define IOMUXC_PAD_SD3_DATA2__LPI2C4_SDA 0x543c0148, 0x02, 0x543c03fc, 0x01, 0x543c02f8 +#define IOMUXC_PAD_SD3_DATA2__FLEXSPI1_A_DATA2 0x543c0148, 0x01, 0x0, 0x00, 0x543c02f8 +#define IOMUXC_PAD_SD3_DATA2__FLEXIO1_FLEXIO24 0x543c0148, 0x04, 0x543c03c0, 0x01, 0x543c02f8 +#define IOMUXC_PAD_SD3_DATA2__GPIO3_IO24 0x543c0148, 0x05, 0x0, 0x00, 0x543c02f8 +#define IOMUXC_PAD_SD3_DATA3__USDHC3_DATA3 0x543c014c, 0x00, 0x543c04fc, 0x01, 0x543c02fc +#define IOMUXC_PAD_SD3_DATA3__FLEXSPI1_A_DATA3 0x543c014c, 0x01, 0x0, 0x00, 0x543c02fc +#define IOMUXC_PAD_SD3_DATA3__LPI2C4_SCL 0x543c014c, 0x02, 0x543c03f8, 0x01, 0x543c02fc +#define IOMUXC_PAD_SD3_DATA3__FLEXIO1_FLEXIO25 0x543c014c, 0x04, 0x543c03c4, 0x01, 0x543c02fc +#define IOMUXC_PAD_SD3_DATA3__GPIO3_IO25 0x543c014c, 0x05, 0x0, 0x00, 0x543c02fc +#define IOMUXC_PAD_SD2_CD_B__USDHC2_CD_B 0x543c0150, 0x00, 0x0, 0x00, 0x543c0300 +#define IOMUXC_PAD_SD2_CD_B__ENET_QOS_1588_EVENT0_IN 0x543c0150, 0x01, 0x0, 0x00, 0x543c0300 +#define IOMUXC_PAD_SD2_CD_B__I3C2_SCL 0x543c0150, 0x02, 0x543c03cc, 0x01, 0x543c0300 +#define IOMUXC_PAD_SD2_CD_B__FLEXIO1_FLEXIO0 0x543c0150, 0x04, 0x543c036c, 0x01, 0x543c0300 +#define IOMUXC_PAD_SD2_CD_B__GPIO3_IO0 0x543c0150, 0x05, 0x0, 0x00, 0x543c0300 +#define IOMUXC_PAD_SD2_CD_B__LPI2C1_SCL 0x543c0150, 0x03, 0x0, 0x00, 0x543c0300 +#define IOMUXC_PAD_SD2_CLK__USDHC2_CLK 0x543c0154, 0x00, 0x0, 0x00, 0x543c0304 +#define IOMUXC_PAD_SD2_CLK__ENET_QOS_1588_EVENT0_OUT 0x543c0154, 0x01, 0x0, 0x00, 0x543c0304 +#define IOMUXC_PAD_SD2_CLK__I2C1_SDA 0x543c0154, 0x03, 0x0, 0x00, 0x543c0304 +#define IOMUXC_PAD_SD2_CLK__I3C2_SDA 0x543c0154, 0x02, 0x543c03d0, 0x01, 0x543c0304 +#define IOMUXC_PAD_SD2_CLK__FLEXIO1_FLEXIO1 0x543c0154, 0x04, 0x543c0370, 0x01, 0x543c0304 +#define IOMUXC_PAD_SD2_CLK__GPIO3_IO1 0x543c0154, 0x05, 0x0, 0x00, 0x543c0304 +#define IOMUXC_PAD_SD2_CLK__CCMSRCGPCMIX_OBSERVE0 0x543c0154, 0x06, 0x0, 0x00, 0x543c0304 +#define IOMUXC_PAD_SD2_CLK__LPI2C1_SDA 0x543c0154, 0x03, 0x543c03e4, 0x01, 0x543c0304 +#define IOMUXC_PAD_SD2_CMD__USDHC2_CMD 0x543c0158, 0x00, 0x0, 0x00, 0x543c0308 +#define IOMUXC_PAD_SD2_CMD__ENET2_1588_EVENT0_IN 0x543c0158, 0x01, 0x0, 0x00, 0x543c0308 +#define IOMUXC_PAD_SD2_CMD__I3C2_PUR 0x543c0158, 0x02, 0x0, 0x00, 0x543c0308 +#define IOMUXC_PAD_SD2_CMD__I3C2_PUR_B 0x543c0158, 0x03, 0x0, 0x00, 0x543c0308 +#define IOMUXC_PAD_SD2_CMD__FLEXIO1_FLEXIO2 0x543c0158, 0x04, 0x543c0374, 0x01, 0x543c0308 +#define IOMUXC_PAD_SD2_CMD__GPIO3_IO2 0x543c0158, 0x05, 0x0, 0x00, 0x543c0308 +#define IOMUXC_PAD_SD2_CMD__CCMSRCGPCMIX_OBSERVE1 0x543c0158, 0x06, 0x0, 0x00, 0x543c0308 +#define IOMUXC_PAD_SD2_DATA0__USDHC2_DATA0 0x543c015c, 0x00, 0x0, 0x00, 0x543c030c +#define IOMUXC_PAD_SD2_DATA0__ENET2_1588_EVENT0_OUT 0x543c015c, 0x01, 0x0, 0x00, 0x543c030c +#define IOMUXC_PAD_SD2_DATA0__CAN2_TX 0x543c015c, 0x02, 0x0, 0x00, 0x543c030c +#define IOMUXC_PAD_SD2_DATA0__FLEXIO1_FLEXIO3 0x543c015c, 0x04, 0x543c0378, 0x01, 0x543c030c +#define IOMUXC_PAD_SD2_DATA0__GPIO3_IO3 0x543c015c, 0x05, 0x0, 0x00, 0x543c030c +#define IOMUXC_PAD_SD2_DATA0__LPUART1_TX 0x543c015c, 0x03, 0x543c045c, 0x00, 0x543c030c +#define IOMUXC_PAD_SD2_DATA0__CCMSRCGPCMIX_OBSERVE2 0x543c015c, 0x06, 0x0, 0x00, 0x543c030c +#define IOMUXC_PAD_SD2_DATA1__USDHC2_DATA1 0x543c0160, 0x00, 0x0, 0x00, 0x543c0310 +#define IOMUXC_PAD_SD2_DATA1__ENET2_1588_EVENT1_IN 0x543c0160, 0x01, 0x0, 0x00, 0x543c0310 +#define IOMUXC_PAD_SD2_DATA1__CAN2_RX 0x543c0160, 0x02, 0x543c0364, 0x03, 0x543c0310 +#define IOMUXC_PAD_SD2_DATA1__FLEXIO1_FLEXIO4 0x543c0160, 0x04, 0x543c037c, 0x01, 0x543c0310 +#define IOMUXC_PAD_SD2_DATA1__GPIO3_IO4 0x543c0160, 0x05, 0x0, 0x00, 0x543c0310 +#define IOMUXC_PAD_SD2_DATA1__LPUART1_RX 0x543c0160, 0x03, 0x543c0458, 0x00, 0x543c0310 +#define IOMUXC_PAD_SD2_DATA1__CCMSRCGPCMIX_WAIT 0x543c0160, 0x06, 0x0, 0x00, 0x543c0310 +#define IOMUXC_PAD_SD2_DATA2__USDHC2_DATA2 0x543c0164, 0x00, 0x0, 0x00, 0x543c0314 +#define IOMUXC_PAD_SD2_DATA2__ENET2_1588_EVENT1_OUT 0x543c0164, 0x01, 0x0, 0x00, 0x543c0314 +#define IOMUXC_PAD_SD2_DATA2__MQS2_RIGHT 0x543c0164, 0x02, 0x0, 0x00, 0x543c0314 +#define IOMUXC_PAD_SD2_DATA2__FLEXIO1_FLEXIO5 0x543c0164, 0x04, 0x543c0380, 0x01, 0x543c0314 +#define IOMUXC_PAD_SD2_DATA2__GPIO3_IO5 0x543c0164, 0x05, 0x0, 0x00, 0x543c0314 +#define IOMUXC_PAD_SD2_DATA2__LPUART2_TX 0x543c0164, 0x03, 0x543c0468, 0x00, 0x543c0314 +#define IOMUXC_PAD_SD2_DATA2__CCMSRCGPCMIX_STOP 0x543c0164, 0x06, 0x0, 0x00, 0x543c0314 +#define IOMUXC_PAD_SD2_DATA3__USDHC2_DATA3 0x543c0168, 0x00, 0x0, 0x00, 0x543c0318 +#define IOMUXC_PAD_SD2_DATA3__LPTMR2_ALT1 0x543c0168, 0x01, 0x543c0448, 0x01, 0x543c0318 +#define IOMUXC_PAD_SD2_DATA3__MQS2_LEFT 0x543c0168, 0x02, 0x0, 0x00, 0x543c0318 +#define IOMUXC_PAD_SD2_DATA3__FLEXIO1_FLEXIO6 0x543c0168, 0x04, 0x543c0384, 0x01, 0x543c0318 +#define IOMUXC_PAD_SD2_DATA3__GPIO3_IO6 0x543c0168, 0x05, 0x0, 0x00, 0x543c0318 +#define IOMUXC_PAD_SD2_DATA3__LPUART2_RX 0x543c0168, 0x03, 0x543c0464, 0x00, 0x543c0318 +#define IOMUXC_PAD_SD2_DATA3__CCMSRCGPCMIX_EARLY_RESET 0x543c0168, 0x06, 0x0, 0x00, 0x543c0318 +#define IOMUXC_PAD_SD2_RESET_B__USDHC2_RESET_B 0x543c016c, 0x00, 0x0, 0x00, 0x543c031c +#define IOMUXC_PAD_SD2_RESET_B__LPTMR2_ALT2 0x543c016c, 0x01, 0x543c044c, 0x01, 0x543c031c +#define IOMUXC_PAD_SD2_RESET_B__FLEXIO1_FLEXIO7 0x543c016c, 0x04, 0x543c0388, 0x01, 0x543c031c +#define IOMUXC_PAD_SD2_RESET_B__GPIO3_IO7 0x543c016c, 0x05, 0x0, 0x00, 0x543c031c +#define IOMUXC_PAD_SD2_RESET_B__CCMSRCGPCMIX_SYSTEM_RESET 0x543c016c, 0x06, 0x0, 0x00, 0x543c031c +#define IOMUXC_PAD_I2C1_SCL__LPI2C1_SCL 0x543c0170, 0x00, 0x543c03e0, 0x02, 0x543c0320 +#define IOMUXC_PAD_I2C1_SCL__I3C1_SCL 0x543c0170, 0x01, 0x0, 0x00, 0x543c0320 +#define IOMUXC_PAD_I2C1_SCL__LPUART1_DCB_B 0x543c0170, 0x02, 0x0, 0x00, 0x543c0320 +#define IOMUXC_PAD_I2C1_SCL__TPM2_CH0 0x543c0170, 0x03, 0x0, 0x00, 0x543c0320 +#define IOMUXC_PAD_I2C1_SCL__GPIO1_IO0 0x543c0170, 0x05, 0x0, 0x00, 0x543c0320 +#define IOMUXC_PAD_I2C1_SDA__LPI2C1_SDA 0x543c0174, 0x00, 0x543c03e4, 0x02, 0x543c0324 +#define IOMUXC_PAD_I2C1_SDA__I3C1_SDA 0x543c0174, 0x01, 0x0, 0x00, 0x543c0324 +#define IOMUXC_PAD_I2C1_SDA__LPUART1_RIN_B 0x543c0174, 0x02, 0x0, 0x00, 0x543c0324 +#define IOMUXC_PAD_I2C1_SDA__TPM2_CH1 0x543c0174, 0x03, 0x0, 0x00, 0x543c0324 +#define IOMUXC_PAD_I2C1_SDA__GPIO1_IO1 0x543c0174, 0x05, 0x0, 0x00, 0x543c0324 +#define IOMUXC_PAD_I2C2_SCL__LPI2C2_SCL 0x543c0178, 0x00, 0x543c03e8, 0x01, 0x543c0328 +#define IOMUXC_PAD_I2C2_SCL__I3C1_PUR 0x543c0178, 0x01, 0x0, 0x00, 0x543c0328 +#define IOMUXC_PAD_I2C2_SCL__LPUART2_DCB_B 0x543c0178, 0x02, 0x0, 0x00, 0x543c0328 +#define IOMUXC_PAD_I2C2_SCL__TPM2_CH2 0x543c0178, 0x03, 0x0, 0x00, 0x543c0328 +#define IOMUXC_PAD_I2C2_SCL__SAI1_RX_SYNC 0x543c0178, 0x04, 0x0, 0x00, 0x543c0328 +#define IOMUXC_PAD_I2C2_SCL__GPIO1_IO3 0x543c0178, 0x05, 0x0, 0x00, 0x543c0328 +#define IOMUXC_PAD_I2C2_SCL__I3C1_PUR_B 0x543c0178, 0x06, 0x0, 0x00, 0x543c0328 +#define IOMUXC_PAD_I2C2_SDA__LPI2C2_SDA 0x543c017c, 0x00, 0x543c03ec, 0x01, 0x543c032c +#define IOMUXC_PAD_I2C2_SDA__LPUART2_RIN_B 0x543c017c, 0x02, 0x0, 0x00, 0x543c032c +#define IOMUXC_PAD_I2C2_SDA__TPM2_CH3 0x543c017c, 0x03, 0x0, 0x00, 0x543c032c +#define IOMUXC_PAD_I2C2_SDA__SAI1_RX_BCLK 0x543c017c, 0x04, 0x0, 0x00, 0x543c032c +#define IOMUXC_PAD_I2C2_SDA__GPIO1_IO3 0x543c017c, 0x05, 0x0, 0x00, 0x543c032c +#define IOMUXC_PAD_UART1_RXD__LPUART1_RX 0x543c0180, 0x00, 0x543c0458, 0x01, 0x543c0330 +#define IOMUXC_PAD_UART1_RXD__ELE_UART_RX 0x543c0180, 0x01, 0x0, 0x00, 0x543c0330 +#define IOMUXC_PAD_UART1_RXD__LPSPI2_SIN 0x543c0180, 0x02, 0x543c0440, 0x02, 0x543c0330 +#define IOMUXC_PAD_UART1_RXD__TPM1_CH0 0x543c0180, 0x03, 0x0, 0x00, 0x543c0330 +#define IOMUXC_PAD_UART1_RXD__GPIO1_IO4 0x543c0180, 0x05, 0x0, 0x00, 0x543c0330 +#define IOMUXC_PAD_UART1_TXD__LPUART1_TX 0x543c0184, 0x00, 0x543c045c, 0x01, 0x543c0334 +#define IOMUXC_PAD_UART1_TXD__ELE_UART_TX 0x543c0184, 0x01, 0x0, 0x00, 0x543c0334 +#define IOMUXC_PAD_UART1_TXD__LPSPI2_PCS0 0x543c0184, 0x02, 0x543c0434, 0x02, 0x543c0334 +#define IOMUXC_PAD_UART1_TXD__TPM1_CH1 0x543c0184, 0x03, 0x0, 0x00, 0x543c0334 +#define IOMUXC_PAD_UART1_TXD__GPIO1_IO5 0x543c0184, 0x05, 0x0, 0x00, 0x543c0334 +#define IOMUXC_PAD_UART2_RXD__LPUART2_RX 0x543c0188, 0x00, 0x543c0464, 0x01, 0x543c0338 +#define IOMUXC_PAD_UART2_RXD__LPUART1_CTS_B 0x543c0188, 0x01, 0x543c0454, 0x01, 0x543c0338 +#define IOMUXC_PAD_UART2_RXD__LPSPI2_SOUT 0x543c0188, 0x02, 0x543c0444, 0x02, 0x543c0338 +#define IOMUXC_PAD_UART2_RXD__TPM1_CH2 0x543c0188, 0x03, 0x0, 0x00, 0x543c0338 +#define IOMUXC_PAD_UART2_RXD__SAI1_MCLK 0x543c0188, 0x04, 0x543c04d4, 0x00, 0x543c0338 +#define IOMUXC_PAD_UART2_RXD__GPIO1_IO6 0x543c0188, 0x05, 0x0, 0x00, 0x543c0338 +#define IOMUXC_PAD_UART2_TXD__LPUART2_TX 0x543c018c, 0x00, 0x543c0468, 0x01, 0x543c033c +#define IOMUXC_PAD_UART2_TXD__LPUART1_RTS_B 0x543c018c, 0x01, 0x0, 0x00, 0x543c033c +#define IOMUXC_PAD_UART2_TXD__LPSPI2_SCK 0x543c018c, 0x02, 0x543c043c, 0x02, 0x543c033c +#define IOMUXC_PAD_UART2_TXD__TPM1_CH3 0x543c018c, 0x03, 0x0, 0x00, 0x543c033c +#define IOMUXC_PAD_UART2_TXD__GPIO1_IO7 0x543c018c, 0x05, 0x0, 0x00, 0x543c033c +#define IOMUXC_PAD_UART2_TXD__SAI3_TX_SYNC 0x543c018c, 0x07, 0x543c04e0, 0x02, 0x543c033c +#define IOMUXC_PAD_PDM_CLK__PDM_CLK 0x543c0190, 0x00, 0x0, 0x00, 0x543c0340 +#define IOMUXC_PAD_PDM_CLK__MQS1_LEFT 0x543c0190, 0x01, 0x0, 0x00, 0x543c0340 +#define IOMUXC_PAD_PDM_CLK__LPTMR1_ALT1 0x543c0190, 0x04, 0x0, 0x00, 0x543c0340 +#define IOMUXC_PAD_PDM_CLK__GPIO1_IO8 0x543c0190, 0x05, 0x0, 0x00, 0x543c0340 +#define IOMUXC_PAD_PDM_CLK__CAN1_TX 0x543c0190, 0x06, 0x0, 0x00, 0x543c0340 +#define IOMUXC_PAD_PDM_BIT_STREAM0__PDM_BIT_STREAM0 0x543c0194, 0x00, 0x543c04c4, 0x02, 0x543c0344 +#define IOMUXC_PAD_PDM_BIT_STREAM0__MQS1_RIGHT 0x543c0194, 0x01, 0x0, 0x00, 0x543c0344 +#define IOMUXC_PAD_PDM_BIT_STREAM0__LPSPI1_PCS1 0x543c0194, 0x02, 0x543c0424, 0x01, 0x543c0344 +#define IOMUXC_PAD_PDM_BIT_STREAM0__TPM1_EXTCLK 0x543c0194, 0x03, 0x0, 0x00, 0x543c0344 +#define IOMUXC_PAD_PDM_BIT_STREAM0__LPTMR1_ALT2 0x543c0194, 0x04, 0x0, 0x00, 0x543c0344 +#define IOMUXC_PAD_PDM_BIT_STREAM0__GPIO1_IO9 0x543c0194, 0x05, 0x0, 0x00, 0x543c0344 +#define IOMUXC_PAD_PDM_BIT_STREAM0__CAN1_RX 0x543c0194, 0x06, 0x543c0360, 0x01, 0x543c0344 +#define IOMUXC_PAD_PDM_BIT_STREAM1__PDM_BIT_STREAM1 0x543c0198, 0x00, 0x543c04c8, 0x02, 0x543c0348 +#define IOMUXC_PAD_PDM_BIT_STREAM1__LPSPI2_PCS1 0x543c0198, 0x02, 0x543c0438, 0x01, 0x543c0348 +#define IOMUXC_PAD_PDM_BIT_STREAM1__TPM2_EXTCLK 0x543c0198, 0x03, 0x0, 0x00, 0x543c0348 +#define IOMUXC_PAD_PDM_BIT_STREAM1__LPTMR1_ALT3 0x543c0198, 0x04, 0x0, 0x00, 0x543c0348 +#define IOMUXC_PAD_PDM_BIT_STREAM1__GPIO1_IO10 0x543c0198, 0x05, 0x0, 0x00, 0x543c0348 +#define IOMUXC_PAD_PDM_BIT_STREAM1__CCMSRCGPCMIX_EXT_CLK1 0x543c0198, 0x06, 0x543c0368, 0x01, 0x543c0348 +#define IOMUXC_PAD_SAI1_TXFS__SAI1_TX_SYNC 0x543c019c, 0x00, 0x0, 0x00, 0x543c034c +#define IOMUXC_PAD_SAI1_TXFS__SAI1_TX_DATA1 0x543c019c, 0x01, 0x0, 0x00, 0x543c034c +#define IOMUXC_PAD_SAI1_TXFS__LPSPI1_PCS0 0x543c019c, 0x02, 0x543c0420, 0x01, 0x543c034c +#define IOMUXC_PAD_SAI1_TXFS__LPUART2_DTR_B 0x543c019c, 0x03, 0x0, 0x00, 0x543c034c +#define IOMUXC_PAD_SAI1_TXFS__MQS1_LEFT 0x543c019c, 0x04, 0x0, 0x00, 0x543c034c +#define IOMUXC_PAD_SAI1_TXFS__GPIO1_IO11 0x543c019c, 0x05, 0x0, 0x00, 0x543c034c +#define IOMUXC_PAD_SAI1_TXC__SAI1_TX_BCLK 0x543c01a0, 0x00, 0x0, 0x00, 0x543c0350 +#define IOMUXC_PAD_SAI1_TXC__LPUART2_CTS_B 0x543c01a0, 0x01, 0x543c0460, 0x01, 0x543c0350 +#define IOMUXC_PAD_SAI1_TXC__LPSPI1_SIN 0x543c01a0, 0x02, 0x543c042c, 0x01, 0x543c0350 +#define IOMUXC_PAD_SAI1_TXC__LPUART1_DSR_B 0x543c01a0, 0x03, 0x0, 0x00, 0x543c0350 +#define IOMUXC_PAD_SAI1_TXC__CAN1_RX 0x543c01a0, 0x04, 0x543c0360, 0x02, 0x543c0350 +#define IOMUXC_PAD_SAI1_TXC__GPIO1_IO12 0x543c01a0, 0x05, 0x0, 0x00, 0x543c0350 +#define IOMUXC_PAD_SAI1_TXD0__SAI1_TX_DATA0 0x543c01a4, 0x00, 0x0, 0x00, 0x543c0354 +#define IOMUXC_PAD_SAI1_TXD0__LPUART2_RTS_B 0x543c01a4, 0x01, 0x0, 0x00, 0x543c0354 +#define IOMUXC_PAD_SAI1_TXD0__LPSPI1_SCK 0x543c01a4, 0x02, 0x543c0428, 0x01, 0x543c0354 +#define IOMUXC_PAD_SAI1_TXD0__LPUART1_DTR_B 0x543c01a4, 0x03, 0x0, 0x00, 0x543c0354 +#define IOMUXC_PAD_SAI1_TXD0__CAN1_TX 0x543c01a4, 0x04, 0x0, 0x00, 0x543c0354 +#define IOMUXC_PAD_SAI1_TXD0__GPIO1_IO13 0x543c01a4, 0x05, 0x0, 0x00, 0x543c0354 +#define IOMUXC_PAD_SAI1_TXD0__SAI1_MCLK 0x543c01a4, 0x06, 0x543c04d4, 0x01, 0x543c0354 +#define IOMUXC_PAD_SAI1_RXD0__SAI1_RX_DATA0 0x543c01a8, 0x00, 0x0, 0x00, 0x543c0358 +#define IOMUXC_PAD_SAI1_RXD0__SAI1_MCLK 0x543c01a8, 0x01, 0x543c04d4, 0x02, 0x543c0358 +#define IOMUXC_PAD_SAI1_RXD0__LPSPI1_SOUT 0x543c01a8, 0x02, 0x543c0430, 0x01, 0x543c0358 +#define IOMUXC_PAD_SAI1_RXD0__LPUART2_DSR_B 0x543c01a8, 0x03, 0x0, 0x00, 0x543c0358 +#define IOMUXC_PAD_SAI1_RXD0__MQS1_RIGHT 0x543c01a8, 0x04, 0x0, 0x00, 0x543c0358 +#define IOMUXC_PAD_SAI1_RXD0__GPIO1_IO14 0x543c01a8, 0x05, 0x0, 0x00, 0x543c0358 +#define IOMUXC_PAD_WDOG_ANY__WDOG1_WDOG_ANY 0x543c01ac, 0x00, 0x0, 0x00, 0x543c035c +#define IOMUXC_PAD_WDOG_ANY__GPIO1_IO15 0x543c01ac, 0x05, 0x0, 0x00, 0x543c035c +/*@}*/ + +#define IOMUXC_PAD_MUX_MODE_MASK (0x7U) +#define IOMUXC_PAD_MUX_MODE_SHIFT (0U) +#define IOMUXC_PAD_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_MUX_MODE_SHIFT)) & IOMUXC_PAD_MUX_MODE_MASK) +#define IOMUXC_PAD_SION_MASK (0x10U) +#define IOMUXC_PAD_SION_SHIFT (4U) +#define IOMUXC_PAD_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_SION_SHIFT)) & IOMUXC_PAD_SION_MASK) + +#define IOMUXC_PAD_DSE_MASK (0x7EU) +#define IOMUXC_PAD_DSE_SHIFT (1U) +#define IOMUXC_PAD_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_DSE_SHIFT)) & IOMUXC_PAD_DSE_MASK) +#define IOMUXC_PAD_FSEL1_MASK (0x180U) +#define IOMUXC_PAD_FSEL1_SHIFT (7U) +#define IOMUXC_PAD_FSEL1(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_FSEL1_SHIFT)) & IOMUXC_PAD_FSEL1_MASK) +#define IOMUXC_PAD_PU_MASK (0x200U) +#define IOMUXC_PAD_PU_SHIFT (9U) +#define IOMUXC_PAD_PU(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_PU_SHIFT)) & IOMUXC_PAD_PU_MASK) +#define IOMUXC_PAD_PD_MASK (0x400U) +#define IOMUXC_PAD_PD_SHIFT (10U) +#define IOMUXC_PAD_PD(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_PD_SHIFT)) & IOMUXC_PAD_PD_MASK) +#define IOMUXC_PAD_OD_MASK (0x800U) +#define IOMUXC_PAD_OD_SHIFT (11U) +#define IOMUXC_PAD_OD(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_OD_SHIFT)) & IOMUXC_PAD_OD_MASK) +#define IOMUXC_PAD_HYS_MASK (0x1000U) +#define IOMUXC_PAD_HYS_SHIFT (11U) +#define IOMUXC_PAD_HYS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_HYS_SHIFT)) & IOMUXC_PAD_HYS_MASK) +#define IOMUXC_PAD_APC_MASK (0xFF000000U) +#define IOMUXC_PAD_APC_SHIFT (24U) +#define IOMUXC_PAD_APC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_PAD_APC_SHIFT)) & IOMUXC_PAD_APC_MASK) + +#define SECURE_ADDR_MASK (0x10000000U) +#if (defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE & 0x2)) +#define IOMUXC_REG_ADDR(x) (x) +#else +#define IOMUXC_REG_ADDR(x) ((x) & (~SECURE_ADDR_MASK)) +#endif + +/******************************************************************************* + * APIs + ******************************************************************************/ +#if defined(__cplusplus) +extern "C" { +#endif /*__cplusplus */ + +/*! @name Configuration */ +/*@{*/ + +/*! + * @brief Sets the IOMUXC pin mux mode. + * @note The first five parameters can be filled with the pin function ID macros. + * + * @param muxRegister The pin mux register + * @param muxMode The pin mux mode + * @param inputRegister The select input register + * @param inputDaisy The input daisy + * @param configRegister The config register + * @param inputOn The software input on + */ +static inline void IOMUXC_SetPinMux(uint32_t muxRegister, + uint32_t muxMode, + uint32_t inputRegister, + uint32_t inputDaisy, + uint32_t configRegister, + uint32_t inputOnfield) +{ + if (muxRegister != 0U) + { + *((volatile uint32_t *)(uintptr_t)IOMUXC_REG_ADDR(muxRegister)) = + IOMUXC_PAD_MUX_MODE(muxMode) | IOMUXC_PAD_SION(inputOnfield); + } + + if (inputRegister != 0U) + { + *((volatile uint32_t *)(uintptr_t)IOMUXC_REG_ADDR(inputRegister)) = inputDaisy; + } +} +/*! + * @brief Sets the IOMUXC pin configuration. + * @note The previous five parameters can be filled with the pin function ID macros. + * + * @param muxRegister The pin mux register + * @param muxMode The pin mux mode + * @param inputRegister The select input register + * @param inputDaisy The input daisy + * @param configRegister The config register + * @param configValue The pin config value + */ +static inline void IOMUXC_SetPinConfig(uint32_t muxRegister, + uint32_t muxMode, + uint32_t inputRegister, + uint32_t inputDaisy, + uint32_t configRegister, + uint32_t configValue) +{ + if (configRegister != 0U) + { + *((volatile uint32_t *)(uintptr_t)IOMUXC_REG_ADDR(configRegister)) = configValue; + } +} +/*@}*/ + +#if defined(__cplusplus) +} +#endif /*__cplusplus */ + +/*! @}*/ + +#endif /* _FSL_IOMUXC_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/fsl_device_registers.h b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/fsl_device_registers.h new file mode 100644 index 00000000000..92a7a677bbb --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/fsl_device_registers.h @@ -0,0 +1,33 @@ +/* + * Copyright 2014-2016 Freescale Semiconductor, Inc. + * Copyright 2016-2025 NXP + * SPDX-License-Identifier: BSD-3-Clause + * + */ + +#ifndef __FSL_DEVICE_REGISTERS_H__ +#define __FSL_DEVICE_REGISTERS_H__ + +/* + * Include the cpu specific register header files. + * + * The CPU macro should be declared in the project or makefile. + */ +#if (defined(CPU_MIMX9131CVVXJ) || defined(CPU_MIMX9131DVVXJ)) + +#define MIMX9131_SERIES + +/* CMSIS-style register definitions */ +#include "MIMX9131.h" +/* CPU specific feature definitions */ +#include "MIMX9131_features.h" + +#else + #error "No valid CPU defined!" +#endif + +#endif /* __FSL_DEVICE_REGISTERS_H__ */ + +/******************************************************************************* + * EOF + ******************************************************************************/ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/system_MIMX9131.c b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/system_MIMX9131.c new file mode 100644 index 00000000000..618f49a25ec --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/system_MIMX9131.c @@ -0,0 +1,82 @@ +/* +** ################################################################### +** Processors: MIMX9131CVVXJ +** MIMX9131DVVXJ +** +** Compilers: GNU C Compiler +** IAR ANSI C/C++ Compiler for ARM +** Keil ARM C/C++ Compiler +** +** Reference manual: IMX91RM Rev.1 +** Version: rev. 1.0, 2024-11-15 +** Build: b250112 +** +** Abstract: +** Provides a system configuration function and a global variable that +** contains the system frequency. It configures the device and initializes +** the oscillator (PLL) that is part of the microcontroller device. +** +** Copyright 2016 Freescale Semiconductor, Inc. +** Copyright 2016-2025 NXP +** SPDX-License-Identifier: BSD-3-Clause +** +** http: www.nxp.com +** mail: support@nxp.com +** +** Revisions: +** - rev. 1.0 (2024-11-15) +** Initial version. +** +** ################################################################### +*/ + +/*! + * @file MIMX9131 + * @version 1.0 + * @date 2024-11-15 + * @brief Device specific configuration file for MIMX9131 (implementation file) + * + * Provides a system configuration function and a global variable that contains + * the system frequency. It configures the device and initializes the oscillator + * (PLL) that is part of the microcontroller device. + */ + +#include +#include "fsl_device_registers.h" + + + +/* ---------------------------------------------------------------------------- + -- Core clock + ---------------------------------------------------------------------------- */ + +uint32_t SystemCoreClock = DEFAULT_SYSTEM_CLOCK; + +/* ---------------------------------------------------------------------------- + -- SystemInit() + ---------------------------------------------------------------------------- */ + +void SystemInit (void) { +#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) + __ASM volatile("mov x0, #(3 << 20) \n\t" + "msr cpacr_el1, x0"); +#endif /* ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) */ + SystemInitHook(); + + ARM_TIMER_GetFreq(&SystemCoreClock); +} + +/* ---------------------------------------------------------------------------- + -- SystemCoreClockUpdate() + ---------------------------------------------------------------------------- */ + +void SystemCoreClockUpdate (void) { +} + +/* ---------------------------------------------------------------------------- + -- SystemInitHook() + ---------------------------------------------------------------------------- */ + +__attribute__ ((weak)) void SystemInitHook (void) { + /* Void implementation of the weak function. */ +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/system_MIMX9131.h b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/system_MIMX9131.h new file mode 100644 index 00000000000..c825d695612 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/MIMX9131/system_MIMX9131.h @@ -0,0 +1,101 @@ +/* +** ################################################################### +** Processors: MIMX9131CVVXJ +** MIMX9131DVVXJ +** +** Compilers: GNU C Compiler +** IAR ANSI C/C++ Compiler for ARM +** Keil ARM C/C++ Compiler +** +** Reference manual: IMX91RM Rev.1 +** Version: rev. 1.0, 2024-11-15 +** Build: b250112 +** +** Abstract: +** Provides a system configuration function and a global variable that +** contains the system frequency. It configures the device and initializes +** the oscillator (PLL) that is part of the microcontroller device. +** +** Copyright 2016 Freescale Semiconductor, Inc. +** Copyright 2016-2025 NXP +** SPDX-License-Identifier: BSD-3-Clause +** +** http: www.nxp.com +** mail: support@nxp.com +** +** Revisions: +** - rev. 1.0 (2024-11-15) +** Initial version. +** +** ################################################################### +*/ + +/*! + * @file MIMX9131 + * @version 1.0 + * @date 2024-11-15 + * @brief Device specific configuration file for MIMX9131 (header file) + * + * Provides a system configuration function and a global variable that contains + * the system frequency. It configures the device and initializes the oscillator + * (PLL) that is part of the microcontroller device. + */ + +#ifndef _SYSTEM_MIMX9131_H_ +#define _SYSTEM_MIMX9131_H_ /**< Symbol preventing repeated inclusion */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* Define clock source values */ +#define DEFAULT_SYSTEM_CLOCK 24000000U /* Default System clock value */ + +/** + * @brief System clock frequency (core clock) + * + * The system clock frequency supplied to the SysTick timer and the processor + * core clock. This variable can be used by the user application to setup the + * SysTick timer or configure other parameters. It may also be used by debugger to + * query the frequency of the debug timer or configure the trace clock speed + * SystemCoreClock is initialized with a correct predefined value. + */ +extern uint32_t SystemCoreClock; + +/** + * @brief Setup the microcontroller system. + * + * Typically this function configures the oscillator (PLL) that is part of the + * microcontroller device. For systems with variable clock speed it also updates + * the variable SystemCoreClock. SystemInit is called from startup_device file. + */ +void SystemInit (void); + +/** + * @brief Updates the SystemCoreClock variable. + * + * It must be called whenever the core clock is changed during program + * execution. SystemCoreClockUpdate() evaluates the clock register settings and calculates + * the current core clock. + */ +void SystemCoreClockUpdate (void); + +/** + * @brief SystemInit function hook. + * + * This weak function allows to call specific initialization code during the + * SystemInit() execution.This can be used when an application specific code needs + * to be called as close to the reset entry as possible (for example the Multicore + * Manager MCMGR_EarlyInit() function call). + * NOTE: No global r/w variables can be used in this hook function because the + * initialization of these variables happens after this function. + */ +void SystemInitHook (void); + +#ifdef __cplusplus +} +#endif + +#endif /* _SYSTEM_MIMX9131_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/devices/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/devices/SConscript new file mode 100644 index 00000000000..d6dd3c32356 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/devices/SConscript @@ -0,0 +1,13 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() +objs = [] + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/drivers/SConscript new file mode 100644 index 00000000000..d6dd3c32356 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/SConscript @@ -0,0 +1,13 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() +objs = [] + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/SConscript new file mode 100644 index 00000000000..d6dd3c32356 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/SConscript @@ -0,0 +1,13 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() +objs = [] + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/SConscript new file mode 100644 index 00000000000..3f8f39acae7 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/SConscript @@ -0,0 +1,17 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() + +src = Glob('*.c') + +CPPPATH = [cwd] +objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/fsl_cache.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/fsl_cache.c new file mode 100644 index 00000000000..c0d2d9d670b --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/fsl_cache.c @@ -0,0 +1,58 @@ +/* + * Copyright 2022 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_cache.h" +#include "cache_armv8a.h" + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.cache_armv8a" +#endif + +/*! + * brief Invalidates all instruction caches by range. + * + * param address The virtual address. + * param size_byte size of the memory to be invalidated. + */ +void ICACHE_InvalidateByRange(uintptr_t address, size_t size_byte) +{ + icache_invalidate_range(address, size_byte); +} + +/*! + * brief Invalidates all data caches by range. + * + * param address The virtual address. + * param size_byte size of the memory to be invalidated. + */ +void DCACHE_InvalidateByRange(uintptr_t address, size_t size_byte) +{ + dcache_invalidate_range(address, size_byte); +} + +/*! + * brief Cleans all data caches by range. + * + * param address The virtual address. + * param size_byte size of the memory to be cleaned. + */ +void DCACHE_CleanByRange(uintptr_t address, size_t size_byte) +{ + dcache_clean_range(address, size_byte); +} + +/*! + * brief Cleans and Invalidates all data caches by range. + * + * param address The virtual address. + * param size_byte size of the memory to be cleaned and invalidated. + */ +void DCACHE_CleanInvalidateByRange(uintptr_t address, size_t size_byte) +{ + dcache_clean_invalidate_range(address, size_byte); +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/fsl_cache.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/fsl_cache.h new file mode 100644 index 00000000000..0ecab0ba68b --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/cache/armv8-a/fsl_cache.h @@ -0,0 +1,83 @@ +/* + * Copyright 2022 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef _FSL_CACHE_H_ +#define _FSL_CACHE_H_ + +#include "fsl_common.h" + +/*! + * @addtogroup cache_armv8a + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! @name Driver version */ +/*@{*/ +/*! @brief cache driver version 1.0.0. */ +#define FSL_CACHE_DRIVER_VERSION (MAKE_VERSION(1, 0, 0)) +/*@}*/ + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif + + +/*! + * @name Unified Cache Control for all caches + * Mainly used for many drivers for easy cache operation. + *@{ + */ + +/*! + * brief Invalidates all instruction caches by range. + * + * param address The virtual address. + * param size_byte size of the memory to be invalidated. + */ +void ICACHE_InvalidateByRange(uintptr_t address, size_t size_byte); + +/*! + * brief Invalidates all data caches by range. + * + * param address The virtual address. + * param size_byte size of the memory to be invalidated. + */ +void DCACHE_InvalidateByRange(uintptr_t address, size_t size_byte); + +/*! + * brief Cleans all data caches by range. + * + * param address The virtual address. + * param size_byte size of the memory to be cleaned. + */ +void DCACHE_CleanByRange(uintptr_t address, size_t size_byte); + +/*! + * brief Cleans and Invalidates all data caches by range. + * + * param address The virtual address. + * param size_byte size of the memory to be cleaned and invalidated. + */ +void DCACHE_CleanInvalidateByRange(uintptr_t address, size_t size_byte); + +/*@}*/ + +#if defined(__cplusplus) +} +#endif + +/*! @}*/ + +#endif /* _FSL_CACHE_H_*/ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/SConscript new file mode 100644 index 00000000000..62321b37009 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/SConscript @@ -0,0 +1,17 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() + +src = Glob('fsl_common.c') + +CPPPATH = [cwd] +objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common.c new file mode 100644 index 00000000000..d0dcc4b69fa --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common.c @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2021, 2025 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_common.h" + +#define SDK_MEM_MAGIC_NUMBER 12345U + +typedef struct _mem_align_control_block +{ + uint16_t identifier; /*!< Identifier for the memory control block. */ + uint16_t offset; /*!< offset from aligned address to real address */ +} mem_align_cb_t; + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.common" +#endif + +#if !((defined(__DSC__) && defined(__CW__))) +void *SDK_Malloc(size_t size, size_t alignbytes) +{ + mem_align_cb_t *p_cb = NULL; + uint32_t alignedsize; + + if ((alignbytes == 0U) || (alignbytes >= SIZE_MAX)) + { + return NULL; + } + + /* Check overflow. */ + alignedsize = (uint32_t)(unsigned int)SDK_SIZEALIGN(size, alignbytes); + if (alignedsize < size) + { + return NULL; + } + + if (alignedsize > SIZE_MAX - alignbytes - sizeof(mem_align_cb_t)) + { + return NULL; + } + + alignedsize += alignbytes + (uint32_t)sizeof(mem_align_cb_t); + + union + { + void *pointer_value; + uintptr_t unsigned_value; + } p_align_addr, p_addr; + + p_addr.pointer_value = malloc((size_t)alignedsize); + + if (p_addr.pointer_value == NULL) + { + return NULL; + } + + p_align_addr.unsigned_value = SDK_SIZEALIGN(p_addr.unsigned_value + sizeof(mem_align_cb_t), alignbytes); + + p_cb = (mem_align_cb_t *)(p_align_addr.unsigned_value - 4U); + p_cb->identifier = SDK_MEM_MAGIC_NUMBER; + p_cb->offset = (uint16_t)(p_align_addr.unsigned_value - p_addr.unsigned_value); + + return p_align_addr.pointer_value; +} + +void SDK_Free(void *ptr) +{ + union + { + void *pointer_value; + uintptr_t unsigned_value; + } p_free; + p_free.pointer_value = ptr; + mem_align_cb_t *p_cb = (mem_align_cb_t *)(p_free.unsigned_value - 4U); + + if (p_cb->identifier != SDK_MEM_MAGIC_NUMBER) + { + return; + } + + p_free.unsigned_value = p_free.unsigned_value - p_cb->offset; + + free(p_free.pointer_value); +} +#endif diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common.h new file mode 100644 index 00000000000..31a594bdc02 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common.h @@ -0,0 +1,355 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2022,2024-2025 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FSL_COMMON_H_ +#define FSL_COMMON_H_ + +#include +#include +#include +#include +#include + +#if defined(__ICCARM__) || (defined(__CC_ARM) || defined(__ARMCC_VERSION)) || defined(__GNUC__) +#include +#endif + +#include "fsl_device_registers.h" + +/*! + * @addtogroup ksdk_common + * @{ + */ + +/******************************************************************************* + * Configurations + ******************************************************************************/ + +/*! @brief Macro to use the default weak IRQ handler in drivers. */ +#ifndef FSL_DRIVER_TRANSFER_DOUBLE_WEAK_IRQ +#define FSL_DRIVER_TRANSFER_DOUBLE_WEAK_IRQ 1 +#endif + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! @brief Construct a status code value from a group and code number. */ +#define MAKE_STATUS(group, code) ((((group)*100L) + (code))) + +/*! @brief Construct the version number for drivers. + * + * The driver version is a 32-bit number, for both 32-bit platforms(such as Cortex M) + * and 16-bit platforms(such as DSC). + * + * @verbatim + + | Unused || Major Version || Minor Version || Bug Fix | + 31 25 24 17 16 9 8 0 + + @endverbatim + */ +#define MAKE_VERSION(major, minor, bugfix) (((major)*65536L) + ((minor)*256L) + (bugfix)) + +/*! @name Driver version */ +/*! @{ */ +/*! @brief common driver version. */ +#define FSL_COMMON_DRIVER_VERSION (MAKE_VERSION(2, 6, 0)) +/*! @} */ + +/*! @name Debug console type definition. */ +/*! @{ */ +#define DEBUG_CONSOLE_DEVICE_TYPE_NONE 0U /*!< No debug console. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_UART 1U /*!< Debug console based on UART. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_LPUART 2U /*!< Debug console based on LPUART. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_LPSCI 3U /*!< Debug console based on LPSCI. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_USBCDC 4U /*!< Debug console based on USBCDC. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_FLEXCOMM 5U /*!< Debug console based on FLEXCOMM. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_IUART 6U /*!< Debug console based on i.MX UART. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_VUSART 7U /*!< Debug console based on LPC_VUSART. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_MINI_USART 8U /*!< Debug console based on LPC_USART. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_SWO 9U /*!< Debug console based on SWO. */ +#define DEBUG_CONSOLE_DEVICE_TYPE_QSCI 10U /*!< Debug console based on QSCI. */ +/*! @} */ + +/*! @brief Status group numbers. */ +enum _status_groups +{ + kStatusGroup_Generic = 0, /*!< Group number for generic status codes. */ + kStatusGroup_FLASH = 1, /*!< Group number for FLASH status codes. */ + kStatusGroup_LPSPI = 4, /*!< Group number for LPSPI status codes. */ + kStatusGroup_FLEXIO_SPI = 5, /*!< Group number for FLEXIO SPI status codes. */ + kStatusGroup_DSPI = 6, /*!< Group number for DSPI status codes. */ + kStatusGroup_FLEXIO_UART = 7, /*!< Group number for FLEXIO UART status codes. */ + kStatusGroup_FLEXIO_I2C = 8, /*!< Group number for FLEXIO I2C status codes. */ + kStatusGroup_LPI2C = 9, /*!< Group number for LPI2C status codes. */ + kStatusGroup_UART = 10, /*!< Group number for UART status codes. */ + kStatusGroup_I2C = 11, /*!< Group number for UART status codes. */ + kStatusGroup_LPSCI = 12, /*!< Group number for LPSCI status codes. */ + kStatusGroup_LPUART = 13, /*!< Group number for LPUART status codes. */ + kStatusGroup_SPI = 14, /*!< Group number for SPI status code.*/ + kStatusGroup_XRDC = 15, /*!< Group number for XRDC status code.*/ + kStatusGroup_SEMA42 = 16, /*!< Group number for SEMA42 status code.*/ + kStatusGroup_SDHC = 17, /*!< Group number for SDHC status code */ + kStatusGroup_SDMMC = 18, /*!< Group number for SDMMC status code */ + kStatusGroup_SAI = 19, /*!< Group number for SAI status code */ + kStatusGroup_MCG = 20, /*!< Group number for MCG status codes. */ + kStatusGroup_SCG = 21, /*!< Group number for SCG status codes. */ + kStatusGroup_SDSPI = 22, /*!< Group number for SDSPI status codes. */ + kStatusGroup_FLEXIO_I2S = 23, /*!< Group number for FLEXIO I2S status codes */ + kStatusGroup_FLEXIO_MCULCD = 24, /*!< Group number for FLEXIO LCD status codes */ + kStatusGroup_FLASHIAP = 25, /*!< Group number for FLASHIAP status codes */ + kStatusGroup_FLEXCOMM_I2C = 26, /*!< Group number for FLEXCOMM I2C status codes */ + kStatusGroup_I2S = 27, /*!< Group number for I2S status codes */ + kStatusGroup_IUART = 28, /*!< Group number for IUART status codes */ + kStatusGroup_CSI = 29, /*!< Group number for CSI status codes */ + kStatusGroup_MIPI_DSI = 30, /*!< Group number for MIPI DSI status codes */ + kStatusGroup_SDRAMC = 35, /*!< Group number for SDRAMC status codes. */ + kStatusGroup_POWER = 39, /*!< Group number for POWER status codes. */ + kStatusGroup_ENET = 40, /*!< Group number for ENET status codes. */ + kStatusGroup_PHY = 41, /*!< Group number for PHY status codes. */ + kStatusGroup_TRGMUX = 42, /*!< Group number for TRGMUX status codes. */ + kStatusGroup_SMARTCARD = 43, /*!< Group number for SMARTCARD status codes. */ + kStatusGroup_LMEM = 44, /*!< Group number for LMEM status codes. */ + kStatusGroup_QSPI = 45, /*!< Group number for QSPI status codes. */ + kStatusGroup_DMA = 50, /*!< Group number for DMA status codes. */ + kStatusGroup_EDMA = 51, /*!< Group number for EDMA status codes. */ + kStatusGroup_DMAMGR = 52, /*!< Group number for DMAMGR status codes. */ + kStatusGroup_FLEXCAN = 53, /*!< Group number for FlexCAN status codes. */ + kStatusGroup_LTC = 54, /*!< Group number for LTC status codes. */ + kStatusGroup_FLEXIO_CAMERA = 55, /*!< Group number for FLEXIO CAMERA status codes. */ + kStatusGroup_LPC_SPI = 56, /*!< Group number for LPC_SPI status codes. */ + kStatusGroup_LPC_USART = 57, /*!< Group number for LPC_USART status codes. */ + kStatusGroup_DMIC = 58, /*!< Group number for DMIC status codes. */ + kStatusGroup_SDIF = 59, /*!< Group number for SDIF status codes.*/ + kStatusGroup_SPIFI = 60, /*!< Group number for SPIFI status codes. */ + kStatusGroup_OTP = 61, /*!< Group number for OTP status codes. */ + kStatusGroup_MCAN = 62, /*!< Group number for MCAN status codes. */ + kStatusGroup_CAAM = 63, /*!< Group number for CAAM status codes. */ + kStatusGroup_ECSPI = 64, /*!< Group number for ECSPI status codes. */ + kStatusGroup_USDHC = 65, /*!< Group number for USDHC status codes.*/ + kStatusGroup_LPC_I2C = 66, /*!< Group number for LPC_I2C status codes.*/ + kStatusGroup_DCP = 67, /*!< Group number for DCP status codes.*/ + kStatusGroup_MSCAN = 68, /*!< Group number for MSCAN status codes.*/ + kStatusGroup_ESAI = 69, /*!< Group number for ESAI status codes. */ + kStatusGroup_FLEXSPI = 70, /*!< Group number for FLEXSPI status codes. */ + kStatusGroup_MMDC = 71, /*!< Group number for MMDC status codes. */ + kStatusGroup_PDM = 72, /*!< Group number for MIC status codes. */ + kStatusGroup_SDMA = 73, /*!< Group number for SDMA status codes. */ + kStatusGroup_ICS = 74, /*!< Group number for ICS status codes. */ + kStatusGroup_SPDIF = 75, /*!< Group number for SPDIF status codes. */ + kStatusGroup_LPC_MINISPI = 76, /*!< Group number for LPC_MINISPI status codes. */ + kStatusGroup_HASHCRYPT = 77, /*!< Group number for Hashcrypt status codes */ + kStatusGroup_LPC_SPI_SSP = 78, /*!< Group number for LPC_SPI_SSP status codes. */ + kStatusGroup_I3C = 79, /*!< Group number for I3C status codes */ + kStatusGroup_LPC_I2C_1 = 97, /*!< Group number for LPC_I2C_1 status codes. */ + kStatusGroup_NOTIFIER = 98, /*!< Group number for NOTIFIER status codes. */ + kStatusGroup_DebugConsole = 99, /*!< Group number for debug console status codes. */ + kStatusGroup_SEMC = 100, /*!< Group number for SEMC status codes. */ + kStatusGroup_ApplicationRangeStart = 101, /*!< Starting number for application groups. */ + kStatusGroup_IAP = 102, /*!< Group number for IAP status codes */ + kStatusGroup_SFA = 103, /*!< Group number for SFA status codes*/ + kStatusGroup_SPC = 104, /*!< Group number for SPC status codes. */ + kStatusGroup_PUF = 105, /*!< Group number for PUF status codes. */ + kStatusGroup_TOUCH_PANEL = 106, /*!< Group number for touch panel status codes */ + kStatusGroup_VBAT = 107, /*!< Group number for VBAT status codes */ + kStatusGroup_XSPI = 108, /*!< Group number for XSPI status codes */ + kStatusGroup_PNGDEC = 109, /*!< Group number for PNGDEC status codes */ + kStatusGroup_JPEGDEC = 110, /*!< Group number for JPEGDEC status codes */ + + kStatusGroup_HAL_GPIO = 121, /*!< Group number for HAL GPIO status codes. */ + kStatusGroup_HAL_UART = 122, /*!< Group number for HAL UART status codes. */ + kStatusGroup_HAL_TIMER = 123, /*!< Group number for HAL TIMER status codes. */ + kStatusGroup_HAL_SPI = 124, /*!< Group number for HAL SPI status codes. */ + kStatusGroup_HAL_I2C = 125, /*!< Group number for HAL I2C status codes. */ + kStatusGroup_HAL_FLASH = 126, /*!< Group number for HAL FLASH status codes. */ + kStatusGroup_HAL_PWM = 127, /*!< Group number for HAL PWM status codes. */ + kStatusGroup_HAL_RNG = 128, /*!< Group number for HAL RNG status codes. */ + kStatusGroup_HAL_I2S = 129, /*!< Group number for HAL I2S status codes. */ + kStatusGroup_HAL_ADC_SENSOR = 130, /*!< Group number for HAL ADC SENSOR status codes. */ + kStatusGroup_TIMERMANAGER = 135, /*!< Group number for TiMER MANAGER status codes. */ + kStatusGroup_SERIALMANAGER = 136, /*!< Group number for SERIAL MANAGER status codes. */ + kStatusGroup_LED = 137, /*!< Group number for LED status codes. */ + kStatusGroup_BUTTON = 138, /*!< Group number for BUTTON status codes. */ + kStatusGroup_EXTERN_EEPROM = 139, /*!< Group number for EXTERN EEPROM status codes. */ + kStatusGroup_SHELL = 140, /*!< Group number for SHELL status codes. */ + kStatusGroup_MEM_MANAGER = 141, /*!< Group number for MEM MANAGER status codes. */ + kStatusGroup_LIST = 142, /*!< Group number for List status codes. */ + kStatusGroup_OSA = 143, /*!< Group number for OSA status codes. */ + kStatusGroup_COMMON_TASK = 144, /*!< Group number for Common task status codes. */ + kStatusGroup_MSG = 145, /*!< Group number for messaging status codes. */ + kStatusGroup_SDK_OCOTP = 146, /*!< Group number for OCOTP status codes. */ + kStatusGroup_SDK_FLEXSPINOR = 147, /*!< Group number for FLEXSPINOR status codes.*/ + kStatusGroup_CODEC = 148, /*!< Group number for codec status codes. */ + kStatusGroup_ASRC = 149, /*!< Group number for codec status ASRC. */ + kStatusGroup_OTFAD = 150, /*!< Group number for codec status codes. */ + kStatusGroup_SDIOSLV = 151, /*!< Group number for SDIOSLV status codes. */ + kStatusGroup_MECC = 152, /*!< Group number for MECC status codes. */ + kStatusGroup_ENET_QOS = 153, /*!< Group number for ENET_QOS status codes. */ + kStatusGroup_LOG = 154, /*!< Group number for LOG status codes. */ + kStatusGroup_I3CBUS = 155, /*!< Group number for I3CBUS status codes. */ + kStatusGroup_QSCI = 156, /*!< Group number for QSCI status codes. */ + kStatusGroup_ELEMU = 157, /*!< Group number for ELEMU status codes. */ + kStatusGroup_QUEUEDSPI = 158, /*!< Group number for QSPI status codes. */ + kStatusGroup_POWER_MANAGER = 159, /*!< Group number for POWER_MANAGER status codes. */ + kStatusGroup_IPED = 160, /*!< Group number for IPED status codes. */ + kStatusGroup_ELS_PKC = 161, /*!< Group number for ELS PKC status codes. */ + kStatusGroup_CSS_PKC = 162, /*!< Group number for CSS PKC status codes. */ + kStatusGroup_HOSTIF = 163, /*!< Group number for HOSTIF status codes. */ + kStatusGroup_CLIF = 164, /*!< Group number for CLIF status codes. */ + kStatusGroup_BMA = 165, /*!< Group number for BMA status codes. */ + kStatusGroup_NETC = 166, /*!< Group number for NETC status codes. */ + kStatusGroup_ELE = 167, /*!< Group number for ELE status codes. */ + kStatusGroup_GLIKEY = 168, /*!< Group number for GLIKEY status codes. */ + kStatusGroup_AON_POWER = 169, /*!< Group number for AON_POWER status codes. */ + kStatusGroup_AON_COMMON = 170, /*!< Group number for AON_COMMON status codes. */ + kStatusGroup_ENDAT3 = 171, /*!< Group number for ENDAT3 status codes. */ + kStatusGroup_HIPERFACE = 172, /*!< Group number for HIPERFACE status codes. */ + kStatusGroup_NPX = 173, /*!< Group number for NPX status codes. */ + kStatusGroup_ELA_CSEC = 174, /*!< Group number for ELA_CSEC status codes. */ + kStatusGroup_FLEXIO_T_FORMAT= 175, /*!< Group number for T-format status codes. */ + kStatusGroup_FLEXIO_A_FORMAT= 176, /*!< Group number for A-format status codes. */ +}; + +/*! \public + * @brief Generic status return codes. + */ +enum +{ + kStatus_Success = MAKE_STATUS(kStatusGroup_Generic, 0), /*!< Generic status for Success. */ + kStatus_Fail = MAKE_STATUS(kStatusGroup_Generic, 1), /*!< Generic status for Fail. */ + kStatus_ReadOnly = MAKE_STATUS(kStatusGroup_Generic, 2), /*!< Generic status for read only failure. */ + kStatus_OutOfRange = MAKE_STATUS(kStatusGroup_Generic, 3), /*!< Generic status for out of range access. */ + kStatus_InvalidArgument = MAKE_STATUS(kStatusGroup_Generic, 4), /*!< Generic status for invalid argument check. */ + kStatus_Timeout = MAKE_STATUS(kStatusGroup_Generic, 5), /*!< Generic status for timeout. */ + kStatus_NoTransferInProgress = + MAKE_STATUS(kStatusGroup_Generic, 6), /*!< Generic status for no transfer in progress. */ + kStatus_Busy = MAKE_STATUS(kStatusGroup_Generic, 7), /*!< Generic status for module is busy. */ + kStatus_NoData = + MAKE_STATUS(kStatusGroup_Generic, 8), /*!< Generic status for no data is found for the operation. */ +}; + +/*! @brief Type used for all status and error return values. */ +typedef int32_t status_t; + +#ifdef __ZEPHYR__ +#include +#else +/*! + * @name Min/max macros + * @{ + */ +#if !defined(MIN) +/*! Computes the minimum of \a a and \a b. */ +#define MIN(a, b) (((a) < (b)) ? (a) : (b)) +#endif + +#if !defined(MAX) +/*! Computes the maximum of \a a and \a b. */ +#define MAX(a, b) (((a) > (b)) ? (a) : (b)) +#endif +/*! @} */ + +/*! @brief Computes the number of elements in an array. */ +#if !defined(ARRAY_SIZE) +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#endif +#endif /* __ZEPHYR__ */ + +/*! @name UINT16_MAX/UINT32_MAX value */ +/*! @{ */ +#if !defined(UINT16_MAX) +/*! Max value of uint16_t type. */ +#define UINT16_MAX ((uint16_t)-1) +#endif + +#if !defined(UINT32_MAX) +/*! Max value of uint32_t type. */ +#define UINT32_MAX ((uint32_t)-1) +#endif +/*! @} */ + +/*! Macro to get upper 32 bits of a 64-bit value */ +#if !defined(UINT64_H) +#define UINT64_H(X) ((uint32_t)((((uint64_t) (X)) >> 32U) & 0x0FFFFFFFFULL)) +#endif + +/*! Macro to get lower 32 bits of a 64-bit value */ +#if !defined(UINT64_L) +#define UINT64_L(X) ((uint32_t)(((uint64_t) (X)) & 0x0FFFFFFFFULL)) +#endif + +/*! + * @def SUPPRESS_FALL_THROUGH_WARNING() + * + * For switch case code block, if case section ends without "break;" statement, there wil be + * fallthrough warning with compiler flag -Wextra or -Wimplicit-fallthrough=n when using armgcc. + * To suppress this warning, "SUPPRESS_FALL_THROUGH_WARNING();" need to be added at the end of each + * case section which misses "break;"statement. + */ +#if defined(__GNUC__) && !defined(__ARMCC_VERSION) +#define SUPPRESS_FALL_THROUGH_WARNING() __attribute__((fallthrough)) +#else +#define SUPPRESS_FALL_THROUGH_WARNING() +#endif + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif + +#if !((defined(__DSC__) && defined(__CW__))) +/*! + * @brief Allocate memory with given alignment and aligned size. + * + * This is provided to support the dynamically allocated memory + * used in cache-able region. + * @param size The length required to malloc. + * @param alignbytes The alignment size. + * @retval The allocated memory. + */ +void *SDK_Malloc(size_t size, size_t alignbytes); + +/*! + * @brief Free memory. + * + * @param ptr The memory to be release. + */ +void SDK_Free(void *ptr); +#endif + +/*! + * @brief Delay at least for some time. + * Please note that, this API uses while loop for delay, different run-time environments make the time not precise, + * if precise delay count was needed, please implement a new delay function with hardware timer. + * + * @param delayTime_us Delay time in unit of microsecond. + * @param coreClock_Hz Core clock frequency with Hz. + */ +void SDK_DelayAtLeastUs(uint32_t delayTime_us, uint32_t coreClock_Hz); + +#if defined(__cplusplus) +} +#endif + +/*! @} */ + +#if (defined(__DSC__) && defined(__CW__)) +#include "fsl_common_dsc.h" +#elif defined(__XTENSA__) +#include "fsl_common_dsp.h" +#elif defined(__riscv) +#include "fsl_common_riscv.h" +#else +#include "fsl_common_arm.h" +#endif + +#endif /* FSL_COMMON_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_arm.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_arm.c new file mode 100644 index 00000000000..28e3dc89d24 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_arm.c @@ -0,0 +1,369 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2021,2023,2024 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_common.h" + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.common_arm" +#endif + +#ifndef __GIC_PRIO_BITS +#if defined(ENABLE_RAM_VECTOR_TABLE) +uint32_t InstallIRQHandler(IRQn_Type irq, uint32_t irqHandler) +{ +#ifdef __VECTOR_TABLE +#undef __VECTOR_TABLE +#endif + + if (((int32_t)irq + 16) < 0) + { + return MSDK_INVALID_IRQ_HANDLER; + } + +/* Addresses for VECTOR_TABLE and VECTOR_RAM come from the linker file */ +#if defined(__CC_ARM) || defined(__ARMCC_VERSION) + extern uint32_t Image$$VECTOR_ROM$$Base[]; + extern uint32_t Image$$VECTOR_RAM$$Base[]; + extern uint32_t Image$$VECTOR_RAM$$ZI$$Limit[]; + +#define __VECTOR_TABLE Image$$VECTOR_ROM$$Base +#define __VECTOR_RAM Image$$VECTOR_RAM$$Base +#define __RAM_VECTOR_TABLE_SIZE (((uint32_t)Image$$VECTOR_RAM$$ZI$$Limit - (uint32_t)Image$$VECTOR_RAM$$Base)) +#elif defined(__ICCARM__) + extern uint32_t __RAM_VECTOR_TABLE_SIZE[]; + extern uint32_t __VECTOR_TABLE[]; + extern uint32_t __VECTOR_RAM[]; +#elif defined(__GNUC__) + extern uint32_t __VECTOR_TABLE[]; + extern uint32_t __VECTOR_RAM[]; + extern uint32_t __RAM_VECTOR_TABLE_SIZE_BYTES[]; + uint32_t __RAM_VECTOR_TABLE_SIZE = (uint32_t)(__RAM_VECTOR_TABLE_SIZE_BYTES); +#endif /* defined(__CC_ARM) || defined(__ARMCC_VERSION) */ + uint32_t n; + uint32_t ret; + uint32_t irqMaskValue; + + irqMaskValue = DisableGlobalIRQ(); + if (SCB->VTOR != (uint32_t)__VECTOR_RAM) + { + /* Copy the vector table from ROM to RAM */ + for (n = 0; n < ((uint32_t)__RAM_VECTOR_TABLE_SIZE) / sizeof(uint32_t); n++) + { + __VECTOR_RAM[n] = __VECTOR_TABLE[n]; + } + /* Point the VTOR to the position of vector table */ + SCB->VTOR = (uint32_t)__VECTOR_RAM; + } + + ret = __VECTOR_RAM[(int32_t)irq + 16]; + /* make sure the __VECTOR_RAM is noncachable */ + __VECTOR_RAM[(int32_t)irq + 16] = irqHandler; + + EnableGlobalIRQ(irqMaskValue); + + return ret; +} +#endif /* ENABLE_RAM_VECTOR_TABLE. */ +#endif /* __GIC_PRIO_BITS. */ + +#if (defined(FSL_FEATURE_SOC_SYSCON_COUNT) && (FSL_FEATURE_SOC_SYSCON_COUNT > 0)) + +/* + * When FSL_FEATURE_POWERLIB_EXTEND is defined to non-zero value, + * powerlib should be used instead of these functions. + */ +#if !(defined(FSL_FEATURE_POWERLIB_EXTEND) && (FSL_FEATURE_POWERLIB_EXTEND != 0)) + +/* + * When the SYSCON STARTER registers are discontinuous, these functions are + * implemented in fsl_power.c. + */ +#if !(defined(FSL_FEATURE_SYSCON_STARTER_DISCONTINUOUS) && FSL_FEATURE_SYSCON_STARTER_DISCONTINUOUS) + +void EnableDeepSleepIRQ(IRQn_Type interrupt) +{ + uint32_t intNumber = (uint32_t)interrupt; + + uint32_t index = 0; + + while (intNumber >= 32u) + { + index++; + intNumber -= 32u; + } + + SYSCON->STARTERSET[index] = 1UL << intNumber; + (void)EnableIRQ(interrupt); /* also enable interrupt at NVIC */ +} + +void DisableDeepSleepIRQ(IRQn_Type interrupt) +{ + uint32_t intNumber = (uint32_t)interrupt; + + (void)DisableIRQ(interrupt); /* also disable interrupt at NVIC */ + uint32_t index = 0; + + while (intNumber >= 32u) + { + index++; + intNumber -= 32u; + } + + SYSCON->STARTERCLR[index] = 1UL << intNumber; +} +#endif /* FSL_FEATURE_SYSCON_STARTER_DISCONTINUOUS */ +#endif /* FSL_FEATURE_POWERLIB_EXTEND */ +#endif /* FSL_FEATURE_SOC_SYSCON_COUNT */ + +#if defined(DWT) +/* Use WDT. */ +void MSDK_EnableCpuCycleCounter(void) +{ + /* Make sure the DWT trace fucntion is enabled. */ + if (CoreDebug_DEMCR_TRCENA_Msk != (CoreDebug_DEMCR_TRCENA_Msk & CoreDebug->DEMCR)) + { + CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; + } + + /* CYCCNT not supported on this device. */ + assert(DWT_CTRL_NOCYCCNT_Msk != (DWT->CTRL & DWT_CTRL_NOCYCCNT_Msk)); + + /* Read CYCCNT directly if CYCCENT has already been enabled, otherwise enable CYCCENT first. */ + if (DWT_CTRL_CYCCNTENA_Msk != (DWT_CTRL_CYCCNTENA_Msk & DWT->CTRL)) + { + DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; + } +} + +uint32_t MSDK_GetCpuCycleCount(void) +{ + return DWT->CYCCNT; +} +#endif /* defined(DWT) */ + +#if !(defined(SDK_DELAY_USE_DWT) && defined(DWT)) +/* Use software loop. */ +#if defined(__CC_ARM) /* This macro is arm v5 specific */ +/* clang-format off */ +__ASM static void DelayLoop(uint32_t count) +{ +loop + SUBS R0, R0, #1 + CMP R0, #0 + BNE loop + BX LR +} +#elif defined(__ARM_ARCH_8A__) /* This macro is ARMv8-A specific */ +static void DelayLoop(uint32_t count) +{ + __ASM volatile(" MOV X0, %0" : : "r"(count)); + __ASM volatile( + "loop%=: \n" + " SUB X0, X0, #1 \n" + " CMP X0, #0 \n" + + " BNE loop%= \n" + : + : + : "r0"); +} +/* clang-format on */ +#elif defined(__ARMCC_VERSION) || defined(__ICCARM__) || defined(__GNUC__) +/* Cortex-M0 has a smaller instruction set, SUBS isn't supported in thumb-16 mode reported from __GNUC__ compiler, + * use SUB and CMP here for compatibility */ +static void DelayLoop(uint32_t count) +{ + __ASM volatile(" MOV R0, %0" : : "r"(count)); + __ASM volatile( + "loop%=: \n" +#if defined(__GNUC__) && !defined(__ARMCC_VERSION) + " SUB R0, R0, #1 \n" +#else + " SUBS R0, R0, #1 \n" +#endif + " CMP R0, #0 \n" + + " BNE loop%= \n" + : + : + : "r0"); +} +#endif /* defined(__CC_ARM) */ +#endif /* defined(SDK_DELAY_USE_DWT) && defined(DWT) */ + +/*! + * @brief Delay at least for some time. + * Please note that, if not uses DWT, this API will use while loop for delay, different run-time environments have + * effect on the delay time. If precise delay is needed, please enable DWT delay. The two parmeters delayTime_us and + * coreClock_Hz have limitation. For example, in the platform with 1GHz coreClock_Hz, the delayTime_us only supports + * up to 4294967 in current code. If long time delay is needed, please implement a new delay function. + * + * @param delayTime_us Delay time in unit of microsecond. + * @param coreClock_Hz Core clock frequency with Hz. + */ +void SDK_DelayAtLeastUs(uint32_t delayTime_us, uint32_t coreClock_Hz) +{ + uint64_t count; + + if (delayTime_us > 0U) + { + count = USEC_TO_COUNT(delayTime_us, coreClock_Hz); + + assert(count <= UINT32_MAX); + +#if defined(SDK_DELAY_USE_DWT) && defined(DWT) /* Use DWT for better accuracy */ + + MSDK_EnableCpuCycleCounter(); + /* Calculate the count ticks. */ + count += MSDK_GetCpuCycleCount(); + + if (count > UINT32_MAX) + { + count -= UINT32_MAX; + /* Wait for cyccnt overflow. */ + while (count < MSDK_GetCpuCycleCount()) + { + } + } + + /* Wait for cyccnt reach count value. */ + while (count > MSDK_GetCpuCycleCount()) + { + } +#else +#if defined(__CORTEX_Axx) && ((__CORTEX_Axx == 53) || (__CORTEX_Axx == 55)) + /* + * Cortex-A53/A55 execution throughput: + * - SUB/CMP: 2 instructions per cycle + * - BNE: 1 instruction per cycle + * So, each loop takes 2 CPU cycles. + */ + count = count / 2U; +#elif (__CORTEX_M == 7) + /* Divide value may be different in various environment to ensure delay is precise. + * Every loop count includes three instructions, due to Cortex-M7 sometimes executes + * two instructions in one period, through test here set divide 1.5. Other M cores use + * divide 4. By the way, divide 1.5 or 4 could let the count lose precision, but it does + * not matter because other instructions outside while loop is enough to fill the time. + */ + count = count / 3U * 2U; +#else + count = count / 4U; +#endif + DelayLoop((uint32_t)count); +#endif /* defined(SDK_DELAY_USE_DWT) && defined(DWT) */ + } +} + +#if defined(FSL_FEATURE_MEASURE_CRITICAL_SECTION) && FSL_FEATURE_MEASURE_CRITICAL_SECTION +/* Use shall define their own IDs, FSL_FEATURE_CRITICAL_SECTION_MAX_ID and FSL_FEATURE_CRITICAL_SECTION_INVALID_ID + for the critical sections if want to use the critical section measurement. + */ +#ifndef FSL_FEATURE_CRITICAL_SECTION_MAX_ID +#define FSL_FEATURE_CRITICAL_SECTION_MAX_ID 0xFFU +#endif + +#ifndef FSL_FEATURE_CRITICAL_SECTION_INVALID_ID +#define FSL_FEATURE_CRITICAL_SECTION_INVALID_ID 0U +#endif + +typedef struct +{ + uint32_t id; /*!< The id of the critical section, defined by user. */ + uint32_t startTime; /*!< The timestamp for the start of the critical section. */ + uint32_t dur_max[FSL_FEATURE_CRITICAL_SECTION_MAX_ID]; /*!< The maximum duration of the section's previous executions. */ + uint32_t execution_times[FSL_FEATURE_CRITICAL_SECTION_MAX_ID]; /*!< How many times the section is executed. */ + getTimestamp_t getTimestamp; /*!< Function to get the current time stamp. */ +} critical_section_measurement_t; + +static critical_section_measurement_t s_critical_section_measurement_context; + +/*! + * brief Initialize the context of the critical section measurement and assign + * the function to get the current timestamp. + * + * param func The function to get the current timestamp. + */ +void InitCriticalSectionMeasurementContext(getTimestamp_t func) +{ + assert(func != NULL); + + (void)memset(&s_critical_section_measurement_context, 0, sizeof(critical_section_measurement_t)); + + s_critical_section_measurement_context.getTimestamp = func; +} + +/*! + * brief Disable the global IRQ with critical section ID + * + * Extended function of DisableGlobalIRQ. Apart from the standard operation, also check + * the id of the protected critical section and mark the begining for timer. + * User is required to provided the primask register for the EnableGlobalIRQEx. + * + * param id The id for critical section. + * return Current primask value. + */ +uint32_t DisableGlobalIRQEx(uint32_t id) +{ + uint32_t primask = DisableGlobalIRQ(); + if (primask != 0U) + { +#ifdef FSL_FEATURE_MEASURE_CRITICAL_SECTION_DEBUG + /* Check for the critical section id. */ + assert(id != FSL_FEATURE_CRITICAL_SECTION_INVALID_ID); + assert(id < FSL_FEATURE_CRITICAL_SECTION_MAX_ID); + assert(s_critical_section_measurement_context.id == FSL_FEATURE_CRITICAL_SECTION_INVALID_ID); +#endif + if (s_critical_section_measurement_context.getTimestamp != NULL) + { + s_critical_section_measurement_context.id = id; + s_critical_section_measurement_context.startTime = s_critical_section_measurement_context.getTimestamp(); + } + } + return primask; +} + +/*! + * brief Enable the global IRQ and calculate the execution time of critical section + * + * Extended function of EnableGlobalIRQ. Apart from the standard operation, also + * marks the exit of the critical section and calculate the execution time for the section. + * User is required to use the DisableGlobalIRQEx and EnableGlobalIRQEx in pair. + * + * param primask value of primask register to be restored. The primask value is supposed to be provided by the + * DisableGlobalIRQEx(). + */ +void EnableGlobalIRQEx(uint32_t primask) +{ + if (primask != 0U) + { +#ifdef FSL_FEATURE_MEASURE_CRITICAL_SECTION_DEBUG + /* Check for the critical section id. */ + assert(s_critical_section_measurement_context.id != FSL_FEATURE_CRITICAL_SECTION_INVALID_ID); + assert(s_critical_section_measurement_context.id < FSL_FEATURE_CRITICAL_SECTION_MAX_ID); +#endif + if (s_critical_section_measurement_context.getTimestamp != NULL) + { + /* Calculate the critical section duration. */ + uint32_t dur = s_critical_section_measurement_context.getTimestamp() - s_critical_section_measurement_context.startTime; + if (dur > s_critical_section_measurement_context.dur_max[s_critical_section_measurement_context.id]) + { + s_critical_section_measurement_context.dur_max[s_critical_section_measurement_context.id] = dur; + } + s_critical_section_measurement_context.execution_times[s_critical_section_measurement_context.id]++; + } +#ifdef FSL_FEATURE_MEASURE_CRITICAL_SECTION_DEBUG + /* Exit the critical section, set the id to invalid. In this case when entering critical + section again DisableGlobalIRQEx has to be called first to avoid assertion. */ + s_critical_section_measurement_context.id = FSL_FEATURE_CRITICAL_SECTION_INVALID_ID; +#endif + } + EnableGlobalIRQ(primask); +} +#endif /* FSL_FEATURE_MEASURE_CRITICAL_SECTION */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_arm.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_arm.h new file mode 100644 index 00000000000..55544c17bab --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_arm.h @@ -0,0 +1,1184 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2022, 2024 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FSL_COMMON_ARM_H_ +#define FSL_COMMON_ARM_H_ + +/* + * For CMSIS pack RTE. + * CMSIS pack RTE generates "RTC_Components.h" which contains the statements + * of the related element for all selected software components. + */ +#ifdef _RTE_ +#include "RTE_Components.h" +#endif + +/*! + * @addtogroup ksdk_common + * @{ + */ + +/*! @name Atomic modification + * + * These macros are used for atomic access, such as read-modify-write + * to the peripheral registers. + * + * Take @ref SDK_ATOMIC_LOCAL_CLEAR_AND_SET as an example: the parameter @c addr + * means the address of the peripheral register or variable you want to modify + * atomically, the parameter @c clearBits is the bits to clear, the parameter + * @c setBits it the bits to set. + * For example, to set a 32-bit register bit1:bit0 to 0b10, use like this: + * + * @code + volatile uint32_t * reg = (volatile uint32_t *)REG_ADDR; + + SDK_ATOMIC_LOCAL_CLEAR_AND_SET(reg, 0x03, 0x02); + @endcode + * + * In this example, the register bit1:bit0 are cleared and bit1 is set, as a result, + * register bit1:bit0 = 0b10. + * + * @note For the platforms don't support exclusive load and store, these macros + * disable the global interrupt to pretect the modification. + * + * @note These macros only guarantee the local processor atomic operations. For + * the multi-processor devices, use hardware semaphore such as SEMA42 to + * guarantee exclusive access if necessary. + * + * @{ + */ + +/*! + * @def SDK_ATOMIC_LOCAL_ADD(addr, val) + * Add value \a val from the variable at address \a address. + * + * @def SDK_ATOMIC_LOCAL_SUB(addr, val) + * Subtract value \a val to the variable at address \a address. + * + * @def SDK_ATOMIC_LOCAL_SET(addr, bits) + * Set the bits specifiled by \a bits to the variable at address \a address. + * + * @def SDK_ATOMIC_LOCAL_CLEAR(addr, bits) + * Clear the bits specifiled by \a bits to the variable at address \a address. + * + * @def SDK_ATOMIC_LOCAL_TOGGLE(addr, bits) + * Toggle the bits specifiled by \a bits to the variable at address \a address. + * + * @def SDK_ATOMIC_LOCAL_CLEAR_AND_SET(addr, clearBits, setBits) + * For the variable at address \a address, clear the bits specifiled by \a clearBits + * and set the bits specifiled by \a setBits. + + * @def SDK_ATOMIC_LOCAL_COMPARE_AND_SET(addr, expected, newValue) + * For the variable at address \a address, check whether the value equal to \a expected. If value same as \a expected + * then update \a newValue to address and return \b true , else return \b false . + * + * @def SDK_ATOMIC_LOCAL_TEST_AND_SET(addr, newValue) + * For the variable at address \a address, set as \a newValue value and return old value. + */ + +/* clang-format off */ +#if ((defined(__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined(__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined(__ARM_ARCH_8M_BASE__) && (__ARM_ARCH_8M_BASE__ == 1))) +/* clang-format on */ + +/* If the LDREX and STREX are supported, use them. */ +#define _SDK_ATOMIC_LOCAL_OPS_1BYTE(addr, val, ops) \ + do \ + { \ + (val) = __LDREXB(addr); \ + (ops); \ + } while (0UL != __STREXB((val), (addr))) + +#define _SDK_ATOMIC_LOCAL_OPS_2BYTE(addr, val, ops) \ + do \ + { \ + (val) = __LDREXH(addr); \ + (ops); \ + } while (0UL != __STREXH((val), (addr))) + +#define _SDK_ATOMIC_LOCAL_OPS_4BYTE(addr, val, ops) \ + do \ + { \ + (val) = __LDREXW(addr); \ + (ops); \ + } while (0UL != __STREXW((val), (addr))) + +static inline void _SDK_AtomicLocalAdd1Byte(volatile uint8_t *addr, uint8_t val) +{ + uint8_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_1BYTE(addr, s_val, s_val += val); +} + +static inline void _SDK_AtomicLocalAdd2Byte(volatile uint16_t *addr, uint16_t val) +{ + uint16_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_2BYTE(addr, s_val, s_val += val); +} + +static inline void _SDK_AtomicLocalAdd4Byte(volatile uint32_t *addr, uint32_t val) +{ + uint32_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_4BYTE(addr, s_val, s_val += val); +} + +static inline void _SDK_AtomicLocalSub1Byte(volatile uint8_t *addr, uint8_t val) +{ + uint8_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_1BYTE(addr, s_val, s_val -= val); +} + +static inline void _SDK_AtomicLocalSub2Byte(volatile uint16_t *addr, uint16_t val) +{ + uint16_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_2BYTE(addr, s_val, s_val -= val); +} + +static inline void _SDK_AtomicLocalSub4Byte(volatile uint32_t *addr, uint32_t val) +{ + uint32_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_4BYTE(addr, s_val, s_val -= val); +} + +static inline void _SDK_AtomicLocalSet1Byte(volatile uint8_t *addr, uint8_t bits) +{ + uint8_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_1BYTE(addr, s_val, s_val |= bits); +} + +static inline void _SDK_AtomicLocalSet2Byte(volatile uint16_t *addr, uint16_t bits) +{ + uint16_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_2BYTE(addr, s_val, s_val |= bits); +} + +static inline void _SDK_AtomicLocalSet4Byte(volatile uint32_t *addr, uint32_t bits) +{ + uint32_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_4BYTE(addr, s_val, s_val |= bits); +} + +static inline void _SDK_AtomicLocalClear1Byte(volatile uint8_t *addr, uint8_t bits) +{ + uint8_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_1BYTE(addr, s_val, s_val &= ~bits); +} + +static inline void _SDK_AtomicLocalClear2Byte(volatile uint16_t *addr, uint16_t bits) +{ + uint16_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_2BYTE(addr, s_val, s_val &= ~bits); +} + +static inline void _SDK_AtomicLocalClear4Byte(volatile uint32_t *addr, uint32_t bits) +{ + uint32_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_4BYTE(addr, s_val, s_val &= ~bits); +} + +static inline void _SDK_AtomicLocalToggle1Byte(volatile uint8_t *addr, uint8_t bits) +{ + uint8_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_1BYTE(addr, s_val, s_val ^= bits); +} + +static inline void _SDK_AtomicLocalToggle2Byte(volatile uint16_t *addr, uint16_t bits) +{ + uint16_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_2BYTE(addr, s_val, s_val ^= bits); +} + +static inline void _SDK_AtomicLocalToggle4Byte(volatile uint32_t *addr, uint32_t bits) +{ + uint32_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_4BYTE(addr, s_val, s_val ^= bits); +} + +static inline void _SDK_AtomicLocalClearAndSet1Byte(volatile uint8_t *addr, uint8_t clearBits, uint8_t setBits) +{ + uint8_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_1BYTE(addr, s_val, s_val = (s_val & ~clearBits) | setBits); +} + +static inline void _SDK_AtomicLocalClearAndSet2Byte(volatile uint16_t *addr, uint16_t clearBits, uint16_t setBits) +{ + uint16_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_2BYTE(addr, s_val, s_val = (s_val & ~clearBits) | setBits); +} + +static inline void _SDK_AtomicLocalClearAndSet4Byte(volatile uint32_t *addr, uint32_t clearBits, uint32_t setBits) +{ + uint32_t s_val; + + _SDK_ATOMIC_LOCAL_OPS_4BYTE(addr, s_val, s_val = (s_val & ~clearBits) | setBits); +} + +#define SDK_ATOMIC_LOCAL_ADD(addr, val) \ + ((1UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalAdd1Byte((volatile uint8_t *)(volatile void *)(addr), (uint8_t)(val)) : \ + ((2UL == sizeof(*(addr))) ? _SDK_AtomicLocalAdd2Byte((volatile uint16_t *)(volatile void *)(addr), (uint16_t)(val)) : \ + _SDK_AtomicLocalAdd4Byte((volatile uint32_t *)(volatile void *)(addr), (uint32_t)(val)))) + +#define SDK_ATOMIC_LOCAL_SUB(addr, val) \ + ((1UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalSub1Byte((volatile uint8_t *)(volatile void *)(addr), (uint8_t)(val)) : \ + ((2UL == sizeof(*(addr))) ? _SDK_AtomicLocalSub2Byte((volatile uint16_t *)(volatile void *)(addr), (uint16_t)(val)) : \ + _SDK_AtomicLocalSub4Byte((volatile uint32_t *)(volatile void *)(addr), (uint32_t)(val)))) + +#define SDK_ATOMIC_LOCAL_SET(addr, bits) \ + ((1UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalSet1Byte((volatile uint8_t *)(volatile void *)(addr), (uint8_t)(bits)) : \ + ((2UL == sizeof(*(addr))) ? _SDK_AtomicLocalSet2Byte((volatile uint16_t *)(volatile void *)(addr), (uint16_t)(bits)) : \ + _SDK_AtomicLocalSet4Byte((volatile uint32_t *)(volatile void *)(addr), (uint32_t)(bits)))) + +#define SDK_ATOMIC_LOCAL_CLEAR(addr, bits) \ + ((1UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalClear1Byte((volatile uint8_t *)(volatile void *)(addr), (uint8_t)(bits)) : \ + ((2UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalClear2Byte((volatile uint16_t *)(volatile void *)(addr), (uint16_t)(bits)) : \ + _SDK_AtomicLocalClear4Byte((volatile uint32_t *)(volatile void *)(addr), (uint32_t)(bits)))) + +#define SDK_ATOMIC_LOCAL_TOGGLE(addr, bits) \ + ((1UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalToggle1Byte((volatile uint8_t *)(volatile void *)(addr), (uint8_t)(bits)) : \ + ((2UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalToggle2Byte((volatile uint16_t *)(volatile void *)(addr), (uint16_t)(bits)) : \ + _SDK_AtomicLocalToggle4Byte((volatile uint32_t *)(volatile void *)(addr), (uint32_t)(bits)))) + +#define SDK_ATOMIC_LOCAL_CLEAR_AND_SET(addr, clearBits, setBits) \ + ((1UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalClearAndSet1Byte((volatile uint8_t *)(volatile void *)(addr), (uint8_t)(clearBits), (uint8_t)(setBits)) : \ + ((2UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalClearAndSet2Byte((volatile uint16_t *)(volatile void *)(addr), (uint16_t)(clearBits), (uint16_t)(setBits)) : \ + _SDK_AtomicLocalClearAndSet4Byte((volatile uint32_t *)(volatile void *)(addr), (uint32_t)(clearBits), (uint32_t)(setBits)))) + +#define SDK_ATOMIC_LOCAL_COMPARE_AND_SET(addr, expected, newValue) \ + ((1UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalCompareAndSet1Byte((volatile uint8_t *)(volatile void *)(addr), (uint8_t)(expected), (uint8_t)(newValue)) : \ + ((2UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalCompareAndSet2Byte((volatile uint16_t *)(volatile void *)(addr), (uint16_t)(expected), (uint16_t)(newValue)) : \ + _SDK_AtomicLocalCompareAndSet4Byte((volatile uint32_t *)(volatile void *)(addr), (uint32_t)(expected), (uint32_t)(newValue)))) + +#define SDK_ATOMIC_LOCAL_TEST_AND_SET(addr, newValue) \ + ((1UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalTestAndSet1Byte((volatile uint8_t *)(volatile void *)(addr), (uint8_t)(newValue)) : \ + ((2UL == sizeof(*(addr))) ? \ + _SDK_AtomicLocalTestAndSet2Byte((volatile uint16_t *)(volatile void *)(addr), (uint16_t)(newValue)) : \ + _SDK_AtomicLocalTestAndSet4Byte((volatile uint32_t *)(volatile void *)(addr), (uint32_t)(newValue)))) +#else + +#define SDK_ATOMIC_LOCAL_ADD(addr, val) \ + do \ + { \ + uint32_t s_atomicOldInt; \ + s_atomicOldInt = DisableGlobalIRQ(); \ + *(addr) += (val); \ + EnableGlobalIRQ(s_atomicOldInt); \ + } while (false) + +#define SDK_ATOMIC_LOCAL_SUB(addr, val) \ + do \ + { \ + uint32_t s_atomicOldInt; \ + s_atomicOldInt = DisableGlobalIRQ(); \ + *(addr) -= (val); \ + EnableGlobalIRQ(s_atomicOldInt); \ + } while (false) + +#define SDK_ATOMIC_LOCAL_SET(addr, bits) \ + do \ + { \ + uint32_t s_atomicOldInt; \ + s_atomicOldInt = DisableGlobalIRQ(); \ + *(addr) |= (bits); \ + EnableGlobalIRQ(s_atomicOldInt); \ + } while (false) + +#define SDK_ATOMIC_LOCAL_CLEAR(addr, bits) \ + do \ + { \ + uint32_t s_atomicOldInt; \ + s_atomicOldInt = DisableGlobalIRQ(); \ + *(addr) &= ~(bits); \ + EnableGlobalIRQ(s_atomicOldInt); \ + } while (false) + +#define SDK_ATOMIC_LOCAL_TOGGLE(addr, bits) \ + do \ + { \ + uint32_t s_atomicOldInt; \ + s_atomicOldInt = DisableGlobalIRQ(); \ + *(addr) ^= (bits); \ + EnableGlobalIRQ(s_atomicOldInt); \ + } while (false) + +#define SDK_ATOMIC_LOCAL_CLEAR_AND_SET(addr, clearBits, setBits) \ + do \ + { \ + uint32_t s_atomicOldInt; \ + s_atomicOldInt = DisableGlobalIRQ(); \ + *(addr) = (*(addr) & ~(clearBits)) | (setBits); \ + EnableGlobalIRQ(s_atomicOldInt); \ + } while (false) + +#define SDK_ATOMIC_LOCAL_COMPARE_AND_SET(addr, expected, newValue) \ + _SDK_AtomicLocalCompareAndSet((uint32_t *)addr, (uint32_t)expected, (uint32_t)newValue) + +#define SDK_ATOMIC_LOCAL_TEST_AND_SET(addr, newValue) \ + _SDK_AtomicTestAndSet((uint32_t *)addr, (uint32_t)newValue) + +#endif +/*! @} */ + +/*! @name Timer utilities */ +/*! @{ */ +/*! Macro to convert a microsecond period to raw count value */ +#define USEC_TO_COUNT(us, clockFreqInHz) (uint64_t)(((uint64_t)(us) * (clockFreqInHz)) / 1000000U) +/*! Macro to convert a raw count value to microsecond */ +#define COUNT_TO_USEC(count, clockFreqInHz) (uint64_t)((uint64_t)(count)*1000000U / (clockFreqInHz)) + +/*! Macro to convert a millisecond period to raw count value */ +#define MSEC_TO_COUNT(ms, clockFreqInHz) (uint64_t)((uint64_t)(ms) * (clockFreqInHz) / 1000U) +/*! Macro to convert a raw count value to millisecond */ +#define COUNT_TO_MSEC(count, clockFreqInHz) (uint64_t)((uint64_t)(count)*1000U / (clockFreqInHz)) +/*! @} */ + +/*! @name ISR exit barrier + * @{ + * + * ARM errata 838869, affects Cortex-M4, Cortex-M4F Store immediate overlapping + * exception return operation might vector to incorrect interrupt. + * For Cortex-M7, if core speed much faster than peripheral register write speed, + * the peripheral interrupt flags may be still set after exiting ISR, this results to + * the same error similar with errata 83869. + */ +#if (defined __CORTEX_M) && ((__CORTEX_M == 4U) || (__CORTEX_M == 7U)) +#define SDK_ISR_EXIT_BARRIER __DSB() +#else +#define SDK_ISR_EXIT_BARRIER +#endif + +/*! @} */ + +/*! @name Alignment variable definition macros */ +/*! @{ */ +#if (defined(__ICCARM__)) +/* + * Workaround to disable MISRA C message suppress warnings for IAR compiler. + * http:/ /supp.iar.com/Support/?note=24725 + */ +_Pragma("diag_suppress=Pm120") +#define SDK_PRAGMA(x) _Pragma(#x) + _Pragma("diag_error=Pm120") +/*! Macro to define a variable with alignbytes alignment */ +#define SDK_ALIGN(var, alignbytes) SDK_PRAGMA(data_alignment = alignbytes) var +#elif defined(__CC_ARM) || defined(__ARMCC_VERSION) +/*! Macro to define a variable with alignbytes alignment */ +#define SDK_ALIGN(var, alignbytes) __attribute__((aligned(alignbytes))) var +#elif defined(__GNUC__) || defined(DOXYGEN_OUTPUT) +/*! Macro to define a variable with alignbytes alignment */ +#define SDK_ALIGN(var, alignbytes) var __attribute__((aligned(alignbytes))) +#else +#error Toolchain not supported +#endif + +/*! Macro to define a variable with L1 d-cache line size alignment */ +#if defined(FSL_FEATURE_L1DCACHE_LINESIZE_BYTE) +#define SDK_L1DCACHE_ALIGN(var) SDK_ALIGN(var, FSL_FEATURE_L1DCACHE_LINESIZE_BYTE) +#endif +/*! Macro to define a variable with L2 cache line size alignment */ +#if defined(FSL_FEATURE_L2CACHE_LINESIZE_BYTE) +#define SDK_L2CACHE_ALIGN(var) SDK_ALIGN(var, FSL_FEATURE_L2CACHE_LINESIZE_BYTE) +#endif + +/*! Macro to change a value to a given size aligned value */ +#define SDK_SIZEALIGN(var, alignbytes) \ + ((unsigned int)((var) + ((alignbytes)-1U)) & (unsigned int)(~(unsigned int)((alignbytes)-1U))) +/*! @} */ + +/*! + * @name Non-cacheable region definition macros + * + * For initialized non-zero non-cacheable variables, please use "AT_NONCACHEABLE_SECTION_INIT(var) ={xx};" or + * "AT_NONCACHEABLE_SECTION_ALIGN_INIT(var) ={xx};" in your projects to define them. For zero-inited non-cacheable + * variables, please use "AT_NONCACHEABLE_SECTION(var);" or "AT_NONCACHEABLE_SECTION_ALIGN(var);" to define them, + * these zero-inited variables will be initialized to zero in system startup. + * + * @note For GCC, when the non-cacheable section is required, please define "__STARTUP_INITIALIZE_NONCACHEDATA" + * in your projects to make sure the non-cacheable section variables will be initialized in system startup. + * + * @{ + */ + +/*! + * @def AT_NONCACHEABLE_SECTION(var) + * Define a variable \a var, and place it in non-cacheable section. + * + * @def AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) + * Define a variable \a var, and place it in non-cacheable section, the start address + * of the variable is aligned to \a alignbytes. + * + * @def AT_NONCACHEABLE_SECTION_INIT(var) + * Define a variable \a var with initial value, and place it in non-cacheable section. + * + * @def AT_NONCACHEABLE_SECTION_ALIGN_INIT(var, alignbytes) + * Define a variable \a var with initial value, and place it in non-cacheable section, + * the start address of the variable is aligned to \a alignbytes. + */ + +#if ((!(defined(FSL_FEATURE_HAS_NO_NONCACHEABLE_SECTION) && FSL_FEATURE_HAS_NO_NONCACHEABLE_SECTION)) && \ + defined(FSL_FEATURE_L1ICACHE_LINESIZE_BYTE)) + +#if (defined(__ICCARM__)) +#define AT_NONCACHEABLE_SECTION(var) var @"NonCacheable" +#define AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) SDK_PRAGMA(data_alignment = alignbytes) var @"NonCacheable" +#define AT_NONCACHEABLE_SECTION_INIT(var) var @"NonCacheable.init" +#define AT_NONCACHEABLE_SECTION_ALIGN_INIT(var, alignbytes) \ + SDK_PRAGMA(data_alignment = alignbytes) var @"NonCacheable.init" + +#elif (defined(__CC_ARM) || defined(__ARMCC_VERSION)) +#define AT_NONCACHEABLE_SECTION_INIT(var) __attribute__((section("NonCacheable.init"))) var +#define AT_NONCACHEABLE_SECTION_ALIGN_INIT(var, alignbytes) \ + __attribute__((section("NonCacheable.init"))) __attribute__((aligned(alignbytes))) var +#if (defined(__CC_ARM)) +#define AT_NONCACHEABLE_SECTION(var) __attribute__((section("NonCacheable"), zero_init)) var +#define AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) \ + __attribute__((section("NonCacheable"), zero_init)) __attribute__((aligned(alignbytes))) var +#else +#define AT_NONCACHEABLE_SECTION(var) __attribute__((section(".bss.NonCacheable"))) var +#define AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) \ + __attribute__((section(".bss.NonCacheable"))) __attribute__((aligned(alignbytes))) var +#endif + +#elif (defined(__GNUC__)) || defined(DOXYGEN_OUTPUT) +#if defined(__ARM_ARCH_8A__) /* This macro is ARMv8-A specific */ +#define MCUX_CS "//" +#else +#define MCUX_CS "@" +#endif + +/* For GCC, when the non-cacheable section is required, please define "__STARTUP_INITIALIZE_NONCACHEDATA" + * in your projects to make sure the non-cacheable section variables will be initialized in system startup. + */ +#define AT_NONCACHEABLE_SECTION_INIT(var) __attribute__((section("NonCacheable.init"))) var +#define AT_NONCACHEABLE_SECTION_ALIGN_INIT(var, alignbytes) \ + __attribute__((section("NonCacheable.init"))) var __attribute__((aligned(alignbytes))) +#define AT_NONCACHEABLE_SECTION(var) __attribute__((section("NonCacheable,\"aw\",%nobits " MCUX_CS))) var +#define AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) \ + __attribute__((section("NonCacheable,\"aw\",%nobits " MCUX_CS))) var __attribute__((aligned(alignbytes))) +#else +#error Toolchain not supported. +#endif + +#else + +#define AT_NONCACHEABLE_SECTION(var) var +#define AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) SDK_ALIGN(var, alignbytes) +#define AT_NONCACHEABLE_SECTION_INIT(var) var +#define AT_NONCACHEABLE_SECTION_ALIGN_INIT(var, alignbytes) SDK_ALIGN(var, alignbytes) + +#endif + +/*! @} */ + +/*! + * @name Cache line region definition macros + * + * For initialized non-zero cache line variables, please use "AT_CACHE_LINE_SECTION_INIT(var) ={xx};" + * For zero-inited cache line variables, please use "AT_CACHE_LINE_SECTION(var);" + * + * @note This section is applicable to cached memory only, say external sdram, cached ocram, etc. + * Please avoid to use this section for none-cached memory, say TCM. + * So only those targets, which utilize the cached memory, say flexspi_nor_sdram_debug, support + * this kind of section. + * @{ + */ + +/*! + * @def AT_CACHE_LINE_SECTION(var) + * Define a variable \a var, which is cache line size aligned and be placed in CacheLineData section. + * + * @def AT_CACHE_LINE_SECTION_INIT(var) + * Define a variable \a var with initial value, which is cache line size aligned and be placed in CacheLineData.init section. + */ + +#if defined(FSL_FEATURE_L1DCACHE_LINESIZE_BYTE) +#define CACHE_LINE_DATA SDK_L1DCACHE_ALIGN +#elif defined(FSL_FEATURE_L2CACHE_LINESIZE_BYTE) +#define CACHE_LINE_DATA SDK_L2CACHE_ALIGN +#endif + +#if (defined(__ICCARM__)) +#define AT_CACHE_LINE_SECTION(var) CACHE_LINE_DATA(var) @"CacheLineData" +#define AT_CACHE_LINE_SECTION_INIT(var) CACHE_LINE_DATA(var) @"CacheLineData.init" + +#elif (defined(__CC_ARM) || defined(__ARMCC_VERSION)) +#if (defined(__CC_ARM)) +#define AT_CACHE_LINE_SECTION(var) __attribute__((section("CacheLineData"), zero_init)) CACHE_LINE_DATA(var) +#else +#define AT_CACHE_LINE_SECTION(var) __attribute__((section("CacheLineData"))) CACHE_LINE_DATA(var) +#endif +#define AT_CACHE_LINE_SECTION_INIT(var) __attribute__((section("CacheLineData.init"))) CACHE_LINE_DATA(var) + +#elif (defined(__GNUC__)) || defined(DOXYGEN_OUTPUT) +#define AT_CACHE_LINE_SECTION(var) __attribute__((section("CacheLineData,\"aw\",%nobits @"))) CACHE_LINE_DATA(var) +#define AT_CACHE_LINE_SECTION_INIT(var) __attribute__((section("CacheLineData.init"))) CACHE_LINE_DATA(var) + +#else +#error Toolchain not supported. +#endif + +/*! @} */ + +/*! + * @name Time sensitive region + * @{ + */ + +/*! + * @def AT_QUICKACCESS_SECTION_CODE(func) + * Place function in a section which can be accessed quickly by core. + * + * @def AT_QUICKACCESS_SECTION_DATA(var) + * Place data in a section which can be accessed quickly by core. + * + * @def AT_QUICKACCESS_SECTION_DATA_ALIGN(var, alignbytes) + * Place data in a section which can be accessed quickly by core, and the variable + * address is set to align with \a alignbytes. + */ +#if (defined(__ICCARM__)) +#define AT_QUICKACCESS_SECTION_CODE(func) func @"CodeQuickAccess" +#define AT_QUICKACCESS_SECTION_DATA(var) var @"DataQuickAccess" +#define AT_QUICKACCESS_SECTION_DATA_ALIGN(var, alignbytes) \ + SDK_PRAGMA(data_alignment = alignbytes) var @"DataQuickAccess" +#elif (defined(__CC_ARM) || defined(__ARMCC_VERSION)) +#define AT_QUICKACCESS_SECTION_CODE(func) __attribute__((section("CodeQuickAccess"), __noinline__)) func +#define AT_QUICKACCESS_SECTION_DATA(var) __attribute__((section("DataQuickAccess"))) var +#define AT_QUICKACCESS_SECTION_DATA_ALIGN(var, alignbytes) \ + __attribute__((section("DataQuickAccess"))) __attribute__((aligned(alignbytes))) var +#elif (defined(__GNUC__)) || defined(DOXYGEN_OUTPUT) +#define AT_QUICKACCESS_SECTION_CODE(func) __attribute__((section("CodeQuickAccess"), __noinline__)) func +#define AT_QUICKACCESS_SECTION_DATA(var) __attribute__((section("DataQuickAccess"))) var +#define AT_QUICKACCESS_SECTION_DATA_ALIGN(var, alignbytes) \ + __attribute__((section("DataQuickAccess"))) var __attribute__((aligned(alignbytes))) +#else +#error Toolchain not supported. +#endif /* defined(__ICCARM__) */ +/*! @} */ + +/*! + * @name Ram Function + * @{ + * + * @def RAMFUNCTION_SECTION_CODE(func) + * Place function in ram. + */ +#if (defined(__ICCARM__)) +#define RAMFUNCTION_SECTION_CODE(func) func @"RamFunction" +#elif (defined(__CC_ARM) || defined(__ARMCC_VERSION)) +#define RAMFUNCTION_SECTION_CODE(func) __attribute__((section("RamFunction"))) func +#elif (defined(__GNUC__)) || defined(DOXYGEN_OUTPUT) +#define RAMFUNCTION_SECTION_CODE(func) __attribute__((section("RamFunction"))) func +#else +#error Toolchain not supported. +#endif /* defined(__ICCARM__) */ +/*! @} */ + +/*! + * @def MSDK_REG_SECURE_ADDR(x) + * Convert the register address to the one used in secure mode. + * + * @def MSDK_REG_NONSECURE_ADDR(x) + * Convert the register address to the one used in non-secure mode. + */ + +#if (defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE & 0x2)) +#define MSDK_REG_SECURE_ADDR(x) ((uintptr_t)(x) | (0x1UL << 28)) +#define MSDK_REG_NONSECURE_ADDR(x) ((uintptr_t)(x) & ~(0x1UL << 28)) +#else +#define MSDK_REG_SECURE_ADDR(x) (x) +#define MSDK_REG_NONSECURE_ADDR(x) (x) +#endif + +/*! + * @brief Invalid IRQ handler address. + */ +#define MSDK_INVALID_IRQ_HANDLER UINT32_MAX + +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + void DefaultISR(void); +#endif + +/* + * The fsl_clock.h is included here because it needs MAKE_VERSION/MAKE_STATUS/status_t + * defined in previous of this file. + */ +#include "fsl_clock.h" + +/* + * Chip level peripheral reset API, for MCUs that implement peripheral reset control external to a peripheral + */ +#if ((defined(FSL_FEATURE_SOC_SYSCON_COUNT) && (FSL_FEATURE_SOC_SYSCON_COUNT > 0)) || \ + (defined(FSL_FEATURE_SOC_ASYNC_SYSCON_COUNT) && (FSL_FEATURE_SOC_ASYNC_SYSCON_COUNT > 0))) +#include "fsl_reset.h" +#endif + +#if defined(FSL_FEATURE_IRQSTEER_EXT_INT_MAX_NUM) && (FSL_FEATURE_IRQSTEER_EXT_INT_MAX_NUM > 0) && defined(FSL_FEATURE_IRQSTEER_IRQ_START_INDEX) && (FSL_FEATURE_IRQSTEER_IRQ_START_INDEX > 0) +void IRQSTEER_EnableInterrupt(int32_t instIdx, IRQn_Type irq); +void IRQSTEER_DisableInterrupt(int32_t instIdx, IRQn_Type irq); +#endif + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif /* __cplusplus*/ + +/*! + * @brief Enable specific interrupt. + * + * Enable LEVEL1 interrupt. For some devices, there might be multiple interrupt + * levels. For example, there are NVIC and intmux. Here the interrupts connected + * to NVIC are the LEVEL1 interrupts, because they are routed to the core directly. + * The interrupts connected to intmux are the LEVEL2 interrupts, they are routed + * to NVIC first then routed to core. + * + * This function only enables the LEVEL1 interrupts. The number of LEVEL1 interrupts + * is indicated by the feature macro FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS. + * + * @param interrupt The IRQ number. + * @retval kStatus_Success Interrupt enabled successfully + * @retval kStatus_Fail Failed to enable the interrupt + */ +static inline status_t EnableIRQ(IRQn_Type interrupt) +{ + status_t status = kStatus_Success; + + if (NotAvail_IRQn == interrupt) + { + status = kStatus_Fail; + } + +#if defined(FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) && (FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS > 0) + else if ((int32_t)interrupt >= (int32_t)FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) + { +#if defined(FSL_FEATURE_IRQSTEER_EXT_INT_MAX_NUM) && (FSL_FEATURE_IRQSTEER_EXT_INT_MAX_NUM > 0) && defined(FSL_FEATURE_IRQSTEER_IRQ_START_INDEX) && (FSL_FEATURE_IRQSTEER_IRQ_START_INDEX > 0) + int32_t irqsteerInstIdx = (int32_t)((interrupt + 1 - FSL_FEATURE_IRQSTEER_IRQ_START_INDEX) / FSL_FEATURE_IRQSTEER_EXT_INT_MAX_NUM); + + IRQSTEER_EnableInterrupt(irqsteerInstIdx, interrupt); +#else + status = kStatus_Fail; +#endif + } +#endif + + else + { +#if defined(__GIC_PRIO_BITS) + GIC_EnableIRQ(interrupt); +#else + NVIC_EnableIRQ(interrupt); +#endif + } + + return status; +} + +/*! + * @brief Disable specific interrupt. + * + * Disable LEVEL1 interrupt. For some devices, there might be multiple interrupt + * levels. For example, there are NVIC and intmux. Here the interrupts connected + * to NVIC are the LEVEL1 interrupts, because they are routed to the core directly. + * The interrupts connected to intmux are the LEVEL2 interrupts, they are routed + * to NVIC first then routed to core. + * + * This function only disables the LEVEL1 interrupts. The number of LEVEL1 interrupts + * is indicated by the feature macro FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS. + * + * @param interrupt The IRQ number. + * @retval kStatus_Success Interrupt disabled successfully + * @retval kStatus_Fail Failed to disable the interrupt + */ +static inline status_t DisableIRQ(IRQn_Type interrupt) +{ + status_t status = kStatus_Success; + + if (NotAvail_IRQn == interrupt) + { + status = kStatus_Fail; + } + +#if defined(FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) && (FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS > 0) + else if ((int32_t)interrupt >= (int32_t)FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) + { +#if defined(FSL_FEATURE_IRQSTEER_EXT_INT_MAX_NUM) && (FSL_FEATURE_IRQSTEER_EXT_INT_MAX_NUM > 0) && defined(FSL_FEATURE_IRQSTEER_IRQ_START_INDEX) && (FSL_FEATURE_IRQSTEER_IRQ_START_INDEX > 0) + int32_t irqsteerInstIdx = (int32_t)((interrupt - FSL_FEATURE_IRQSTEER_IRQ_START_INDEX) / FSL_FEATURE_IRQSTEER_EXT_INT_MAX_NUM); + + IRQSTEER_DisableInterrupt(irqsteerInstIdx, interrupt); +#else + status = kStatus_Fail; +#endif + } +#endif + + else + { +#if defined(__GIC_PRIO_BITS) + GIC_DisableIRQ(interrupt); +#else + NVIC_DisableIRQ(interrupt); +#endif + } + + return status; +} + +/*! + * @brief Enable the IRQ, and also set the interrupt priority. + * + * Only handle LEVEL1 interrupt. For some devices, there might be multiple interrupt + * levels. For example, there are NVIC and intmux. Here the interrupts connected + * to NVIC are the LEVEL1 interrupts, because they are routed to the core directly. + * The interrupts connected to intmux are the LEVEL2 interrupts, they are routed + * to NVIC first then routed to core. + * + * This function only handles the LEVEL1 interrupts. The number of LEVEL1 interrupts + * is indicated by the feature macro FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS. + * + * @param interrupt The IRQ to Enable. + * @param priNum Priority number set to interrupt controller register. + * @retval kStatus_Success Interrupt priority set successfully + * @retval kStatus_Fail Failed to set the interrupt priority. + */ +static inline status_t EnableIRQWithPriority(IRQn_Type interrupt, uint8_t priNum) +{ + status_t status = kStatus_Success; + + if (NotAvail_IRQn == interrupt) + { + status = kStatus_Fail; + } + +#if defined(FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) && (FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS > 0) + else if ((int32_t)interrupt >= (int32_t)FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) + { + status = kStatus_Fail; + } +#endif + + else + { +#if defined(__GIC_PRIO_BITS) + GIC_SetPriority(interrupt, priNum); + GIC_EnableIRQ(interrupt); +#else + NVIC_SetPriority(interrupt, priNum); + NVIC_EnableIRQ(interrupt); +#endif + } + + return status; +} + +/*! + * @brief Set the IRQ priority. + * + * Only handle LEVEL1 interrupt. For some devices, there might be multiple interrupt + * levels. For example, there are NVIC and intmux. Here the interrupts connected + * to NVIC are the LEVEL1 interrupts, because they are routed to the core directly. + * The interrupts connected to intmux are the LEVEL2 interrupts, they are routed + * to NVIC first then routed to core. + * + * This function only handles the LEVEL1 interrupts. The number of LEVEL1 interrupts + * is indicated by the feature macro FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS. + * + * @param interrupt The IRQ to set. + * @param priNum Priority number set to interrupt controller register. + * + * @retval kStatus_Success Interrupt priority set successfully + * @retval kStatus_Fail Failed to set the interrupt priority. + */ +static inline status_t IRQ_SetPriority(IRQn_Type interrupt, uint8_t priNum) +{ + status_t status = kStatus_Success; + + if (NotAvail_IRQn == interrupt) + { + status = kStatus_Fail; + } + +#if defined(FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) && (FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS > 0) + else if ((int32_t)interrupt >= (int32_t)FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) + { + status = kStatus_Fail; + } +#endif + + else + { +#if defined(__GIC_PRIO_BITS) + GIC_SetPriority(interrupt, priNum); +#else + NVIC_SetPriority(interrupt, priNum); +#endif + } + + return status; +} + +/*! + * @brief Clear the pending IRQ flag. + * + * Only handle LEVEL1 interrupt. For some devices, there might be multiple interrupt + * levels. For example, there are NVIC and intmux. Here the interrupts connected + * to NVIC are the LEVEL1 interrupts, because they are routed to the core directly. + * The interrupts connected to intmux are the LEVEL2 interrupts, they are routed + * to NVIC first then routed to core. + * + * This function only handles the LEVEL1 interrupts. The number of LEVEL1 interrupts + * is indicated by the feature macro FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS. + * + * @param interrupt The flag which IRQ to clear. + * + * @retval kStatus_Success Interrupt priority set successfully + * @retval kStatus_Fail Failed to set the interrupt priority. + */ +static inline status_t IRQ_ClearPendingIRQ(IRQn_Type interrupt) +{ + status_t status = kStatus_Success; + + if (NotAvail_IRQn == interrupt) + { + status = kStatus_Fail; + } + +#if defined(FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) && (FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS > 0) + else if ((int32_t)interrupt >= (int32_t)FSL_FEATURE_NUMBER_OF_LEVEL1_INT_VECTORS) + { + status = kStatus_Fail; + } +#endif + + else + { +#if defined(__GIC_PRIO_BITS) + GIC_ClearPendingIRQ(interrupt); +#else + NVIC_ClearPendingIRQ(interrupt); +#endif + } + + return status; +} + +/*! + * @brief Disable the global IRQ + * + * Disable the global interrupt and return the current primask register. User is required to provided the primask + * register for the EnableGlobalIRQ(). + * + * @return Current primask value. + */ +static inline uint32_t DisableGlobalIRQ(void) +{ + uint32_t mask; + +#if defined(CPSR_I_Msk) + mask = __get_CPSR() & CPSR_I_Msk; +#elif defined(DAIF_I_BIT) + mask = __get_DAIF() & DAIF_I_BIT; +#else + mask = __get_PRIMASK(); +#endif + __disable_irq(); + + return mask; +} + +/*! + * @brief Enable the global IRQ + * + * Set the primask register with the provided primask value but not just enable the primask. The idea is for the + * convenience of integration of RTOS. some RTOS get its own management mechanism of primask. User is required to + * use the EnableGlobalIRQ() and DisableGlobalIRQ() in pair. + * + * @param primask value of primask register to be restored. The primask value is supposed to be provided by the + * DisableGlobalIRQ(). + */ +static inline void EnableGlobalIRQ(uint32_t primask) +{ +#if defined(CPSR_I_Msk) + __set_CPSR((__get_CPSR() & ~CPSR_I_Msk) | primask); +#elif defined(DAIF_I_BIT) + if (0UL == primask) + { + __enable_irq(); + } +#else + __set_PRIMASK(primask); +#endif +} + +#if defined(ENABLE_RAM_VECTOR_TABLE) +/*! + * @brief install IRQ handler + * + * @param irq IRQ number + * @param irqHandler IRQ handler address + * @return The old IRQ handler address, if the input @p irq is invalid, then + * return value is @ref MSDK_INVALID_IRQ_HANDLER. + */ +uint32_t InstallIRQHandler(IRQn_Type irq, uint32_t irqHandler); +#endif /* ENABLE_RAM_VECTOR_TABLE. */ + +#if (defined(FSL_FEATURE_SOC_SYSCON_COUNT) && (FSL_FEATURE_SOC_SYSCON_COUNT > 0)) + +/* + * When FSL_FEATURE_POWERLIB_EXTEND is defined to non-zero value, + * powerlib should be used instead of these functions. + */ +#if !(defined(FSL_FEATURE_POWERLIB_EXTEND) && (FSL_FEATURE_POWERLIB_EXTEND != 0)) +/*! + * @brief Enable specific interrupt for wake-up from deep-sleep mode. + * + * Enable the interrupt for wake-up from deep sleep mode. + * Some interrupts are typically used in sleep mode only and will not occur during + * deep-sleep mode because relevant clocks are stopped. However, it is possible to enable + * those clocks (significantly increasing power consumption in the reduced power mode), + * making these wake-ups possible. + * + * @note This function also enables the interrupt in the NVIC (EnableIRQ() is called internaly). + * + * @param interrupt The IRQ number. + */ +void EnableDeepSleepIRQ(IRQn_Type interrupt); + +/*! + * @brief Disable specific interrupt for wake-up from deep-sleep mode. + * + * Disable the interrupt for wake-up from deep sleep mode. + * Some interrupts are typically used in sleep mode only and will not occur during + * deep-sleep mode because relevant clocks are stopped. However, it is possible to enable + * those clocks (significantly increasing power consumption in the reduced power mode), + * making these wake-ups possible. + * + * @note This function also disables the interrupt in the NVIC (DisableIRQ() is called internaly). + * + * @param interrupt The IRQ number. + */ +void DisableDeepSleepIRQ(IRQn_Type interrupt); +#endif /* FSL_FEATURE_POWERLIB_EXTEND */ +#endif /* FSL_FEATURE_SOC_SYSCON_COUNT */ + +#if defined(DWT) +/*! + * @brief Enable the counter to get CPU cycles. + */ +void MSDK_EnableCpuCycleCounter(void); + +/*! + * @brief Get the current CPU cycle count. + * + * @return Current CPU cycle count. + */ +uint32_t MSDK_GetCpuCycleCount(void); +#endif + +#if defined(FSL_FEATURE_MEASURE_CRITICAL_SECTION) && (FSL_FEATURE_MEASURE_CRITICAL_SECTION != 0) +typedef uint32_t (*getTimestamp_t)(void); /*!< Function to get the current time stamp. */ + +/*! + * @rief Initialize the context of the critical section measurement and assign + * the function to get the current timestamp. + * + * @param getTimestamp The function to get the current timestamp. + */ +void InitCriticalSectionMeasurementContext(getTimestamp_t func); + +/*! + * @brief Disable the global IRQ with critical section ID + * + * Extended function of DisableGlobalIRQ. Apart from the standard operation, also check + * the id of the protected critical section and mark the begining for timer. + * User is required to provided the primask register for the EnableGlobalIRQEx. + * + * @param id The id for critical section. + * @return Current primask value. + */ +uint32_t DisableGlobalIRQEx(uint32_t id); + +/*! + * @brief Enable the global IRQ and calculate the execution time of critical section + * + * Extended function of EnableGlobalIRQ. Apart from the standard operation, also + * marks the exit of the critical section and calculate the execution time for the section. + * User is required to use the DisableGlobalIRQEx and EnableGlobalIRQEx in pair. + * + * @param primask value of primask register to be restored. The primask value is supposed to be provided by the + * DisableGlobalIRQEx(). + */ +void EnableGlobalIRQEx(uint32_t primask); +#endif + + +/* clang-format off */ +#if ((defined(__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ + (defined(__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ + (defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ + (defined(__ARM_ARCH_8M_BASE__) && (__ARM_ARCH_8M_BASE__ == 1))) +/* clang-format on */ +static inline bool _SDK_AtomicLocalCompareAndSet1Byte(volatile uint8_t *addr, uint8_t expected, uint8_t newValue) +{ + uint8_t s_actual; + + do + { + s_actual = __LDREXB(addr); + if (s_actual != expected) + { + __CLREX(); + return false; + } + } while (__STREXB((newValue), (addr))); + + return true; +} + +static inline bool _SDK_AtomicLocalCompareAndSet2Byte(volatile uint16_t *addr, uint16_t expected, uint16_t newValue) +{ + uint16_t s_actual; + + do + { + s_actual = __LDREXH(addr); + if (s_actual != expected) + { + __CLREX(); + return false; + } + } while (__STREXH((newValue), (addr))); + + return true; +} + +static inline bool _SDK_AtomicLocalCompareAndSet4Byte(volatile uint32_t *addr, uint32_t expected, uint32_t newValue) +{ + uint32_t s_actual; + + do + { + s_actual = __LDREXW(addr); + if (s_actual != expected) + { + __CLREX(); + return false; + } + } while (__STREXW((newValue), (addr))); + + return true; +} + +static inline uint8_t _SDK_AtomicLocalTestAndSet1Byte(volatile uint8_t *addr, uint8_t newValue) +{ + uint8_t s_old; + + do + { + s_old = __LDREXB(addr); + } while (__STREXB((newValue), (addr))); + + return s_old; +} + +static inline uint16_t _SDK_AtomicLocalTestAndSet2Byte(volatile uint16_t *addr, uint16_t newValue) +{ + uint16_t s_old; + + do + { + s_old = __LDREXH(addr); + } while (__STREXH((newValue), (addr))); + + return s_old; +} + +static inline uint32_t _SDK_AtomicLocalTestAndSet4Byte(volatile uint32_t *addr, uint32_t newValue) +{ + uint32_t s_old; + + do + { + s_old = __LDREXW(addr); + } while (__STREXW((newValue), (addr))); + + return s_old; +} + +#else +static inline bool _SDK_AtomicLocalCompareAndSet(uint32_t *addr, uint32_t expected, uint32_t newValue) +{ + uint32_t s_atomicOldInt; + uint32_t s_actual; + + s_atomicOldInt = DisableGlobalIRQ(); + + s_actual = *addr; + if (s_actual == expected) + { + *addr = newValue; + EnableGlobalIRQ(s_atomicOldInt); + return true; + } + else + { + EnableGlobalIRQ(s_atomicOldInt); + return false; + } +} + +static inline uint32_t _SDK_AtomicTestAndSet(uint32_t *addr, uint32_t newValue) +{ + uint32_t s_atomicOldInt = DisableGlobalIRQ(); + + uint32_t oldValue = (uint32_t)(*addr); + *addr = newValue; + + EnableGlobalIRQ(s_atomicOldInt); + return oldValue; +} + +#endif + +#if defined(__cplusplus) +} +#endif /* __cplusplus*/ + +/*! @} */ + +#endif /* FSL_COMMON_ARM_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsc.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsc.c new file mode 100644 index 00000000000..19919494737 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsc.c @@ -0,0 +1,476 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2025 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_common.h" + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.common_dsc" +#endif + +#define COMMON_INTC_TYPE_REG_INDEX(x) (((uint8_t)(x)) >> 3U) +#define COMMON_INTC_TYPE_BIT_INDEX(x) ((((uint8_t)(x)) & 0x7U) << 1U) + +/******************************************************************************* + * Variables + ******************************************************************************/ +/*! @brief Interrupt priority table. */ +static uint16_t s_intPrioTable[(NUMBER_OF_INT_IRQ - 1U) / 8U + 1U] = {0U}; + +/******************************************************************************* + * Code + ******************************************************************************/ + +status_t EnableIRQWithPriority(IRQn_Type irq, uint8_t priNum) +{ + uint8_t regIndex; + uint8_t bitIndex; + uint16_t prioMask; + uint16_t reg; + uint16_t intcCtrl; + + regIndex = COMMON_INTC_TYPE_REG_INDEX(irq); + bitIndex = COMMON_INTC_TYPE_BIT_INDEX(irq); + prioMask = ((uint16_t)3U << bitIndex); + /* Valid priority number is 0-3 */ + priNum = priNum & 0x03U; + + if (0U == priNum) + { + priNum = SDK_DSC_DEFAULT_INT_PRIO; + } + + /* Disable global interrupt for atomic change. */ + intcCtrl = INTC->CTRL; + INTC->CTRL = intcCtrl | INTC_CTRL_INT_DIS_MASK; + + /* Save the priority in s_intPrioTable */ + reg = s_intPrioTable[regIndex]; + reg = (reg & ~prioMask) | (priNum << bitIndex); + + s_intPrioTable[regIndex] = reg; + + /* Set new priority in interrupt controller register. */ + reg = ((volatile uint16_t *)&(INTC->IPR0))[regIndex]; + reg = (reg & ~prioMask) | (priNum << bitIndex); + + ((volatile uint16_t *)&(INTC->IPR0))[regIndex] = reg; + + INTC->CTRL = intcCtrl; + + return kStatus_Success; +} + +status_t DisableIRQ(IRQn_Type irq) +{ + uint8_t regIndex; + uint8_t bitIndex; + uint16_t reg; + uint16_t intcCtrl; + + regIndex = COMMON_INTC_TYPE_REG_INDEX(irq); + bitIndex = COMMON_INTC_TYPE_BIT_INDEX(irq); + + /* Disable global interrupt for atomic change. */ + intcCtrl = INTC->CTRL; + INTC->CTRL = intcCtrl | INTC_CTRL_INT_DIS_MASK; + + reg = ((volatile uint16_t *)&(INTC->IPR0))[regIndex]; + reg = reg & (~((uint16_t)3U << bitIndex)); + + ((volatile uint16_t *)&(INTC->IPR0))[regIndex] = reg; + + INTC->CTRL = intcCtrl; + + return kStatus_Success; +} + +status_t EnableIRQ(IRQn_Type irq) +{ + uint8_t regIndex; + uint8_t bitIndex; + uint16_t prioMask; + uint16_t reg; + uint16_t intcCtrl; + + regIndex = COMMON_INTC_TYPE_REG_INDEX(irq); + bitIndex = COMMON_INTC_TYPE_BIT_INDEX(irq); + prioMask = ((uint16_t)3U << bitIndex); + + /* Disable global interrupt for atomic change. */ + intcCtrl = INTC->CTRL; + INTC->CTRL = intcCtrl | INTC_CTRL_INT_DIS_MASK; + + /* If priority in s_intPrioTable is 0, use SDK_DSC_DEFAULT_INT_PRIO. */ + if (0U == (s_intPrioTable[regIndex] & prioMask)) + { + s_intPrioTable[regIndex] = (s_intPrioTable[regIndex] & ~prioMask) | (SDK_DSC_DEFAULT_INT_PRIO << bitIndex); + } + + /* Set the interrupt priority with the priority in s_intPrioTable. */ + reg = ((volatile uint16_t *)&(INTC->IPR0))[regIndex]; + reg = (reg & ~prioMask) | (s_intPrioTable[regIndex] & prioMask); + + ((volatile uint16_t *)&(INTC->IPR0))[regIndex] = reg; + + INTC->CTRL = intcCtrl; + + return kStatus_Success; +} + +/* + * brief Set the IRQ priority. + * + * note The parameter priNum is range in 1~3, and its value is **NOT** + * directly map to interrupt priority. + * + * - Some IPs maps 1 to priority 1, 2 to priority 2, 3 to priority 3 + * - Some IPs maps 1 to priority 0, 2 to priority 1, 3 to priority 2 + * + * User should check chip's RM to get its corresponding interrupt priority + */ +status_t IRQ_SetPriority(IRQn_Type irq, uint8_t priNum) +{ + /* + * If the interrupt is already enabled, the new priority will be set + * to the register. If interrupt is not enabled, the new priority is + * only saved in priority table s_intPrioTable, when interrupt enabled, + * the priority value is set to register. + */ + uint8_t regIndex; + uint8_t bitIndex; + uint16_t prioMask; + uint16_t reg; + uint16_t intcCtrl; + + regIndex = COMMON_INTC_TYPE_REG_INDEX(irq); + bitIndex = COMMON_INTC_TYPE_BIT_INDEX(irq); + prioMask = ((uint16_t)3U << bitIndex); + + /* Valid priority number is 0-3 */ + priNum = priNum & 0x03U; + + if (0U == priNum) + { + priNum = SDK_DSC_DEFAULT_INT_PRIO; + } + + /* Disable global interrupt for atomic change. */ + intcCtrl = INTC->CTRL; + INTC->CTRL = intcCtrl | INTC_CTRL_INT_DIS_MASK; + + /* Save the priority in s_intPrioTable */ + reg = s_intPrioTable[regIndex]; + reg = (reg & ~prioMask) | (priNum << bitIndex); + + s_intPrioTable[regIndex] = reg; + + /* + * If interrupt already enabled, set new priority + * in interrupt controller register. + */ + reg = ((volatile uint16_t *)&(INTC->IPR0))[regIndex]; + + if (0U != (reg & prioMask)) + { + reg = (reg & (~prioMask)) | (priNum << bitIndex); + + ((volatile uint16_t *)&(INTC->IPR0))[regIndex] = reg; + } + + INTC->CTRL = intcCtrl; + + return kStatus_Success; +} + +/*! + * brief Delay core cycles. + * Please note that, this API uses software loop for delay, the actual delayed + * time depends on core clock frequency, where the function is located (ram or flash), + * flash clock, possible interrupt. + * + * param u32Num Number of core clock cycle which needs to be delayed. + */ +void SDK_DelayCoreCycles(uint32_t u32Num) +{ + /* + * if(u32Num < 22) + * { + * ActualDelayCycle = 21; + * } + * else + * { + * ActualDelayCycle = 35 + ((u32Num-22)/8) * 8 = 13 + u32Num - ((u32Num-22)%8) + * } + */ + + /* JSR - 4 cycles + * RTS - 8 cycles + */ + + asm { + cmp.l #21,A // 2 cycle + bls ret // 5 cycles when jump occurs. 3 cycles when jump doesn't occur + nop // 1 cycle + nop // 1 cycle + sub.l #22, A // 2 cycle + asrr.l #3, A // 2 cycle + bra test // 5 cycle + + loop: + dec.l A // 1 cycle + + test: + tst.l A // 1 cycle + nop // 1 cycle + bne loop // 5 cycles when jump occurs. 3 cycles when jump doesn't occur + + ret: + nop // 1 cycle + nop // 1 cycle + } +} + +/*! + * brief Delay at least for some time. + * Please note that, this API uses while loop for delay, different run-time environments make the time not precise, + * if precise delay count was needed, please implement a new delay function with hardware timer. + * + * param delayTime_us Delay time in unit of microsecond. + * param coreClock_Hz Core clock frequency with Hz. + */ +void SDK_DelayAtLeastUs(uint32_t delayTime_us, uint32_t coreClock_Hz) +{ + while(delayTime_us > 0) + { + uint32_t us, count; + + /* USEC_TO_COUNT(fixed-point) supports maximum 4294us, use 4000UL here */ + if(delayTime_us > 4000UL) + { + us = 4000UL; + } + else + { + us = delayTime_us; + } + delayTime_us -= us; + + count = USEC_TO_COUNT(us, coreClock_Hz); + SDK_DelayCoreCycles(count); + } +} + +/*! + * brief Covert us to count with fixed-point calculation. + * + * note u32Us must not be greater than 4294 + * + * param u32Us Time in us + * param u32Hz Clock frequency in Hz + * return The count value + */ +uint32_t SDK_CovertUsToCount(uint32_t u32Us, uint32_t u32Hz) +{ + /* + * Hz * us / 1000000UL = (Hz / 1000000UL) * us + * = (i + r/1000000UL) * us + * = i * us + r * us / 1000000UL + */ + + assert(u32Us <= 4294UL); + assert(u32Hz != 0U); + + uint32_t i, r; + + i = u32Hz / 1000000UL; + r = u32Hz - i * 1000000UL; + + return i * u32Us + (r * u32Us / 1000000UL); +} + +/*! + * brief Covert count to us with fixed-point calculation. + * + * note u32Hz must not be greater than 429496729UL(0xFFFFFFFFUL/10UL) + * + * param u32Count Count value + * param u32Hz Clock frequency in Hz + * return The us value + */ +uint32_t SDK_CovertCountToUs(uint32_t u32Count, uint32_t u32Hz) +{ + /* + * count * 1000000UL / hz + * + * i1 = count / hz + * r1 = count - i1 * hz + * sum = i1 * 1000000UL + * + * count = r1 * 10UL + * i2 = count / hz + * r2 = count - i2 * hz + * sum += i2 * 100000UL + * + * count = r2 * 10UL + * i3 = count / hz + * r3 = count - i3 * hz + * sum += i3 * 10000UL; + * + * count = r3 * 10UL + * i4 = count / hz + * r4 = count - i4 * hz + * sum += i4 * 1000UL; + * + * count = r4 * 10UL + * i5 = count / hz + * r5 = count - i5 * hz + * sum += i5 * 100UL; + * + * count = r5 * 10UL + * i6 = count / hz + * r6 = count - i6 * hz + * sum += i6 * 10UL; + * + * count = r6 * 10UL + * i7 = count / hz + * r7 = count - i7 * hz + * sum += i7 * 1UL; + * + */ + assert(u32Hz != 0U); + assert(u32Hz <= 429496729UL); + + uint32_t j; + + uint32_t i, r, sum = 0UL, c = 1UL; + + for (j = 0U; j < 7U; j++) + { + i = u32Count / u32Hz; + r = u32Count - i * u32Hz; + sum += i * 1000000UL / c; + + c *= 10UL; + u32Count = r * 10UL; + } + + return sum; +} + +/*! + * brief Covert ms to count with fixed-point calculation. + * + * note u32Ms must not be greater than 42949UL @ u32Hz = 100M + * + * param u32Ms Time in us + * param u32Hz Clock frequency in Hz + * return The count value + */ +uint32_t SDK_CovertMsToCount(uint32_t u32Ms, uint32_t u32Hz) +{ + /* + * Hz * ms / 1000UL = (Hz / 1000UL) * ms + * = (i + r/1000UL) * ms + * = i * ms + r * ms / 1000UL + */ + + assert(u32Ms <= 42949UL); + assert(u32Hz != 0U); + + uint32_t i, r; + + i = u32Hz / 1000UL; + r = u32Hz - i * 1000UL; + + return i * u32Ms + (r * u32Ms / 1000UL); +} + +/*! + * brief Covert count to ms with fixed-point calculation. + * + * note u32Hz must not be greater than 429496729UL(0xFFFFFFFFUL/10UL) + * + * param u32Count Count value + * param u32Hz Clock frequency in Hz + * return The us value + */ +uint32_t SDK_CovertCountToMs(uint32_t u32Count, uint32_t u32Hz) +{ + /* + * count * 1000UL / hz + * + * i1 = count / hz + * r1 = count - i1 * hz * + * sum = i1 * 1000UL + * + * count = r1 * 10UL + * i2 = count / hz + * r2 = count - i2 * hz + * sum += i2 * 100UL + * + * count = r2 * 10UL + * i3 = count / hz + * r3 = count - i3 * hz + * sum += i3 * 10L; + * + * count = r3 * 10UL + * i4 = count / hz + * r4 = count - i4 * hz + * sum += i4 * 1UL; + * + */ + assert(u32Hz != 0U); + assert(u32Hz <= 429496729UL); + + uint32_t j; + + uint32_t i, r, sum = 0UL, c = 1UL; + + for (j = 0U; j < 4U; j++) + { + i = u32Count / u32Hz; + r = u32Count - i * u32Hz; + sum += i * 1000UL / c; + + c *= 10UL; + u32Count = r * 10UL; + } + + return sum; +} + +/*! + * brief Delay at least for some time in millisecond unit. + * Please note that, this API uses while loop for delay, different run-time environments make the time not precise, + * if precise delay count was needed, please implement a new delay function with hardware timer. + * + * param delayTime_ms Delay time in unit of millisecond. + * param coreClock_Hz Core clock frequency with Hz. + */ +void SDK_DelayAtLeastMs(uint32_t delayTime_ms, uint32_t coreClock_Hz) +{ + while(delayTime_ms > 0) + { + uint32_t ms, count; + + /* MSEC_TO_COUNT(fixed-point) supports maximum 42949ms @ 100MHz, use 1000UL here */ + if(delayTime_ms > 1000UL) + { + ms = 1000UL; + } + else + { + ms = delayTime_ms; + } + delayTime_ms -= ms; + + count = MSEC_TO_COUNT(ms, coreClock_Hz); + SDK_DelayCoreCycles(count); + } +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsc.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsc.h new file mode 100644 index 00000000000..3659d4b23a9 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsc.h @@ -0,0 +1,496 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2025 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FSL_COMMON_DSC_H_ +#define FSL_COMMON_DSC_H_ + +#include "fsl_device_registers.h" +#include "Cpu.h" + +/*! + * @addtogroup ksdk_common + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +#ifndef bool +typedef uint8_t bool; +#define true 1 +#define false 0 +#endif + +/*! @name Timer utilities */ +/*! @{ */ +#if FSL_FEATURE_SOC_HAS_FPU +/*! Macro to convert a microsecond period to raw count value */ +#define USEC_TO_COUNT(us, clockFreqInHz) ((float)clockFreqInHz * ((float))us / 1000000UL) +/*! Macro to convert a raw count value to microsecond */ +#define COUNT_TO_USEC(count, clockFreqInHz) ((float)count * 1000000UL / (float)clockFreqInHz) +/*! Macro to convert a millisecond period to raw count value */ +#define MSEC_TO_COUNT(ms, clockFreqInHz) ((float)clockFreqInHz * ((float))ms / 1000UL) +/*! Macro to convert a raw count value to millisecond */ +#define COUNT_TO_MSEC(count, clockFreqInHz) ((float)count * 1000UL / (float)clockFreqInHz) + +#else +/*! Macro to convert a microsecond period to raw count value */ +/* To avoid overflow, us is maximum to 4294us */ +#define USEC_TO_COUNT(us, clockFreqInHz) SDK_CovertUsToCount(us, clockFreqInHz) +/*! Macro to convert a raw count value to microsecond */ +#define COUNT_TO_USEC(count, clockFreqInHz) SDK_CovertCountToUs(count, clockFreqInHz) +/*! Macro to convert a millisecond period to raw count value */ +/* To avoid overflow, ms is maximum to 42949ms @ clockFreqInHz = 100MHz */ +#define MSEC_TO_COUNT(ms, clockFreqInHz) SDK_CovertMsToCount(ms, clockFreqInHz) +/*! Macro to convert a raw count value to millisecond */ +#define COUNT_TO_MSEC(count, clockFreqInHz) SDK_CovertCountToMs(count, clockFreqInHz) +#endif +/*! @} */ + +#define SDK_ISR_EXIT_BARRIER + +/*! @name Alignment variable definition macros */ +/*! @{ */ +/*! Macro to define a variable with alignbytes alignment */ +#define SDK_ALIGN(var, alignbytes) var __attribute__((aligned(alignbytes))) + +#define AT_NONCACHEABLE_SECTION(var) var +#define AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) var __attribute__((aligned(alignbytes))) +#define AT_NONCACHEABLE_SECTION_INIT(var) var +#define AT_NONCACHEABLE_SECTION_ALIGN_INIT(var, alignbytes) var __attribute__((aligned(alignbytes))) +/*! @} */ + +/*! @brief Default DSC interrupt priority number. */ +#define SDK_DSC_DEFAULT_INT_PRIO 1U + +/*! @brief Set base core IRQ priority, that core will response the interrupt request with priority >= base IRQ priority. + */ +#define SetIRQBasePriority(x) __EI##x() + +/*! + * @brief Read register value. + * + * Example: + * val = PeriphReadReg(OCCS->OSCTL2); + * + * @param reg Register name. + * + * @return The value of register. + */ +#define PeriphReadReg(reg) (reg) + +/*! + * @brief Write data to register. + * + * Example: + * PeriphWriteReg(OCCS->OSCTL2, 0x278U); + * + * @param reg Register name. + * @param data Data wrote to register. + */ +#define PeriphWriteReg(reg, data) (reg) = (data) + +/*! + * @brief Set specified bits in register. + * + * Example: + * PeriphSetBits(OCCS->OSCTL2, 0x12U); + * + * @param reg Register name. + * @param bitMask Bits mask, set bits will be set in the register. + */ +#define PeriphSetBits(reg, bitMask) (reg) |= (bitMask) + +/*! + * @brief Clear specified bits in register. + * + * Example: + * PeriphClearBits(OCCS->OSCTL2, 0x12U); + * + * @param reg Register name. + * @param bitMask Bits mask, set bits will be cleared in the register. + */ +#define PeriphClearBits(reg, bitMask) (reg) &= (~(bitMask)) + +/*! + * @brief Invert specified bits in register. + * + * Example: + * PeriphInvertBits(OCCS->OSCTL2, 0x12U); + * + * @param reg Register name. + * @param bitMask Bits mask, set bits will be inverted in the register. + */ +#define PeriphInvertBits(reg, bitMask) (reg) ^= (bitMask) + +/*! + * @brief Get specified bits in register. + * + * Example: + * val = PeriphGetBits(OCCS->OSCTL2, 0x23U); + * + * @param reg Register name. + * @param bitMask Bits mask, specify the getting bits. + * + * @return The value of specified bits. + */ +#define PeriphGetBits(reg, bitMask) ((reg) & (bitMask)) + +/*! + * @brief Write group of bits to register. + * + * Example: + * PeriphWriteBitGroup(OCCS->DIVBY, OCCS_DIVBY_COD_MASK, OCCS_DIVBY_COD(23U)); + * PeriphWriteBitGroup(OCCS->DIVBY, OCCS_DIVBY_COD_MASK | OCCS_DIVBY_PLLDB_MASK, \ + * OCCS_DIVBY_COD(23U) | OCCS_DIVBY_PLLDB(49U)); + * + * @param reg Register name. + * @param bitMask Bits mask, mask of the group of bits. + * @param bitValue This value will be written into the bit group specified by parameter bitMask. + */ +#define PeriphWriteBitGroup(reg, bitMask, bitValue) (reg) = ((reg) & ~(bitMask)) | ((bitValue) & (bitMask)) + +/*! + * @brief Clear (acknowledge) flags which are active-high and are cleared-by-write-one. + * + * This macro is useful when a register is comprised by normal read-write bits and cleared-by-write-one bits. + * Example: + * PeriphSafeClearFlags(PWMA->FAULT[0].FSTS, PWM_FSTS_FFLAG_MASK, PWM_FSTS_FFLAG(2)); + * + * @param reg Register name. + * @param allFlagsMask Mask for all flags which are active-high and are cleared-by-write-one. + * @param flagMask The selected flags(cleared-by-write-one) which are supposed to be cleared. + */ +#define PeriphSafeClearFlags(reg, allFlagsMask, flagMask) \ + (reg) = ((reg) & (~(allFlagsMask))) | ((flagMask) & (allFlagsMask)) + +/*! + * @brief Clear selected bits without modifying (acknowledge) bit flags which are active-high and are + * cleared-by-write-one. + * + * This macro is useful when a register is comprised by normal read-write bits and cleared-by-write-one bits. + * Example: + * PeriphSafeClearBits(PWMA->FAULT[0].FSTS, PWM_FSTS_FFLAG_MASK, PWM_FSTS_FHALF(2)); + * + * @param reg Register name. + * @param allFlagsMask Mask for all flags which are active-high and are cleared-by-write-one. + * @param bitMask The selected bits which are supposed to be cleared. + */ +#define PeriphSafeClearBits(reg, allFlagsMask, bitMask) (reg) = ((reg) & (~((allFlagsMask) | (bitMask)))) + +/*! + * @brief Set selected bits without modifying (acknowledge) bit flags which are active-high and are + * cleared-by-write-one. + * + * This macro is useful when a register is comprised by normal read-write bits and cleared-by-write-one bits. + * Example: + * PeriphSafeSetBits(PWMA->FAULT[0].FSTS, PWM_FSTS_FFLAG_MASK, PWM_FSTS_FHALF(2)); + * + * @param reg Register name. + * @param allFlagsMask Mask for all flags which are active-high and are cleared-by-write-one. + * @param bitMask The selected bits which are supposed to be set. + */ +#define PeriphSafeSetBits(reg, allFlagsMask, bitMask) \ + (reg) = ((reg) & (~(allFlagsMask))) | ((bitMask) & (~(allFlagsMask))) + +/*! + * @brief Write group of bits without modifying (acknowledge) bit flags which are active-high and are + * cleared-by-write-one. + * + * This macro is useful when a register is comprised by normal read-write bits and cleared-by-write-one bits. + * Example: + * PeriphSafeWriteBitGroup(PWMA->FAULT[0].FSTS, PWM_FSTS_FFLAG_MASK, PWM_FSTS_FHALF_MASK, PWM_FSTS_FHALF(3U)); + * PeriphSafeWriteBitGroup(PWMA->FAULT[0].FSTS, PWM_FSTS_FFLAG_MASK, PWM_FSTS_FHALF_MASK | PWM_FSTS_FFULL_MASK, \ + * PWM_FSTS_FHALF(3U) | PWM_FSTS_FFULL(2U)); + * + * @param reg Register name. + * @param allFlagsMask Mask for all flags which are active-high and are cleared-by-write-one. + * @param bitMask Bits mask, mask of the group of bits. + * @param bitValue This value will be written into the bit group specified by parameter bitMask. + */ +#define PeriphSafeWriteBitGroup(reg, allFlagsMask, bitMask, bitValue) \ + (reg) = ((reg) & (~((allFlagsMask) | (bitMask)))) | ((bitValue) & (bitMask) & (~(allFlagsMask))) + +/*! + * @brief Get IP register byte address with uint32_t type. + * + * This macro is useful when a register byte address is required, especially in SDM mode. + * Example: + * SDK_GET_REGISTER_BYTE_ADDR(ADC_Type, ADC, RSLT[0]); + * + * @param ipType IP register mapping struct type. + * @param ipBase IP instance base pointer, WORD address. + * @param regName Member register name of IP register mapping struct. + */ +#define SDK_GET_REGISTER_BYTE_ADDR(ipType, ipBase, regName) \ + ((2UL * ((uint32_t)(ipBase))) + ((uint32_t)(uint8_t *)&(((ipType *)0)->regName))) + +/* Macros for compatibility. */ +#define MSDK_REG_SECURE_ADDR(x) (x) +#define MSDK_REG_NONSECURE_ADDR(x) (x) + +/* + * The fsl_clock.h is included here because it needs MAKE_VERSION/MAKE_STATUS/status_t. + */ +#include "fsl_clock.h" + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif + +/*! + * @brief Disable the global IRQ + */ +static inline uint32_t DisableGlobalIRQ(void) +{ + uint32_t ret; + if ((INTC->CTRL & INTC_CTRL_INT_DIS_MASK) != 0U) + { + ret = 0U; + } + else + { + INTC->CTRL |= INTC_CTRL_INT_DIS_MASK; + ret = 1U; + } + return ret; +} + +/*! + * @brief Enable the global IRQ + */ +static inline void EnableGlobalIRQ(uint32_t irqSts) +{ + if (irqSts != 0U) + { + INTC->CTRL &= ~INTC_CTRL_INT_DIS_MASK; + } + else + { + INTC->CTRL |= INTC_CTRL_INT_DIS_MASK; + } +} + +/*! + * @brief Check if currently core is able to response IRQ + */ +static inline bool isIRQAllowed(void) +{ + bool ret = true; + uint16_t srReg; + + if (0U != (INTC->CTRL | INTC_CTRL_INT_DIS_MASK)) + { + ret = false; + } + + asm {move.w SR, srReg} + ; + if (0U != (srReg & 0x300U)) + { + ret = false; + } + return ret; +} + +/*! + * @name Interrupt + * + * DSC interrupt controller uses the same bit-filed to control interrupt enable + * status and priority, to provide compatible APIs, SDK uses a interrupt priority + * table, thus application could control the interrupt + * enable/disable, and interrupt priority independently. Also, the API + * @ref EnableIRQWithPriority could be used to enable the interrupt and set the priority + * at the same time. + * + * API implementation: + * + * 1. When calling @ref EnableIRQ, if the interrupt priority in priority table is + * valid, then set the interrupt priority level to the value in priority table + * If interrupt priority in priority table is invalid, then set the interrupt + * priority level to @ref SDK_DSC_DEFAULT_INT_PRIO. + * + * 2. When calling @ref IRQ_SetPriority, if the interrupt is already enabled, new + * priority is set to interrupt controller, meanwhile the priority table is + * updated accordingly. If the interrupt is not enabled, new priority value is + * saved to priority table , and takes effect when calling @ref EnableIRQ. + * + * The interrupt functions configure INTC module, application could call the + * INTC driver directly for the same purpose. + * + * @{ + */ + +/*! + * @brief Enable the IRQ, and also set the interrupt priority. + * + * @note The parameter @p priNum is range in 1~3, and its value is **NOT** + * directly map to interrupt priority. + * + * - Some IPs maps 1 to priority 1, 2 to priority 2, 3 to priority 3 + * - Some IPs maps 1 to priority 0, 2 to priority 1, 3 to priority 2 + * + * User should check chip's RM to get its corresponding interrupt priority. + * + * When @p priNum set as 0, then @ref SDK_DSC_DEFAULT_INT_PRIO is set instead. + * When @p priNum set as number larger than 3, then only the 2 LSB take effect, + * for example, setting @p priNum to 5 is the same with setting it to 1. + * + * This function configures INTC module, application could call the + * INTC driver directly for the same purpose. + * + * @param irq The IRQ to enable. + * @param priNum Priority number set to interrupt controller register. + * Larger number means higher priority. + * The allowed range is 1~3, and its value is **NOT** directly map to interrupt priority. + * In other words, the same priority number means different interrupt priority levels + * for different IRQ, please check reference manual for the relationship. + * When pass in 0, then @ref SDK_DSC_DEFAULT_INT_PRIO is set to priority register. + * + * @return Currently only returns kStatus_Success, will enhance in the future. + */ +status_t EnableIRQWithPriority(IRQn_Type irq, uint8_t priNum); + +/*! + * @brief Disable specific interrupt. + * + * This function configures INTC module, application could call the + * INTC driver directly for the same purpose. + * + * @param irq The IRQ to disable. + * + * @return Currently only returns kStatus_Success, will enhance in the future. + */ +status_t DisableIRQ(IRQn_Type irq); + +/*! + * @brief Enable specific interrupt. + * + * The recommended workflow is calling @ref IRQ_SetPriority first, then call + * @ref EnableIRQ. If @ref IRQ_SetPriority is not called first, then the interrupt + * is enabled with default priority value @ref SDK_DSC_DEFAULT_INT_PRIO. + * + * Another recommended workflow is calling @ref EnableIRQWithPriority directly, + * it is the same with calling @ref IRQ_SetPriority + @ref EnableIRQ. + * + * This function configures INTC module, application could call the + * INTC driver directly for the same purpose. + * + * @param irq The IRQ to enable. + * + * @return Currently only returns kStatus_Success, will enhance in the future. + */ +status_t EnableIRQ(IRQn_Type irq); + +/*! + * @brief Set the IRQ priority. + * + * @note The parameter @p priNum is range in 1~3, and its value is **NOT** + * directly map to interrupt priority. + * + * - Some IPs maps 1 to priority 1, 2 to priority 2, 3 to priority 3 + * - Some IPs maps 1 to priority 0, 2 to priority 1, 3 to priority 2 + * + * User should check chip's RM to get its corresponding interrupt priority + * + * When @p priNum set as 0, then @ref SDK_DSC_DEFAULT_INT_PRIO is set instead. + * When @p priNum set as number larger than 3, then only the 2 LSB take effect, + * for example, setting @p priNum to 5 is the same with setting it to 1. + * + * This function configures INTC module, application could call the + * INTC driver directly for the same purpose. + * + * @param irq The IRQ to set. + * @param priNum Priority number set to interrupt controller register. + * Larger number means higher priority, 0 means disable the interrupt. + * The allowed range is 0~3, and its value is **NOT** directly map to interrupt priority. + * In other words, the same priority number means different interrupt priority levels + * for different IRQ, please check reference manual for the relationship. + * + * @return Currently only returns kStatus_Success, will enhance in the future. + */ +status_t IRQ_SetPriority(IRQn_Type irq, uint8_t priNum); + +/*! @} */ + +/*! + * @brief Delay core cycles. + * Please note that, this API uses software loop for delay, the actual delayed + * time depends on core clock frequency, where the function is located (ram or flash), + * flash clock, possible interrupt. + * + * @param u32Num Number of core clock cycle which needs to be delayed. + */ +void SDK_DelayCoreCycles(uint32_t u32Num); + +/*! + * @brief Covert us to count with fixed-point calculation. + * + * @note u32Us must not be greater than 4294 + * + * @param u32Us Time in us + * @param u32Hz Clock frequency in Hz + * @return The count value + */ +uint32_t SDK_CovertUsToCount(uint32_t u32Us, uint32_t u32Hz); + +/*! + * @brief Covert count to us with fixed-point calculation. + * + * @note u32Hz must not be greater than 429496729UL(0xFFFFFFFFUL/10UL) + * + * @param u32Count Count value + * @param u32Hz Clock frequency in Hz + * @return The us value + */ +uint32_t SDK_CovertCountToUs(uint32_t u32Count, uint32_t u32Hz); + +/*! + * @brief Covert ms to count with fixed-point calculation. + * + * @note u32Ms must not be greater than 42949UL @ u32Hz = 100M + * + * @param u32Ms Time in us + * @param u32Hz Clock frequency in Hz + * @return The count value + */ +uint32_t SDK_CovertMsToCount(uint32_t u32Ms, uint32_t u32Hz); + +/*! + * @brief Covert count to ms with fixed-point calculation. + * + * @note u32Hz must not be greater than 429496729UL(0xFFFFFFFFUL/10UL) + * + * @param u32Count Count value + * @param u32Hz Clock frequency in Hz + * @return The us value + */ +uint32_t SDK_CovertCountToMs(uint32_t u32Count, uint32_t u32Hz); + +/*! + * @brief Delay at least for some time in millisecond unit. + * Please note that, this API uses while loop for delay, different run-time environments make the time not precise, + * if precise delay count was needed, please implement a new delay function with hardware timer. + * + * @param delayTime_ms Delay time in unit of millisecond. + * @param coreClock_Hz Core clock frequency with Hz. + */ +void SDK_DelayAtLeastMs(uint32_t delayTime_ms, uint32_t coreClock_Hz); + +#if defined(__cplusplus) +} +#endif + +/*! @} */ + +#endif /* FSL_COMMON_DSC_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsp.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsp.c new file mode 100644 index 00000000000..8a1ea9e1fdf --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsp.c @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2021 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_common.h" + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.common_dsp" +#endif + +extern uint32_t xthal_get_ccount(void); + +void SDK_DelayAtLeastUs(uint32_t delayTime_us, uint32_t coreClock_Hz) +{ + uint64_t count; + + if (delayTime_us > 0U) + { + count = USEC_TO_COUNT(delayTime_us, coreClock_Hz); + + assert(count <= UINT32_MAX); + + /* Calculate the count ticks. */ + count += xthal_get_ccount(); + + if (count > UINT32_MAX) + { + count -= UINT32_MAX; + /* Wait for cyccnt overflow. */ + while (count < xthal_get_ccount()) + { + } + } + + /* Wait for cyccnt reach count value. */ + while (count > xthal_get_ccount()) + { + } + } +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsp.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsp.h new file mode 100644 index 00000000000..c3662abade7 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_dsp.h @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2020, 2024 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FSL_COMMON_DSP_H_ +#define FSL_COMMON_DSP_H_ + +/*! + * @addtogroup ksdk_common + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! @name Timer utilities */ +/*! @{ */ +/*! Macro to convert a microsecond period to raw count value */ +#define USEC_TO_COUNT(us, clockFreqInHz) (uint64_t)(((uint64_t)(us) * (clockFreqInHz)) / 1000000U) +/*! Macro to convert a raw count value to microsecond */ +#define COUNT_TO_USEC(count, clockFreqInHz) (uint64_t)((uint64_t)(count) * 1000000U / (clockFreqInHz)) + +/*! Macro to convert a millisecond period to raw count value */ +#define MSEC_TO_COUNT(ms, clockFreqInHz) (uint64_t)((uint64_t)(ms) * (clockFreqInHz) / 1000U) +/*! Macro to convert a raw count value to millisecond */ +#define COUNT_TO_MSEC(count, clockFreqInHz) (uint64_t)((uint64_t)(count) * 1000U / (clockFreqInHz)) +/*! @} */ + +#define SDK_ISR_EXIT_BARRIER + +/*! @name Alignment variable definition macros */ +/*! @{ */ +/*! Macro to define a variable with alignbytes alignment */ +#define SDK_ALIGN(var, alignbytes) var __attribute__((aligned(alignbytes))) + +/*! Macro to define a variable with L1 d-cache line size alignment */ +#if defined(FSL_FEATURE_L1DCACHE_LINESIZE_BYTE) +#define SDK_L1DCACHE_ALIGN(var) SDK_ALIGN(var, FSL_FEATURE_L1DCACHE_LINESIZE_BYTE) +#endif + +/*! Macro to define a variable with L2 cache line size alignment */ +#if defined(FSL_FEATURE_L2CACHE_LINESIZE_BYTE) +#define SDK_L2CACHE_ALIGN(var) SDK_ALIGN(var, FSL_FEATURE_L2CACHE_LINESIZE_BYTE) +#endif + +/*! Macro to change a value to a given size aligned value */ +#define SDK_SIZEALIGN(var, alignbytes) \ + ((unsigned int)((var) + ((alignbytes)-1U)) & (unsigned int)(~(unsigned int)((alignbytes)-1U))) +/*! @} */ + +/*! @name Non-cacheable region definition macros */ +/* For initialized non-zero non-cacheable variables, please using "AT_NONCACHEABLE_SECTION_INIT(var) ={xx};" or + * "AT_NONCACHEABLE_SECTION_ALIGN_INIT(var) ={xx};" in your projects to define them, for zero-inited non-cacheable variables, + * please using "AT_NONCACHEABLE_SECTION(var);" or "AT_NONCACHEABLE_SECTION_ALIGN(var);" to define them, these zero-inited variables + * will be initialized to zero in system startup. + */ +/*! @{ */ + +#define AT_NONCACHEABLE_SECTION_INIT(var) __attribute__((section("NonCacheable.init"))) var +#define AT_NONCACHEABLE_SECTION(var) __attribute__((section("NonCacheable"))) var +#define AT_NONCACHEABLE_SECTION_ALIGN_INIT(var, alignbytes) \ + __attribute__((section("NonCacheable.init"))) var __attribute__((aligned(alignbytes))) +#define AT_NONCACHEABLE_SECTION_ALIGN(var, alignbytes) \ + __attribute__((section("NonCacheable"))) var __attribute__((aligned(alignbytes))) + +/*! @} */ + +/*! + * @name Time sensitive region + * @{ + */ +#if (defined(FSL_SDK_DRIVER_QUICK_ACCESS_ENABLE) && FSL_SDK_DRIVER_QUICK_ACCESS_ENABLE) + +#define AT_QUICKACCESS_SECTION_CODE(func) __attribute__((section("CodeQuickAccess"), __noinline__)) func +#define AT_QUICKACCESS_SECTION_DATA(func) __attribute__((section("DataQuickAccess"))) func + +#else /* __FSL_SDK_DRIVER_QUICK_ACCESS_ENABLE */ + +#define AT_QUICKACCESS_SECTION_CODE(func) func +#define AT_QUICKACCESS_SECTION_DATA(func) func + +#endif /* __FSL_SDK_DRIVER_QUICK_ACCESS_ENABLE */ +/*! @} */ + +/* Macros for compatibility. */ +#define NVIC_SetPriorityGrouping(value) do {} while(0) +#define NVIC_GetPriorityGrouping() do {} while(0) +#define NVIC_SetPriority(irq, value) do {} while(0) +#define NVIC_GetPriority(irq) do {} while(0) +#define NVIC_EnableIRQ(value) do {} while(0) +#define NVIC_GetEnableIRQ(value) do {} while(0) +#define NVIC_DisableIRQ(value) do {} while(0) +#define NVIC_GetPendingIRQ(value) do {} while(0) +#define NVIC_SetPendingIRQ(value) do {} while(0) +#define NVIC_ClearPendingIRQ(value) do {} while(0) +#define NVIC_GetActive(value) do {} while(0) +#define MSDK_REG_SECURE_ADDR(x) (x) +#define MSDK_REG_NONSECURE_ADDR(x) (x) + +/* + * The fsl_clock.h is included here because it needs MAKE_VERSION/MAKE_STATUS/status_t + * defined in previous of this file. + */ +#include "fsl_clock.h" + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif + +/*! + * @brief Enable specific interrupt. + * + * Empty function for build compatibility. + * + * @param interrupt The IRQ number. + * @return Always return kStatus_Success. + */ +static inline status_t EnableIRQ(IRQn_Type interrupt) +{ + return kStatus_Success; +} + +/*! + * @brief Disable specific interrupt. + * + * Empty function for build compatibility. + * + * @param interrupt The IRQ number. + * @return Always return kStatus_Success. + */ +static inline status_t DisableIRQ(IRQn_Type interrupt) +{ + return kStatus_Success; +} + +/*! + * @brief Disable the global IRQ + * + * Empty function for build compatibility. + * + * @return Always return 0; + */ +static inline uint32_t DisableGlobalIRQ(void) +{ + return 0; +} + +/*! + * @brief Enable the global IRQ + * + * Empty function for build compatibility. + * + * @param primask Not used. + */ +static inline void EnableGlobalIRQ(uint32_t primask) +{ +} + +#if defined(__cplusplus) +} +#endif + +/*! @} */ + +#endif /* FSL_COMMON_DSP_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_riscv.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_riscv.c new file mode 100644 index 00000000000..c3e9bd556a1 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_riscv.c @@ -0,0 +1,45 @@ +/* + * Copyright 2024 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_common.h" + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.common_riscv" +#endif + +static void DelayLoop(uint32_t count) +{ + __ASM volatile( + " mv a0, %0 \n" + "loop%=: \n" + " addi a0, a0, -1 \n" + " bgtz a0, loop%= \n" + : + : "r"(count) + :); +} + +void SDK_DelayAtLeastUs(uint32_t delayTime_us, uint32_t coreClock_Hz) +{ + uint64_t count; + + if (delayTime_us > 0U) + { + count = USEC_TO_COUNT(delayTime_us, coreClock_Hz); + + assert(count <= UINT32_MAX); + + /* + * Add is 1 cycle. + * Branch is 2 cycle. + */ + count = count / 3U; + + DelayLoop((uint32_t)count); + } +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_riscv.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_riscv.h new file mode 100644 index 00000000000..2366783b646 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/common/fsl_common_riscv.h @@ -0,0 +1,148 @@ +/* + * Copyright 2024-2025 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FSL_COMMON_RISCV_H_ +#define FSL_COMMON_RISCV_H_ + +#include "riscv_interrupt.h" + +/*! + * @addtogroup ksdk_common + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! @name Timer utilities */ +/*! @{ */ +/*! Macro to convert a microsecond period to raw count value */ +#define USEC_TO_COUNT(us, clockFreqInHz) (uint64_t)(((uint64_t)(us) * (clockFreqInHz)) / 1000000U) +/*! Macro to convert a raw count value to microsecond */ +#define COUNT_TO_USEC(count, clockFreqInHz) (uint64_t)((uint64_t)(count) * 1000000U / (clockFreqInHz)) + +/*! Macro to convert a millisecond period to raw count value */ +#define MSEC_TO_COUNT(ms, clockFreqInHz) (uint64_t)((uint64_t)(ms) * (clockFreqInHz) / 1000U) +/*! Macro to convert a raw count value to millisecond */ +#define COUNT_TO_MSEC(count, clockFreqInHz) (uint64_t)((uint64_t)(count) * 1000U / (clockFreqInHz)) +/*! @} */ + +#define SDK_ISR_EXIT_BARRIER + +/*! @name Alignment variable definition macros */ +/*! @{ */ +/*! Macro to define a variable with alignbytes alignment */ +#define SDK_ALIGN(var, alignbytes) var __attribute__((aligned(alignbytes))) + +/*! Macro to change a value to a given size aligned value */ +#define SDK_SIZEALIGN(var, alignbytes) \ + ((unsigned int)((var) + ((alignbytes)-1U)) & (unsigned int)(~(unsigned int)((alignbytes)-1U))) +/*! @} */ + +/*! + * @def MSDK_REG_SECURE_ADDR(x) + * Convert the register address to the one used in secure mode. + * + * @def MSDK_REG_NONSECURE_ADDR(x) + * Convert the register address to the one used in unsecure mode. + */ +#define MSDK_REG_SECURE_ADDR(x) ((typeof(x))((uintptr_t)(x) | (0x1UL << 28))) +#define MSDK_REG_NONSECURE_ADDR(x) ((typeof(x))((uintptr_t)(x) & ~(0x1UL << 28))) + +/* + * The fsl_clock.h is included here because it needs MAKE_VERSION/MAKE_STATUS/status_t + * defined in previous of this file. + */ +#include "fsl_clock.h" + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif + +/*! + * @brief Enable specific interrupt. + * + * Empty function for build compatibility. + * + * @param interrupt The IRQ number. + * @return Always return kStatus_Success. + */ +static inline status_t EnableIRQ(IRQn_Type interrupt) +{ + return kStatus_Success; +} + +/*! + * @brief Disable specific interrupt. + * + * Empty function for build compatibility. + * + * @param interrupt The IRQ number. + * @return Always return kStatus_Success. + */ +static inline status_t DisableIRQ(IRQn_Type interrupt) +{ + return kStatus_Success; +} + +/*! + * @brief Disable the global IRQ + * + * Disable the global IRQ. + * + * @return The global IRQ control register value before been disabled. + */ +static inline uint32_t DisableGlobalIRQ(void) +{ + return csr_read_clear(CSR_MSTATUS, CSR_MSTATUS_MIE); +} + +/*! + * @brief Enable the global IRQ + * + * Enable the global interrupt by setting the global IRQ control register. + * Generally this value is the return value of DisableGlobalIRQ. + * + * @param intCtrl The global interrupt control register value. + */ +static inline void EnableGlobalIRQ(uint32_t intCtrl) +{ + csr_set(CSR_MSTATUS, intCtrl); +} + +/*! + * @brief Enable M-mode interrupt. + * + * @param mask M-mode interrupt mask. + */ +static inline void EnableMachineModeInt(ezhv_mie_mask_t mask) +{ + csr_set(CSR_MIE, mask); +} + +/*! + * @brief Disable M-mode interrupt. + * + * @param mask M-mode interrupt mask. + */ +static inline void DisableMachineModeInt(ezhv_mie_mask_t mask) +{ + csr_clear(CSR_MIE, mask); +} + +#if defined(__cplusplus) +} +#endif + +/*! @} */ + +#endif diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/SConscript new file mode 100644 index 00000000000..fa6cdfab67b --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/SConscript @@ -0,0 +1,17 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() + +src = Glob('fsl_lpuart.c') + +CPPPATH = [cwd] +objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart.c new file mode 100644 index 00000000000..8e9fa360b93 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart.c @@ -0,0 +1,2786 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2022, 2025 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_lpuart.h" + +#include + +#define memset rt_memset + +/* + * $Coverage Justification Reference$ + * + * $Justification fsl_lpuart_c_ref_1$ + * (osr > 3) (false) can't be not covered, because osr(osrTemp) is increased from 4U. + * + * $Justification fsl_lpuart_c_ref_2$ + * The flag is cleared successfully during test. + */ +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.lpuart" +#endif + +/* LPUART transfer state. */ +enum +{ + kLPUART_TxIdle, /*!< TX idle. */ + kLPUART_TxBusy, /*!< TX busy. */ + kLPUART_RxIdle, /*!< RX idle. */ + kLPUART_RxBusy /*!< RX busy. */ +}; + +#if defined(LPUART_RSTS) +#define LPUART_RESETS_ARRAY LPUART_RSTS +#endif + +/******************************************************************************* + * Prototypes + ******************************************************************************/ +/*! + * @brief Check whether the RX ring buffer is full. + * + * @userData handle LPUART handle pointer. + * @retval true RX ring buffer is full. + * @retval false RX ring buffer is not full. + */ +static bool LPUART_TransferIsRxRingBufferFull(LPUART_Type *base, lpuart_handle_t *handle); + +/*! + * @brief Write to TX register using non-blocking method. + * + * This function writes data to the TX register directly, upper layer must make + * sure the TX register is empty or TX FIFO has empty room before calling this function. + * + * @note This function does not check whether all the data has been sent out to bus, + * so before disable TX, check kLPUART_TransmissionCompleteFlag to ensure the TX is + * finished. + * + * @param base LPUART peripheral base address. + * @param data Start address of the data to write. + * @param length Size of the buffer to be sent. + */ +static void LPUART_WriteNonBlocking(LPUART_Type *base, const uint8_t *data, size_t length); +/*! + * @brief Write to TX register using non-blocking method in 9bit or 10bit mode. + * + * The 10bit of data will be writen to TX register DATA. + * Please make sure data 10bit is valid and other bit is 0. + * + * @note This function only support 9bit or 10bit transfer. + * + * @param base LPUART peripheral base address. + * @param data Start address of the data to write. + * @param length Size of the buffer to be sent. + */ +static void LPUART_WriteNonBlocking16bit(LPUART_Type *base, const uint16_t *data, size_t length); + +/*! + * @brief Read RX register using non-blocking method. + * + * This function reads data from the TX register directly, upper layer must make + * sure the RX register is full or TX FIFO has data before calling this function. + * + * @param base LPUART peripheral base address. + * @param data Start address of the buffer to store the received data. + * @param length Size of the buffer. + */ +static void LPUART_ReadNonBlocking(LPUART_Type *base, uint8_t *data, size_t length); +/*! + * @brief Read RX register using non-blocking method in 9bit or 10bit mode. + * + * This function reads 10bit data from the RX register directly and stores to 16bit data. + * + * @note This function only support 9bit or 10bit transfer. + * + * @param base LPUART peripheral base address. + * @param data Start address of the buffer to store the received data. + * @param length Size of the buffer. + */ +static void LPUART_ReadNonBlocking16bit(LPUART_Type *base, uint16_t *data, size_t length); +/*! + * @brief LPUART_TransferHandleIDLEIsReady handle function. + * This function handles when IDLE is ready. + * + * @param base LPUART peripheral base address. + * @param irqHandle LPUART handle pointer. + */ +static void LPUART_TransferHandleIDLEReady(LPUART_Type *base, lpuart_handle_t *handle); + +/*! + * @brief LPUART_TransferHandleReceiveDataIsFull handle function. + * This function handles when receive data is full. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + */ +static void LPUART_TransferHandleReceiveDataFull(LPUART_Type *base, lpuart_handle_t *handle); + +/*! + * @brief LPUART_TransferHandleSendDataIsEmpty handle function. + * This function handles when send data is empty. + * + * @param base LPUART peripheral base address. + * @param irqHandle LPUART handle pointer. + */ +static void LPUART_TransferHandleSendDataEmpty(LPUART_Type *base, lpuart_handle_t *handle); + +/*! + * @brief LPUART_TransferHandleTransmissionIsComplete handle function. + * This function handles Transmission complete and the interrupt is enabled. + * + * @param base LPUART peripheral base address. + * @param irqHandle LPUART handle pointer. + */ +static void LPUART_TransferHandleTransmissionComplete(LPUART_Type *base, lpuart_handle_t *handle); + +/******************************************************************************* + * Variables + ******************************************************************************/ +/* Array of LPUART peripheral base address. */ +static LPUART_Type** const s_lpuartBases[] = LPUART_BASE_PTRS; +/* Array of LPUART handle. */ +void *s_lpuartHandle[ARRAY_SIZE(s_lpuartBases)]; +/* Array of LPUART IRQ number. */ +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +#if defined(LPUART_RX_IRQS) +static const IRQn_Type s_lpuartRxIRQ[] = LPUART_RX_IRQS; +#endif +#if defined(LPUART_TX_IRQS) +const IRQn_Type s_lpuartTxIRQ[] = LPUART_TX_IRQS; +#endif +#else +#if defined(LPUART_RX_TX_IRQS) +const IRQn_Type s_lpuartIRQ[] = LPUART_RX_TX_IRQS; +#endif +#endif +#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) +/* Array of LPUART clock name. */ +static const clock_ip_name_t s_lpuartClock[] = LPUART_CLOCKS; + +#if defined(LPUART_PERIPH_CLOCKS) +/* Array of LPUART functional clock name. */ +static const clock_ip_name_t s_lpuartPeriphClocks[] = LPUART_PERIPH_CLOCKS; +#endif + +#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */ + +/* LPUART ISR for transactional APIs. */ +#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) +lpuart_isr_t s_lpuartIsr[ARRAY_SIZE(s_lpuartBases)] = {[0 ...(ARRAY_SIZE(s_lpuartBases) - 1)] = + (lpuart_isr_t)DefaultISR}; +#else +lpuart_isr_t s_lpuartIsr[ARRAY_SIZE(s_lpuartBases)]; +#endif + +#if defined(LPUART_RESETS_ARRAY) +/* Reset array */ +static const reset_ip_name_t s_lpuartResets[] = LPUART_RESETS_ARRAY; +#endif + +/******************************************************************************* + * Code + ******************************************************************************/ +/*! + * brief Get the LPUART instance from peripheral base address. + * + * param base LPUART peripheral base address. + * return LPUART instance. + */ +uint32_t LPUART_GetInstance(LPUART_Type *base) +{ + uint32_t instance; + + /* Find the instance index from base address mappings. */ + for (instance = 1U; instance < ARRAY_SIZE(s_lpuartBases); instance++) + { + if (MSDK_REG_SECURE_ADDR(*(s_lpuartBases[instance])) == MSDK_REG_SECURE_ADDR(base)) + { + return instance; + } + } + + assert(instance < ARRAY_SIZE(s_lpuartBases)); + + return instance; +} + +/*! + * @brief Set the LPUART instance to peripheral base address. + * + * @param instance LPUART instance. + * @param base LPUART peripheral base address. + */ +void LPUART_SetInstance(uint32_t instance, LPUART_Type *base) +{ + if (instance >= ARRAY_SIZE(s_lpuartBases) || !instance) + { + return; + } + *(s_lpuartBases[instance]) = base; +} + +/*! + * brief Get the length of received data in RX ring buffer. + * + * userData handle LPUART handle pointer. + * return Length of received data in RX ring buffer. + */ +size_t LPUART_TransferGetRxRingBufferLength(LPUART_Type *base, lpuart_handle_t *handle) +{ + assert(NULL != handle); + + size_t size; + size_t tmpRxRingBufferSize = handle->rxRingBufferSize; + uint16_t tmpRxRingBufferTail = handle->rxRingBufferTail; + uint16_t tmpRxRingBufferHead = handle->rxRingBufferHead; + + if (tmpRxRingBufferTail > tmpRxRingBufferHead) + { + size = ((size_t)tmpRxRingBufferHead + tmpRxRingBufferSize - (size_t)tmpRxRingBufferTail); + } + else + { + size = ((size_t)tmpRxRingBufferHead - (size_t)tmpRxRingBufferTail); + } + + return size; +} + +static bool LPUART_TransferIsRxRingBufferFull(LPUART_Type *base, lpuart_handle_t *handle) +{ + assert(NULL != handle); + + bool full; + + if (LPUART_TransferGetRxRingBufferLength(base, handle) == (handle->rxRingBufferSize - 1U)) + { + full = true; + } + else + { + full = false; + } + return full; +} + +static void LPUART_WriteNonBlocking(LPUART_Type *base, const uint8_t *data, size_t length) +{ + assert(NULL != data); + + size_t i; + + /* The Non Blocking write data API assume user have ensured there is enough space in + peripheral to write. */ + for (i = 0; i < length; i++) + { + base->DATA = data[i]; + } +} +static void LPUART_WriteNonBlocking16bit(LPUART_Type *base, const uint16_t *data, size_t length) +{ + assert(NULL != data); + + size_t i; + + /* The Non Blocking write data API assume user have ensured there is enough space in + peripheral to write. */ + for (i = 0; i < length; i++) + { + base->DATA = data[i]; + } +} + +static void LPUART_ReadNonBlocking(LPUART_Type *base, uint8_t *data, size_t length) +{ + assert(NULL != data); + + size_t i; +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + uint32_t ctrl = base->CTRL; + bool isSevenDataBits = (((ctrl & LPUART_CTRL_M7_MASK) != 0U) || + (((ctrl & LPUART_CTRL_M_MASK) == 0U) && ((ctrl & LPUART_CTRL_PE_MASK) != 0U))); +#endif + + /* The Non Blocking read data API assume user have ensured there is enough space in + peripheral to write. */ + for (i = 0; i < length; i++) + { +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + if (isSevenDataBits) + { + data[i] = (uint8_t)(base->DATA & 0x7FU); + } + else + { + data[i] = (uint8_t)base->DATA; + } +#else + data[i] = (uint8_t)(base->DATA); +#endif + } +} + +static void LPUART_ReadNonBlocking16bit(LPUART_Type *base, uint16_t *data, size_t length) +{ + assert(NULL != data); + + size_t i; + /* The Non Blocking read data API assume user have ensured there is enough space in + peripheral to write. */ + for (i = 0; i < length; i++) + { + data[i] = (uint16_t)(base->DATA & 0x03FFU); + } +} + +/*! + * brief Initializes an LPUART instance with the user configuration structure and the peripheral clock. + * + * This function configures the LPUART module with user-defined settings. Call the LPUART_GetDefaultConfig() function + * to configure the configuration structure and get the default configuration. + * The example below shows how to use this API to configure the LPUART. + * code + * lpuart_config_t lpuartConfig; + * lpuartConfig.baudRate_Bps = 115200U; + * lpuartConfig.parityMode = kLPUART_ParityDisabled; + * lpuartConfig.dataBitsCount = kLPUART_EightDataBits; + * lpuartConfig.isMsb = false; + * lpuartConfig.stopBitCount = kLPUART_OneStopBit; + * lpuartConfig.txFifoWatermark = 0; + * lpuartConfig.rxFifoWatermark = 1; + * LPUART_Init(LPUART1, &lpuartConfig, 20000000U); + * endcode + * + * param base LPUART peripheral base address. + * param config Pointer to a user-defined configuration structure. + * param srcClock_Hz LPUART clock source frequency in HZ. + * retval kStatus_LPUART_BaudrateNotSupport Baudrate is not support in current clock source. + * retval kStatus_Success LPUART initialize succeed + */ +status_t LPUART_Init(LPUART_Type *base, const lpuart_config_t *config, uint32_t srcClock_Hz) +{ + assert(NULL != config); + assert(0U < config->baudRate_Bps); +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + assert(FSL_FEATURE_LPUART_FIFO_SIZEn(base) > 0); + assert((uint8_t)FSL_FEATURE_LPUART_FIFO_SIZEn(base) > config->txFifoWatermark); + assert((uint8_t)FSL_FEATURE_LPUART_FIFO_SIZEn(base) > config->rxFifoWatermark); +#endif + + status_t status = kStatus_Success; + uint32_t temp; + uint16_t sbr, sbrTemp; + uint8_t osr, osrTemp; + uint32_t tempDiff, calculatedBaud, baudDiff; + + /* This LPUART instantiation uses a slightly different baud rate calculation + * The idea is to use the best OSR (over-sampling rate) possible + * Note, OSR is typically hard-set to 16 in other LPUART instantiations + * loop to find the best OSR value possible, one that generates minimum baudDiff + * iterate through the rest of the supported values of OSR */ + + baudDiff = config->baudRate_Bps; + osr = 0U; + sbr = 0U; + for (osrTemp = 4U; osrTemp <= 32U; osrTemp++) + { + /* calculate the temporary sbr value */ + sbrTemp = (uint16_t)((srcClock_Hz * 2U / (config->baudRate_Bps * (uint32_t)osrTemp) + 1U) / 2U); + /*set sbrTemp to 1 if the sourceClockInHz can not satisfy the desired baud rate*/ + if (sbrTemp == 0U) + { + sbrTemp = 1U; + } + else if (sbrTemp > LPUART_BAUD_SBR_MASK) + { + sbrTemp = LPUART_BAUD_SBR_MASK; + } + else + { + /* Avoid MISRA 15.7 */ + } + /* Calculate the baud rate based on the temporary OSR and SBR values */ + calculatedBaud = (srcClock_Hz / ((uint32_t)osrTemp * (uint32_t)sbrTemp)); + tempDiff = calculatedBaud > config->baudRate_Bps ? (calculatedBaud - config->baudRate_Bps) : + (config->baudRate_Bps - calculatedBaud); + + if (tempDiff <= baudDiff) + { + baudDiff = tempDiff; + osr = osrTemp; /* update and store the best OSR value calculated */ + sbr = sbrTemp; /* update store the best SBR value calculated */ + } + } + + /* Check to see if actual baud rate is within 3% of desired baud rate + * based on the best calculate OSR value */ + if (baudDiff > ((config->baudRate_Bps / 100U) * 3U)) + { + /* Unacceptable baud rate difference of more than 3%*/ + status = kStatus_LPUART_BaudrateNotSupport; + } + else + { +#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) + + uint32_t instance = LPUART_GetInstance(base); + + /* Enable lpuart clock */ + (void)CLOCK_EnableClock(s_lpuartClock[instance]); +#if defined(LPUART_PERIPH_CLOCKS) + (void)CLOCK_EnableClock(s_lpuartPeriphClocks[instance]); +#endif + +#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */ + +#if defined(LPUART_RESETS_ARRAY) + RESET_ReleasePeripheralReset(s_lpuartResets[LPUART_GetInstance(base)]); +#endif + +#if defined(FSL_FEATURE_LPUART_HAS_GLOBAL) && FSL_FEATURE_LPUART_HAS_GLOBAL + /*Reset all internal logic and registers, except the Global Register */ + LPUART_SoftwareReset(base); +#else + /* Disable LPUART TX RX before setting. */ + base->CTRL &= ~(LPUART_CTRL_TE_MASK | LPUART_CTRL_RE_MASK); +#endif + + temp = base->BAUD; + + /* Acceptable baud rate, check if OSR is between 4x and 7x oversampling. + * If so, then "BOTHEDGE" sampling must be turned on */ + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_1$ + */ + if ((osr > 3U) && (osr < 8U)) + { + temp |= LPUART_BAUD_BOTHEDGE_MASK; + } + + /* program the osr value (bit value is one less than actual value) */ + temp &= ~LPUART_BAUD_OSR_MASK; + temp |= LPUART_BAUD_OSR((uint32_t)osr - 1UL); + + /* write the sbr value to the BAUD registers */ + temp &= ~LPUART_BAUD_SBR_MASK; + base->BAUD = temp | LPUART_BAUD_SBR(sbr); + + /* Set bit count and parity mode. */ + base->BAUD &= ~LPUART_BAUD_M10_MASK; + + temp = base->CTRL & ~(LPUART_CTRL_PE_MASK | LPUART_CTRL_PT_MASK | LPUART_CTRL_M_MASK | LPUART_CTRL_ILT_MASK | + LPUART_CTRL_IDLECFG_MASK); + + temp |= (uint8_t)config->parityMode | LPUART_CTRL_IDLECFG(config->rxIdleConfig) | + LPUART_CTRL_ILT(config->rxIdleType); + +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + if (kLPUART_SevenDataBits == config->dataBitsCount) + { + if (kLPUART_ParityDisabled != config->parityMode) + { + temp &= ~LPUART_CTRL_M7_MASK; /* Seven data bits and one parity bit */ + } + else + { + temp |= LPUART_CTRL_M7_MASK; + } + } + else +#endif + { + if (kLPUART_ParityDisabled != config->parityMode) + { + temp |= LPUART_CTRL_M_MASK; /* Eight data bits and one parity bit */ + } + } + +#if defined(FSL_FEATURE_LPUART_HAS_CTRL_SWAP) && FSL_FEATURE_LPUART_HAS_CTRL_SWAP + if (config->swapTxdRxd == true) + { + temp |= LPUART_CTRL_SWAP_MASK; + } + else + { + temp &= ~LPUART_CTRL_SWAP_MASK; + } +#endif + + base->CTRL = temp; + +#if defined(FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT) && FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT + /* set stop bit per char */ + temp = base->BAUD & ~LPUART_BAUD_SBNS_MASK; + base->BAUD = temp | LPUART_BAUD_SBNS((uint8_t)config->stopBitCount); +#endif + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + /* Set tx/rx WATER watermark + Note: + Take care of the RX FIFO, RX interrupt request only assert when received bytes + equal or more than RX water mark, there is potential issue if RX water + mark larger than 1. + For example, if RX FIFO water mark is 2, upper layer needs 5 bytes and + 5 bytes are received. the last byte will be saved in FIFO but not trigger + RX interrupt because the water mark is 2. + */ + base->WATER = (((uint32_t)(config->rxFifoWatermark) << 16U) | config->txFifoWatermark); + + /* Enable tx/rx FIFO */ + base->FIFO |= (LPUART_FIFO_TXFE_MASK | LPUART_FIFO_RXFE_MASK); + + /* Flush FIFO */ + base->FIFO |= (LPUART_FIFO_TXFLUSH_MASK | LPUART_FIFO_RXFLUSH_MASK); +#endif + + /* Clear all status flags */ + temp = (LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_NF_MASK | + LPUART_STAT_FE_MASK | LPUART_STAT_PF_MASK); + +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + temp |= LPUART_STAT_LBKDIF_MASK; +#endif + +#if defined(FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING) && FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING + temp |= (LPUART_STAT_MA1F_MASK | LPUART_STAT_MA2F_MASK); +#endif + +#if defined(FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT) && FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT + /* Set the CTS configuration/TX CTS source. */ + base->MODIR |= LPUART_MODIR_TXCTSC(config->txCtsConfig) | LPUART_MODIR_TXCTSSRC(config->txCtsSource); + if (true == config->enableRxRTS) + { + /* Enable the receiver RTS(request-to-send) function. */ + base->MODIR |= LPUART_MODIR_RXRTSE_MASK; + } + if (true == config->enableTxCTS) + { + /* Enable the CTS(clear-to-send) function. */ + base->MODIR |= LPUART_MODIR_TXCTSE_MASK; + } +#endif + + /* Set data bits order. */ + if (true == config->isMsb) + { + temp |= LPUART_STAT_MSBF_MASK; + } + else + { + temp &= ~LPUART_STAT_MSBF_MASK; + } + + base->STAT |= temp; + + /* Enable TX/RX base on configure structure. */ + temp = base->CTRL; + if (true == config->enableTx) + { + temp |= LPUART_CTRL_TE_MASK; + } + + if (true == config->enableRx) + { + temp |= LPUART_CTRL_RE_MASK; + } + + base->CTRL = temp; + } + + return status; +} +/*! + * brief Deinitializes a LPUART instance. + * + * This function waits for transmit to complete, disables TX and RX, and disables the LPUART clock. + * + * param base LPUART peripheral base address. + */ +void LPUART_Deinit(LPUART_Type *base) +{ + uint32_t temp; + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + /* Wait tx FIFO send out*/ + while (0U != ((base->WATER & LPUART_WATER_TXCOUNT_MASK) >> LPUART_WATER_TXWATER_SHIFT)) + { + } +#endif + /* Wait last char shift out */ + while (0U == (base->STAT & LPUART_STAT_TC_MASK)) + { + } + + /* Clear all status flags */ + temp = (LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_NF_MASK | + LPUART_STAT_FE_MASK | LPUART_STAT_PF_MASK); + +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + temp |= LPUART_STAT_LBKDIF_MASK; +#endif + +#if defined(FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING) && FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING + temp |= (LPUART_STAT_MA1F_MASK | LPUART_STAT_MA2F_MASK); +#endif + + base->STAT |= temp; + + /* Disable the module. */ + base->CTRL = 0U; + +#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) + uint32_t instance = LPUART_GetInstance(base); + + /* Disable lpuart clock */ + (void)CLOCK_DisableClock(s_lpuartClock[instance]); + +#if defined(LPUART_PERIPH_CLOCKS) + (void)CLOCK_DisableClock(s_lpuartPeriphClocks[instance]); +#endif + +#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */ +} + +/*! + * brief Gets the default configuration structure. + * + * This function initializes the LPUART configuration structure to a default value. The default + * values are: + * lpuartConfig->baudRate_Bps = 115200U; + * lpuartConfig->parityMode = kLPUART_ParityDisabled; + * lpuartConfig->dataBitsCount = kLPUART_EightDataBits; + * lpuartConfig->isMsb = false; + * lpuartConfig->stopBitCount = kLPUART_OneStopBit; + * lpuartConfig->txFifoWatermark = 0; + * lpuartConfig->rxFifoWatermark = 1; + * lpuartConfig->rxIdleType = kLPUART_IdleTypeStartBit; + * lpuartConfig->rxIdleConfig = kLPUART_IdleCharacter1; + * lpuartConfig->enableTx = false; + * lpuartConfig->enableRx = false; + * + * param config Pointer to a configuration structure. + */ +void LPUART_GetDefaultConfig(lpuart_config_t *config) +{ + assert(NULL != config); + + /* Initializes the configure structure to zero. */ + (void)memset(config, 0, sizeof(*config)); + + config->baudRate_Bps = 115200U; + config->parityMode = kLPUART_ParityDisabled; + config->dataBitsCount = kLPUART_EightDataBits; + config->isMsb = false; +#if defined(FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT) && FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT + config->stopBitCount = kLPUART_OneStopBit; +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + config->txFifoWatermark = 0U; + config->rxFifoWatermark = 0U; +#endif +#if defined(FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT) && FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT + config->enableRxRTS = false; + config->enableTxCTS = false; + config->txCtsConfig = kLPUART_CtsSampleAtStart; + config->txCtsSource = kLPUART_CtsSourcePin; +#endif + config->rxIdleType = kLPUART_IdleTypeStartBit; + config->rxIdleConfig = kLPUART_IdleCharacter1; + config->enableTx = false; + config->enableRx = false; +#if defined(FSL_FEATURE_LPUART_HAS_CTRL_SWAP) && FSL_FEATURE_LPUART_HAS_CTRL_SWAP + config->swapTxdRxd = false; +#endif +} + +/*! + * brief Sets the LPUART instance baudrate. + * + * This function configures the LPUART module baudrate. This function is used to update + * the LPUART module baudrate after the LPUART module is initialized by the LPUART_Init. + * code + * LPUART_SetBaudRate(LPUART1, 115200U, 20000000U); + * endcode + * + * param base LPUART peripheral base address. + * param baudRate_Bps LPUART baudrate to be set. + * param srcClock_Hz LPUART clock source frequency in HZ. + * retval kStatus_LPUART_BaudrateNotSupport Baudrate is not supported in the current clock source. + * retval kStatus_Success Set baudrate succeeded. + */ +status_t LPUART_SetBaudRate(LPUART_Type *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz) +{ + assert(0U < baudRate_Bps); + + status_t status = kStatus_Success; + uint32_t temp, oldCtrl; + uint16_t sbr, sbrTemp; + uint8_t osr, osrTemp; + uint32_t tempDiff, calculatedBaud, baudDiff; + + /* This LPUART instantiation uses a slightly different baud rate calculation + * The idea is to use the best OSR (over-sampling rate) possible + * Note, OSR is typically hard-set to 16 in other LPUART instantiations + * loop to find the best OSR value possible, one that generates minimum baudDiff + * iterate through the rest of the supported values of OSR */ + + baudDiff = baudRate_Bps; + osr = 0U; + sbr = 0U; + for (osrTemp = 4U; osrTemp <= 32U; osrTemp++) + { + /* calculate the temporary sbr value */ + sbrTemp = (uint16_t)((srcClock_Hz * 2U / (baudRate_Bps * (uint32_t)osrTemp) + 1U) / 2U); + /*set sbrTemp to 1 if the sourceClockInHz can not satisfy the desired baud rate*/ + if (sbrTemp == 0U) + { + sbrTemp = 1U; + } + else if (sbrTemp > LPUART_BAUD_SBR_MASK) + { + sbrTemp = LPUART_BAUD_SBR_MASK; + } + else + { + /* Avoid MISRA 15.7 */ + } + /* Calculate the baud rate based on the temporary OSR and SBR values */ + calculatedBaud = srcClock_Hz / ((uint32_t)osrTemp * (uint32_t)sbrTemp); + + tempDiff = calculatedBaud > baudRate_Bps ? (calculatedBaud - baudRate_Bps) : (baudRate_Bps - calculatedBaud); + + if (tempDiff <= baudDiff) + { + baudDiff = tempDiff; + osr = osrTemp; /* update and store the best OSR value calculated */ + sbr = sbrTemp; /* update store the best SBR value calculated */ + } + } + + /* Check to see if actual baud rate is within 3% of desired baud rate + * based on the best calculate OSR value */ + if (baudDiff < (uint32_t)((baudRate_Bps / 100U) * 3U)) + { + /* Store CTRL before disable Tx and Rx */ + oldCtrl = base->CTRL; + + /* Disable LPUART TX RX before setting. */ + base->CTRL &= ~(LPUART_CTRL_TE_MASK | LPUART_CTRL_RE_MASK); + + temp = base->BAUD; + + /* Acceptable baud rate, check if OSR is between 4x and 7x oversampling. + * If so, then "BOTHEDGE" sampling must be turned on */ + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_1$ + */ + if ((osr > 3U) && (osr < 8U)) + { + temp |= LPUART_BAUD_BOTHEDGE_MASK; + } + + /* program the osr value (bit value is one less than actual value) */ + temp &= ~LPUART_BAUD_OSR_MASK; + temp |= LPUART_BAUD_OSR((uint32_t)osr - 1UL); + + /* write the sbr value to the BAUD registers */ + temp &= ~LPUART_BAUD_SBR_MASK; + base->BAUD = temp | LPUART_BAUD_SBR(sbr); + + /* Restore CTRL. */ + base->CTRL = oldCtrl; + } + else + { + /* Unacceptable baud rate difference of more than 3%*/ + status = kStatus_LPUART_BaudrateNotSupport; + } + + return status; +} + +/*! + * brief Enable 9-bit data mode for LPUART. + * + * This function set the 9-bit mode for LPUART module. The 9th bit is not used for parity thus can be modified by user. + * + * param base LPUART peripheral base address. + * param enable true to enable, flase to disable. + */ +void LPUART_Enable9bitMode(LPUART_Type *base, bool enable) +{ + assert(base != NULL); + + uint32_t temp = 0U; + + if (enable) + { + /* Set LPUART_CTRL_M for 9-bit mode, clear LPUART_CTRL_PE to disable parity. */ + temp = base->CTRL & ~((uint32_t)LPUART_CTRL_PE_MASK | (uint32_t)LPUART_CTRL_M_MASK); + temp |= (uint32_t)LPUART_CTRL_M_MASK; + base->CTRL = temp; + } + else + { + /* Clear LPUART_CTRL_M. */ + base->CTRL &= ~(uint32_t)LPUART_CTRL_M_MASK; + } +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + /* Clear LPUART_CTRL_M7 to disable 7-bit mode. */ + base->CTRL &= ~(uint32_t)LPUART_CTRL_M7_MASK; +#endif +#if defined(FSL_FEATURE_LPUART_HAS_10BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_10BIT_DATA_SUPPORT + /* Clear LPUART_BAUD_M10 to disable 10-bit mode. */ + base->BAUD &= ~(uint32_t)LPUART_BAUD_M10_MASK; +#endif +} + +/*! + * brief Transmit an address frame in 9-bit data mode. + * + * param base LPUART peripheral base address. + * param address LPUART slave address. + */ +void LPUART_SendAddress(LPUART_Type *base, uint8_t address) +{ + assert(base != NULL); + + uint32_t temp = base->DATA & 0xFFFFFC00UL; + temp |= ((uint32_t)address | (1UL << LPUART_DATA_R8T8_SHIFT)); + base->DATA = temp; +} + +/*! + * brief Enables LPUART interrupts according to a provided mask. + * + * This function enables the LPUART interrupts according to a provided mask. The mask + * is a logical OR of enumeration members. See the ref _lpuart_interrupt_enable. + * This examples shows how to enable TX empty interrupt and RX full interrupt: + * code + * LPUART_EnableInterrupts(LPUART1,kLPUART_TxDataRegEmptyInterruptEnable | kLPUART_RxDataRegFullInterruptEnable); + * endcode + * + * param base LPUART peripheral base address. + * param mask The interrupts to enable. Logical OR of ref _lpuart_interrupt_enable. + */ +void LPUART_EnableInterrupts(LPUART_Type *base, uint32_t mask) +{ + uint32_t s_atomicOldInt; + /* Only consider the real interrupt enable bits. */ + mask &= (uint32_t)kLPUART_AllInterruptEnable; + + /* Check int enable bits in base->BAUD */ + uint32_t baudRegMask = 0UL; +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + baudRegMask |= ((mask << 8U) & LPUART_BAUD_LBKDIE_MASK); + /* Clear bit 7 from mask */ + mask &= ~(uint32_t)kLPUART_LinBreakInterruptEnable; +#endif + baudRegMask |= ((mask << 8U) & LPUART_BAUD_RXEDGIE_MASK); + /* Clear bit 6 from mask */ + mask &= ~(uint32_t)kLPUART_RxActiveEdgeInterruptEnable; + + s_atomicOldInt = DisableGlobalIRQ(); + base->BAUD |= baudRegMask; + EnableGlobalIRQ(s_atomicOldInt); + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + /* Check int enable bits in base->FIFO */ + + s_atomicOldInt = DisableGlobalIRQ(); + base->FIFO = (base->FIFO & ~(LPUART_FIFO_TXOF_MASK | LPUART_FIFO_RXUF_MASK)) | + (mask & (LPUART_FIFO_TXOFE_MASK | LPUART_FIFO_RXUFE_MASK)); + EnableGlobalIRQ(s_atomicOldInt); + + /* Clear bit 9 and bit 8 from mask */ + mask &= ~((uint32_t)kLPUART_TxFifoOverflowInterruptEnable | (uint32_t)kLPUART_RxFifoUnderflowInterruptEnable); +#endif + + /* Set int enable bits in base->CTRL */ + s_atomicOldInt = DisableGlobalIRQ(); + base->CTRL |= mask; + EnableGlobalIRQ(s_atomicOldInt); +} + +/*! + * brief Disables LPUART interrupts according to a provided mask. + * + * This function disables the LPUART interrupts according to a provided mask. The mask + * is a logical OR of enumeration members. See ref _lpuart_interrupt_enable. + * This example shows how to disable the TX empty interrupt and RX full interrupt: + * code + * LPUART_DisableInterrupts(LPUART1,kLPUART_TxDataRegEmptyInterruptEnable | kLPUART_RxDataRegFullInterruptEnable); + * endcode + * + * param base LPUART peripheral base address. + * param mask The interrupts to disable. Logical OR of ref _lpuart_interrupt_enable. + */ +void LPUART_DisableInterrupts(LPUART_Type *base, uint32_t mask) +{ + uint32_t s_atomicOldInt; + /* Only consider the real interrupt enable bits. */ + mask &= (uint32_t)kLPUART_AllInterruptEnable; + + /* Clear int enable bits in base->BAUD */ + uint32_t baudRegMask = 0UL; +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + baudRegMask |= ((mask << 8U) & LPUART_BAUD_LBKDIE_MASK); + /* Clear bit 7 from mask */ + mask &= ~(uint32_t)kLPUART_LinBreakInterruptEnable; +#endif + baudRegMask |= ((mask << 8U) & LPUART_BAUD_RXEDGIE_MASK); + /* Clear bit 6 from mask */ + mask &= ~(uint32_t)kLPUART_RxActiveEdgeInterruptEnable; + + s_atomicOldInt = DisableGlobalIRQ(); + base->BAUD &= ~baudRegMask; + EnableGlobalIRQ(s_atomicOldInt); + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + /* Clear int enable bits in base->FIFO */ + + s_atomicOldInt = DisableGlobalIRQ(); + base->FIFO = (base->FIFO & ~(LPUART_FIFO_TXOF_MASK | LPUART_FIFO_RXUF_MASK)) & + ~(mask & (LPUART_FIFO_TXOFE_MASK | LPUART_FIFO_RXUFE_MASK)); + EnableGlobalIRQ(s_atomicOldInt); + /* Clear bit 9 and bit 8 from mask */ + mask &= ~((uint32_t)kLPUART_TxFifoOverflowInterruptEnable | (uint32_t)kLPUART_RxFifoUnderflowInterruptEnable); +#endif + + /* Clear int enable bits in base->CTRL */ + s_atomicOldInt = DisableGlobalIRQ(); + base->CTRL &= ~mask; + EnableGlobalIRQ(s_atomicOldInt); +} + +/*! + * brief Gets enabled LPUART interrupts. + * + * This function gets the enabled LPUART interrupts. The enabled interrupts are returned + * as the logical OR value of the enumerators ref _lpuart_interrupt_enable. To check + * a specific interrupt enable status, compare the return value with enumerators + * in ref _lpuart_interrupt_enable. + * For example, to check whether the TX empty interrupt is enabled: + * code + * uint32_t enabledInterrupts = LPUART_GetEnabledInterrupts(LPUART1); + * + * if (kLPUART_TxDataRegEmptyInterruptEnable & enabledInterrupts) + * { + * ... + * } + * endcode + * + * param base LPUART peripheral base address. + * return LPUART interrupt flags which are logical OR of the enumerators in ref _lpuart_interrupt_enable. + */ +uint32_t LPUART_GetEnabledInterrupts(LPUART_Type *base) +{ + /* Check int enable bits in base->CTRL */ + uint32_t temp = (uint32_t)(base->CTRL & (uint32_t)kLPUART_AllInterruptEnable); + + /* Check int enable bits in base->BAUD */ + temp = (temp & ~(uint32_t)kLPUART_RxActiveEdgeInterruptEnable) | ((base->BAUD & LPUART_BAUD_RXEDGIE_MASK) >> 8U); +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + temp = (temp & ~(uint32_t)kLPUART_LinBreakInterruptEnable) | ((base->BAUD & LPUART_BAUD_LBKDIE_MASK) >> 8U); +#endif + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + /* Check int enable bits in base->FIFO */ + temp = + (temp & ~((uint32_t)kLPUART_TxFifoOverflowInterruptEnable | (uint32_t)kLPUART_RxFifoUnderflowInterruptEnable)) | + (base->FIFO & (LPUART_FIFO_TXOFE_MASK | LPUART_FIFO_RXUFE_MASK)); +#endif + + return temp; +} + +/*! + * brief Gets LPUART status flags. + * + * This function gets all LPUART status flags. The flags are returned as the logical + * OR value of the enumerators ref _lpuart_flags. To check for a specific status, + * compare the return value with enumerators in the ref _lpuart_flags. + * For example, to check whether the TX is empty: + * code + * if (kLPUART_TxDataRegEmptyFlag & LPUART_GetStatusFlags(LPUART1)) + * { + * ... + * } + * endcode + * + * param base LPUART peripheral base address. + * return LPUART status flags which are ORed by the enumerators in the _lpuart_flags. + */ +uint32_t LPUART_GetStatusFlags(LPUART_Type *base) +{ + uint32_t temp; + temp = base->STAT; +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + temp |= (base->FIFO & + (LPUART_FIFO_TXEMPT_MASK | LPUART_FIFO_RXEMPT_MASK | LPUART_FIFO_TXOF_MASK | LPUART_FIFO_RXUF_MASK)) >> + 16U; +#endif + /* Only keeps the status bits */ + temp &= (uint32_t)kLPUART_AllFlags; + return temp; +} + +/*! + * brief Clears status flags with a provided mask. + * + * This function clears LPUART status flags with a provided mask. Automatically cleared flags + * can't be cleared by this function. + * Flags that can only cleared or set by hardware are: + * kLPUART_TxDataRegEmptyFlag, kLPUART_TransmissionCompleteFlag, kLPUART_RxDataRegFullFlag, + * kLPUART_RxActiveFlag, kLPUART_NoiseErrorFlag, kLPUART_ParityErrorFlag, + * kLPUART_TxFifoEmptyFlag,kLPUART_RxFifoEmptyFlag + * Note: This API should be called when the Tx/Rx is idle, otherwise it takes no effects. + * + * param base LPUART peripheral base address. + * param mask the status flags to be cleared. The user can use the enumerators in the + * _lpuart_status_flag_t to do the OR operation and get the mask. + * return 0 succeed, others failed. + * retval kStatus_LPUART_FlagCannotClearManually The flag can't be cleared by this function but + * it is cleared automatically by hardware. + * retval kStatus_Success Status in the mask are cleared. + */ +status_t LPUART_ClearStatusFlags(LPUART_Type *base, uint32_t mask) +{ + uint32_t temp; + status_t status; + + /* Only deal with the clearable flags */ + mask &= (uint32_t)kLPUART_AllClearFlags; +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + /* Status bits in FIFO register */ + if ((mask & ((uint32_t)kLPUART_TxFifoOverflowFlag | (uint32_t)kLPUART_RxFifoUnderflowFlag)) != 0U) + { + /* Get the FIFO register value and mask the rx/tx FIFO flush bits and the status bits that can be W1C in case + they are written 1 accidentally. */ + temp = (uint32_t)base->FIFO; + temp &= (uint32_t)(~(LPUART_FIFO_TXFLUSH_MASK | LPUART_FIFO_RXFLUSH_MASK | LPUART_FIFO_TXOF_MASK | + LPUART_FIFO_RXUF_MASK)); + temp |= (mask << 16U) & (LPUART_FIFO_TXOF_MASK | LPUART_FIFO_RXUF_MASK); + base->FIFO = temp; + } +#endif + /* Status bits in STAT register */ + /* First get the STAT register value and mask all the bits that not represent status, then OR with the status bit + * that is to be W1C */ + temp = (base->STAT & 0x3E000000UL) | mask; + base->STAT = temp; + /* If some flags still pending. */ + if (0U != (mask & LPUART_GetStatusFlags(base))) + { + status = kStatus_LPUART_FlagCannotClearManually; + } + else + { + status = kStatus_Success; + } + + return status; +} + +/*! + * brief Writes to the transmitter register using a blocking method. + * + * This function polls the transmitter register, first waits for the register to be empty or TX FIFO to have room, + * and writes data to the transmitter buffer, then waits for the data to be sent out to bus. + * + * param base LPUART peripheral base address. + * param data Start address of the data to write. + * param length Size of the data to write. + * retval kStatus_LPUART_Timeout Transmission timed out and was aborted. + * retval kStatus_Success Successfully wrote all data. + */ +status_t LPUART_WriteBlocking(LPUART_Type *base, const uint8_t *data, size_t length) +{ + assert(NULL != data); + + const uint8_t *dataAddress = data; + size_t transferSize = length; + +#if UART_RETRY_TIMES + uint32_t waitTimes; +#endif + + while (0U != transferSize) + { +#if UART_RETRY_TIMES + waitTimes = UART_RETRY_TIMES; + while ((0U == (base->STAT & LPUART_STAT_TDRE_MASK)) && (0U != --waitTimes)) +#else + while (0U == (base->STAT & LPUART_STAT_TDRE_MASK)) +#endif + { + } +#if UART_RETRY_TIMES + if (0U == waitTimes) + { + return kStatus_LPUART_Timeout; + } +#endif + base->DATA = *(dataAddress); + dataAddress++; + transferSize--; + } + /* Ensure all the data in the transmit buffer are sent out to bus. */ +#if UART_RETRY_TIMES + waitTimes = UART_RETRY_TIMES; + while ((0U == (base->STAT & LPUART_STAT_TC_MASK)) && (0U != --waitTimes)) +#else + while (0U == (base->STAT & LPUART_STAT_TC_MASK)) +#endif + { + } +#if UART_RETRY_TIMES + if (0U == waitTimes) + { + return kStatus_LPUART_Timeout; + } +#endif + return kStatus_Success; +} +/*! + * brief Writes to the transmitter register using a blocking method in 9bit or 10bit mode. + * + * note This function only support 9bit or 10bit transfer. + * Please make sure only 10bit of data is valid and other bits are 0. + * + * param base LPUART peripheral base address. + * param data Start address of the data to write. + * param length Size of the data to write. + * retval kStatus_LPUART_Timeout Transmission timed out and was aborted. + * retval kStatus_Success Successfully wrote all data. + */ +status_t LPUART_WriteBlocking16bit(LPUART_Type *base, const uint16_t *data, size_t length) +{ + assert(NULL != data); + + const uint16_t *dataAddress = data; + size_t transferSize = length; + +#if UART_RETRY_TIMES + uint32_t waitTimes; +#endif + + while (0U != transferSize) + { +#if UART_RETRY_TIMES + waitTimes = UART_RETRY_TIMES; + while ((0U == (base->STAT & LPUART_STAT_TDRE_MASK)) && (0U != --waitTimes)) +#else + while (0U == (base->STAT & LPUART_STAT_TDRE_MASK)) +#endif + { + } +#if UART_RETRY_TIMES + if (0U == waitTimes) + { + return kStatus_LPUART_Timeout; + } +#endif + base->DATA = *(dataAddress); + dataAddress++; + transferSize--; + } + /* Ensure all the data in the transmit buffer are sent out to bus. */ +#if UART_RETRY_TIMES + waitTimes = UART_RETRY_TIMES; + while ((0U == (base->STAT & LPUART_STAT_TC_MASK)) && (0U != --waitTimes)) +#else + while (0U == (base->STAT & LPUART_STAT_TC_MASK)) +#endif + { + } +#if UART_RETRY_TIMES + if (0U == waitTimes) + { + return kStatus_LPUART_Timeout; + } +#endif + return kStatus_Success; +} + +/*! + * brief Reads the receiver data register using a blocking method. + * + * This function polls the receiver register, waits for the receiver register full or receiver FIFO + * has data, and reads data from the TX register. + * + * param base LPUART peripheral base address. + * param data Start address of the buffer to store the received data. + * param length Size of the buffer. + * retval kStatus_LPUART_RxHardwareOverrun Receiver overrun happened while receiving data. + * retval kStatus_LPUART_NoiseError Noise error happened while receiving data. + * retval kStatus_LPUART_FramingError Framing error happened while receiving data. + * retval kStatus_LPUART_ParityError Parity error happened while receiving data. + * retval kStatus_LPUART_Timeout Transmission timed out and was aborted. + * retval kStatus_Success Successfully received all data. + */ +status_t LPUART_ReadBlocking(LPUART_Type *base, uint8_t *data, size_t length) +{ + assert(NULL != data); + + status_t status = kStatus_Success; + uint32_t statusFlag; + uint8_t *dataAddress = data; + +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + uint32_t ctrl = base->CTRL; + bool isSevenDataBits = (((ctrl & LPUART_CTRL_M7_MASK) != 0U) || + (((ctrl & LPUART_CTRL_M_MASK) == 0U) && ((ctrl & LPUART_CTRL_PE_MASK) != 0U))); +#endif + +#if UART_RETRY_TIMES + uint32_t waitTimes; +#endif + + while (0U != (length--)) + { +#if UART_RETRY_TIMES + waitTimes = UART_RETRY_TIMES; +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + while (0U == ((base->WATER & LPUART_WATER_RXCOUNT_MASK) >> LPUART_WATER_RXCOUNT_SHIFT)) +#else + while (0U == (base->STAT & LPUART_STAT_RDRF_MASK)) +#endif + { +#if UART_RETRY_TIMES + if (0U == --waitTimes) + { + status = kStatus_LPUART_Timeout; + break; + } +#endif + statusFlag = LPUART_GetStatusFlags(base); + + if (0U != (statusFlag & (uint32_t)kLPUART_RxOverrunFlag)) + { + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_2$. + */ + status = ((kStatus_Success == LPUART_ClearStatusFlags(base, (uint32_t)kLPUART_RxOverrunFlag)) ? + (kStatus_LPUART_RxHardwareOverrun) : + (kStatus_LPUART_FlagCannotClearManually)); + /* Other error flags(FE, NF, and PF) are prevented from setting once OR is set, no need to check other + * error flags*/ + break; + } + + if (0U != (statusFlag & (uint32_t)kLPUART_ParityErrorFlag)) + { + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_2$. + */ + status = ((kStatus_Success == LPUART_ClearStatusFlags(base, (uint32_t)kLPUART_ParityErrorFlag)) ? + (kStatus_LPUART_ParityError) : + (kStatus_LPUART_FlagCannotClearManually)); + } + + if (0U != (statusFlag & (uint32_t)kLPUART_FramingErrorFlag)) + { + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_2$. + */ + status = ((kStatus_Success == LPUART_ClearStatusFlags(base, (uint32_t)kLPUART_FramingErrorFlag)) ? + (kStatus_LPUART_FramingError) : + (kStatus_LPUART_FlagCannotClearManually)); + } + + if (0U != (statusFlag & (uint32_t)kLPUART_NoiseErrorFlag)) + { + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_2$. + */ + status = ((kStatus_Success == LPUART_ClearStatusFlags(base, (uint32_t)kLPUART_NoiseErrorFlag)) ? + (kStatus_LPUART_NoiseError) : + (kStatus_LPUART_FlagCannotClearManually)); + } + if (kStatus_Success != status) + { + break; + } + } + + if (kStatus_Success == status) + { +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + if (isSevenDataBits) + { + *(dataAddress) = (uint8_t)(base->DATA & 0x7FU); + dataAddress++; + } + else + { + *(dataAddress) = (uint8_t)base->DATA; + dataAddress++; + } +#else + *(dataAddress) = (uint8_t)base->DATA; + dataAddress++; +#endif + } + else + { + break; + } + } + + return status; +} +/*! + * brief Reads the receiver data register in 9bit or 10bit mode. + * + * note This function only support 9bit or 10bit transfer. + * + * param base LPUART peripheral base address. + * param data Start address of the buffer to store the received data by 16bit, only 10bit is valid. + * param length Size of the buffer. + * retval kStatus_LPUART_RxHardwareOverrun Receiver overrun happened while receiving data. + * retval kStatus_LPUART_NoiseError Noise error happened while receiving data. + * retval kStatus_LPUART_FramingError Framing error happened while receiving data. + * retval kStatus_LPUART_ParityError Parity error happened while receiving data. + * retval kStatus_LPUART_Timeout Transmission timed out and was aborted. + * retval kStatus_Success Successfully received all data. + */ +status_t LPUART_ReadBlocking16bit(LPUART_Type *base, uint16_t *data, size_t length) +{ + assert(NULL != data); + + status_t status = kStatus_Success; + uint32_t statusFlag; + uint16_t *dataAddress = data; + +#if UART_RETRY_TIMES + uint32_t waitTimes; +#endif + + while (0U != (length--)) + { +#if UART_RETRY_TIMES + waitTimes = UART_RETRY_TIMES; +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + while (0U == ((base->WATER & LPUART_WATER_RXCOUNT_MASK) >> LPUART_WATER_RXCOUNT_SHIFT)) +#else + while (0U == (base->STAT & LPUART_STAT_RDRF_MASK)) +#endif + { +#if UART_RETRY_TIMES + if (0U == --waitTimes) + { + status = kStatus_LPUART_Timeout; + break; + } +#endif + statusFlag = LPUART_GetStatusFlags(base); + + if (0U != (statusFlag & (uint32_t)kLPUART_RxOverrunFlag)) + { + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_2$. + */ + status = ((kStatus_Success == LPUART_ClearStatusFlags(base, (uint32_t)kLPUART_RxOverrunFlag)) ? + (kStatus_LPUART_RxHardwareOverrun) : + (kStatus_LPUART_FlagCannotClearManually)); + /* Other error flags(FE, NF, and PF) are prevented from setting once OR is set, no need to check other + * error flags*/ + break; + } + + if (0U != (statusFlag & (uint32_t)kLPUART_ParityErrorFlag)) + { + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_2$. + */ + status = ((kStatus_Success == LPUART_ClearStatusFlags(base, (uint32_t)kLPUART_ParityErrorFlag)) ? + (kStatus_LPUART_ParityError) : + (kStatus_LPUART_FlagCannotClearManually)); + } + + if (0U != (statusFlag & (uint32_t)kLPUART_FramingErrorFlag)) + { + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_2$. + */ + status = ((kStatus_Success == LPUART_ClearStatusFlags(base, (uint32_t)kLPUART_FramingErrorFlag)) ? + (kStatus_LPUART_FramingError) : + (kStatus_LPUART_FlagCannotClearManually)); + } + + if (0U != (statusFlag & (uint32_t)kLPUART_NoiseErrorFlag)) + { + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_c_ref_2$. + */ + status = ((kStatus_Success == LPUART_ClearStatusFlags(base, (uint32_t)kLPUART_NoiseErrorFlag)) ? + (kStatus_LPUART_NoiseError) : + (kStatus_LPUART_FlagCannotClearManually)); + } + if (kStatus_Success != status) + { + break; + } + } + if (kStatus_Success == status) + { + *(dataAddress) = (uint16_t)(base->DATA & 0x03FFU); + dataAddress++; + } + else + { + break; + } + } + + return status; +} + +/*! + * brief Initializes the LPUART handle. + * + * This function initializes the LPUART handle, which can be used for other LPUART + * transactional APIs. Usually, for a specified LPUART instance, + * call this API once to get the initialized handle. + * + * The LPUART driver supports the "background" receiving, which means that user can set up + * an RX ring buffer optionally. Data received is stored into the ring buffer even when the + * user doesn't call the LPUART_TransferReceiveNonBlocking() API. If there is already data received + * in the ring buffer, the user can get the received data from the ring buffer directly. + * The ring buffer is disabled if passing NULL as p ringBuffer. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param callback Callback function. + * param userData User data. + */ +void LPUART_TransferCreateHandle(LPUART_Type *base, + lpuart_handle_t *handle, + lpuart_transfer_callback_t callback, + void *userData) +{ + assert(NULL != handle); + + uint32_t instance; + +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + uint32_t ctrl = base->CTRL; + bool isSevenDataBits = (((ctrl & LPUART_CTRL_M7_MASK) != 0U) || + (((ctrl & LPUART_CTRL_M_MASK) == 0U) && ((ctrl & LPUART_CTRL_PE_MASK) != 0U))); +#endif + + /* Zero the handle. */ + (void)memset(handle, 0, sizeof(lpuart_handle_t)); + + /* Set the TX/RX state. */ + handle->rxState = (uint8_t)kLPUART_RxIdle; + handle->txState = (uint8_t)kLPUART_TxIdle; + + /* Set the callback and user data. */ + handle->callback = callback; + handle->userData = userData; + +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + /* Initial seven data bits flag */ + handle->isSevenDataBits = isSevenDataBits; +#endif + handle->is16bitData = false; + + /* Get instance from peripheral base address. */ + instance = LPUART_GetInstance(base); + + /* Save the handle in global variables to support the double weak mechanism. */ + s_lpuartHandle[instance] = handle; + + s_lpuartIsr[instance] = LPUART_TransferHandleIRQ; + +/* Enable interrupt in NVIC. */ +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +#if defined(LPUART_RX_IRQS) + (void)EnableIRQ(s_lpuartRxIRQ[instance]); +#endif +#if defined(LPUART_TX_IRQS) + (void)EnableIRQ(s_lpuartTxIRQ[instance]); +#endif +#else +#if defined(LPUART_RX_TX_IRQS) + (void)EnableIRQ(s_lpuartIRQ[instance]); +#endif +#endif +} + +/*! + * brief Sets up the RX ring buffer. + * + * This function sets up the RX ring buffer to a specific UART handle. + * + * When the RX ring buffer is used, data received is stored into the ring buffer even when + * the user doesn't call the UART_TransferReceiveNonBlocking() API. If there is already data received + * in the ring buffer, the user can get the received data from the ring buffer directly. + * + * note When using RX ring buffer, one byte is reserved for internal use. In other + * words, if p ringBufferSize is 32, then only 31 bytes are used for saving data. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param ringBuffer Start address of ring buffer for background receiving. Pass NULL to disable the ring buffer. + * param ringBufferSize size of the ring buffer. + */ +void LPUART_TransferStartRingBuffer(LPUART_Type *base, + lpuart_handle_t *handle, + uint8_t *ringBuffer, + size_t ringBufferSize) +{ + assert(NULL != handle); + assert(NULL != ringBuffer); + + /* Setup the ring buffer address */ + handle->rxRingBuffer = ringBuffer; + if (!handle->is16bitData) + { + handle->rxRingBufferSize = ringBufferSize; + } + else + { + handle->rxRingBufferSize = ringBufferSize / 2U; + } + handle->rxRingBufferHead = 0U; + handle->rxRingBufferTail = 0U; + + /* Disable and re-enable the global interrupt to protect the interrupt enable register during read-modify-wrte. */ + uint32_t irqMask = DisableGlobalIRQ(); + /* Enable the interrupt to accept the data when user need the ring buffer. */ + base->CTRL |= (uint32_t)(LPUART_CTRL_RIE_MASK | LPUART_CTRL_ORIE_MASK); + EnableGlobalIRQ(irqMask); +} + +/*! + * brief Aborts the background transfer and uninstalls the ring buffer. + * + * This function aborts the background transfer and uninstalls the ring buffer. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + */ +void LPUART_TransferStopRingBuffer(LPUART_Type *base, lpuart_handle_t *handle) +{ + assert(NULL != handle); + + if (handle->rxState == (uint8_t)kLPUART_RxIdle) + { + /* Disable and re-enable the global interrupt to protect the interrupt enable register during read-modify-wrte. + */ + uint32_t irqMask = DisableGlobalIRQ(); + base->CTRL &= ~(uint32_t)(LPUART_CTRL_RIE_MASK | LPUART_CTRL_ORIE_MASK); + EnableGlobalIRQ(irqMask); + } + + handle->rxRingBuffer = NULL; + handle->rxRingBufferSize = 0U; + handle->rxRingBufferHead = 0U; + handle->rxRingBufferTail = 0U; +} + +/*! + * brief Transmits a buffer of data using the interrupt method. + * + * This function send data using an interrupt method. This is a non-blocking function, which + * returns directly without waiting for all data written to the transmitter register. When + * all data is written to the TX register in the ISR, the LPUART driver calls the callback + * function and passes the ref kStatus_LPUART_TxIdle as status parameter. + * + * note The kStatus_LPUART_TxIdle is passed to the upper layer when all data are written + * to the TX register. However, there is no check to ensure that all the data sent out. Before disabling the TX, + * check the kLPUART_TransmissionCompleteFlag to ensure that the transmit is finished. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param xfer LPUART transfer structure, see #lpuart_transfer_t. + * retval kStatus_Success Successfully start the data transmission. + * retval kStatus_LPUART_TxBusy Previous transmission still not finished, data not all written to the TX register. + * retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_TransferSendNonBlocking(LPUART_Type *base, lpuart_handle_t *handle, lpuart_transfer_t *xfer) +{ + assert(NULL != handle); + assert(NULL != xfer); + assert(NULL != xfer->txData); + assert(0U != xfer->dataSize); + + status_t status; + + /* Return error if current TX busy. */ + if ((uint8_t)kLPUART_TxBusy == handle->txState) + { + status = kStatus_LPUART_TxBusy; + } + else + { + if (!handle->is16bitData) + { + handle->txData = xfer->txData; + } + else + { + handle->txData16 = xfer->txData16; + } + handle->txDataSize = xfer->dataSize; + handle->txDataSizeAll = xfer->dataSize; + handle->txState = (uint8_t)kLPUART_TxBusy; + + /* Disable and re-enable the global interrupt to protect the interrupt enable register during read-modify-wrte. + */ + uint32_t irqMask = DisableGlobalIRQ(); + /* Enable transmitter interrupt. */ + base->CTRL |= (uint32_t)LPUART_CTRL_TIE_MASK; + EnableGlobalIRQ(irqMask); + + status = kStatus_Success; + } + + return status; +} + +/*! + * brief Aborts the interrupt-driven data transmit. + * + * This function aborts the interrupt driven data sending. The user can get the remainBtyes to find out + * how many bytes are not sent out. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + */ +void LPUART_TransferAbortSend(LPUART_Type *base, lpuart_handle_t *handle) +{ + assert(NULL != handle); + + /* Disable and re-enable the global interrupt to protect the interrupt enable register during read-modify-wrte. */ + uint32_t irqMask = DisableGlobalIRQ(); + base->CTRL &= ~(uint32_t)(LPUART_CTRL_TIE_MASK | LPUART_CTRL_TCIE_MASK); + EnableGlobalIRQ(irqMask); + + handle->txDataSize = 0; + handle->txState = (uint8_t)kLPUART_TxIdle; +} + +/*! + * brief Gets the number of bytes that have been sent out to bus. + * + * This function gets the number of bytes that have been sent out to bus by an interrupt method. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param count Send bytes count. + * retval kStatus_NoTransferInProgress No send in progress. + * retval kStatus_InvalidArgument Parameter is invalid. + * retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetSendCount(LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count) +{ + assert(NULL != handle); + assert(NULL != count); + + status_t status = kStatus_Success; + size_t tmptxDataSize = handle->txDataSize; + + if ((uint8_t)kLPUART_TxIdle == handle->txState) + { + status = kStatus_NoTransferInProgress; + } + else + { +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + *count = handle->txDataSizeAll - tmptxDataSize - + ((base->WATER & LPUART_WATER_TXCOUNT_MASK) >> LPUART_WATER_TXCOUNT_SHIFT); +#else + if ((base->STAT & (uint32_t)kLPUART_TxDataRegEmptyFlag) != 0U) + { + *count = handle->txDataSizeAll - tmptxDataSize; + } + else + { + *count = handle->txDataSizeAll - tmptxDataSize - 1U; + } +#endif + } + + return status; +} + +/*! + * brief Receives a buffer of data using the interrupt method. + * + * This function receives data using an interrupt method. This is a non-blocking function + * which returns without waiting to ensure that all data are received. + * If the RX ring buffer is used and not empty, the data in the ring buffer is copied and + * the parameter p receivedBytes shows how many bytes are copied from the ring buffer. + * After copying, if the data in the ring buffer is not enough for read, the receive + * request is saved by the LPUART driver. When the new data arrives, the receive request + * is serviced first. When all data is received, the LPUART driver notifies the upper layer + * through a callback function and passes a status parameter ref kStatus_UART_RxIdle. + * For example, the upper layer needs 10 bytes but there are only 5 bytes in ring buffer. + * The 5 bytes are copied to xfer->data, which returns with the + * parameter p receivedBytes set to 5. For the remaining 5 bytes, the newly arrived data is + * saved from xfer->data[5]. When 5 bytes are received, the LPUART driver notifies the upper layer. + * If the RX ring buffer is not enabled, this function enables the RX and RX interrupt + * to receive data to xfer->data. When all data is received, the upper layer is notified. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param xfer LPUART transfer structure, see #uart_transfer_t. + * param receivedBytes Bytes received from the ring buffer directly. + * retval kStatus_Success Successfully queue the transfer into the transmit queue. + * retval kStatus_LPUART_RxBusy Previous receive request is not finished. + * retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_TransferReceiveNonBlocking(LPUART_Type *base, + lpuart_handle_t *handle, + lpuart_transfer_t *xfer, + size_t *receivedBytes) +{ + assert(NULL != handle); + assert(NULL != xfer); + assert(NULL != xfer->rxData); + assert(0U != xfer->dataSize); + + uint32_t i; + status_t status; + uint32_t irqMask; + /* How many bytes to copy from ring buffer to user memory. */ + size_t bytesToCopy = 0U; + /* How many bytes to receive. */ + size_t bytesToReceive; + /* How many bytes currently have received. */ + size_t bytesCurrentReceived; + + /* How to get data: + 1. If RX ring buffer is not enabled, then save xfer->data and xfer->dataSize + to lpuart handle, enable interrupt to store received data to xfer->data. When + all data received, trigger callback. + 2. If RX ring buffer is enabled and not empty, get data from ring buffer first. + If there are enough data in ring buffer, copy them to xfer->data and return. + If there are not enough data in ring buffer, copy all of them to xfer->data, + save the xfer->data remained empty space to lpuart handle, receive data + to this empty space and trigger callback when finished. */ + + if ((uint8_t)kLPUART_RxBusy == handle->rxState) + { + status = kStatus_LPUART_RxBusy; + } + else + { + bytesToReceive = xfer->dataSize; + bytesCurrentReceived = 0; + + /* If RX ring buffer is used. */ + if (NULL != handle->rxRingBuffer) + { + /* Disable and re-enable the global interrupt to protect the interrupt enable register during + * read-modify-wrte. */ + irqMask = DisableGlobalIRQ(); + /* Disable LPUART RX IRQ, protect ring buffer. */ + base->CTRL &= ~(uint32_t)(LPUART_CTRL_RIE_MASK | LPUART_CTRL_ORIE_MASK); + EnableGlobalIRQ(irqMask); + + /* How many bytes in RX ring buffer currently. */ + bytesToCopy = LPUART_TransferGetRxRingBufferLength(base, handle); + + if (0U != bytesToCopy) + { + bytesToCopy = MIN(bytesToReceive, bytesToCopy); + + bytesToReceive -= bytesToCopy; + + /* Copy data from ring buffer to user memory. */ + for (i = 0U; i < bytesToCopy; i++) + { + if (!handle->is16bitData) + { + xfer->rxData[bytesCurrentReceived] = handle->rxRingBuffer[handle->rxRingBufferTail]; + } + else + { + xfer->rxData16[bytesCurrentReceived] = handle->rxRingBuffer16[handle->rxRingBufferTail]; + } + bytesCurrentReceived++; + + /* Wrap to 0. Not use modulo (%) because it might be large and slow. */ + if (((uint32_t)handle->rxRingBufferTail + 1U) == handle->rxRingBufferSize) + { + handle->rxRingBufferTail = 0U; + } + else + { + handle->rxRingBufferTail++; + } + } + } + + /* If ring buffer does not have enough data, still need to read more data. */ + if (0U != bytesToReceive) + { + /* No data in ring buffer, save the request to LPUART handle. */ + + if (!handle->is16bitData) + { + handle->rxData = &xfer->rxData[bytesCurrentReceived]; + } + else + { + handle->rxData16 = &xfer->rxData16[bytesCurrentReceived]; + } + handle->rxDataSize = bytesToReceive; + handle->rxDataSizeAll = xfer->dataSize; + handle->rxState = (uint8_t)kLPUART_RxBusy; + } + + /* Disable and re-enable the global interrupt to protect the interrupt enable register during + * read-modify-wrte. */ + irqMask = DisableGlobalIRQ(); + /* Re-enable LPUART RX IRQ. */ + base->CTRL |= (uint32_t)(LPUART_CTRL_RIE_MASK | LPUART_CTRL_ORIE_MASK); + EnableGlobalIRQ(irqMask); + + /* Call user callback since all data are received. */ + if (0U == bytesToReceive) + { + if (NULL != handle->callback) + { + handle->callback(base, handle, kStatus_LPUART_RxIdle, handle->userData); + } + } + } + /* Ring buffer not used. */ + else + { + if (!handle->is16bitData) + { + handle->rxData = &xfer->rxData[bytesCurrentReceived]; + } + else + { + handle->rxData16 = &xfer->rxData16[bytesCurrentReceived]; + } + handle->rxDataSize = bytesToReceive; + handle->rxDataSizeAll = bytesToReceive; + handle->rxState = (uint8_t)kLPUART_RxBusy; + + /* Disable and re-enable the global interrupt to protect the interrupt enable register during + * read-modify-wrte. */ + irqMask = DisableGlobalIRQ(); + /* Enable RX interrupt. */ + base->CTRL |= (uint32_t)(LPUART_CTRL_RIE_MASK | LPUART_CTRL_ILIE_MASK | LPUART_CTRL_ORIE_MASK); + EnableGlobalIRQ(irqMask); + } + + /* Return the how many bytes have read. */ + if (NULL != receivedBytes) + { + *receivedBytes = bytesCurrentReceived; + } + + status = kStatus_Success; + } + + return status; +} + +/*! + * brief Aborts the interrupt-driven data receiving. + * + * This function aborts the interrupt-driven data receiving. The user can get the remainBytes to find out + * how many bytes not received yet. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + */ +void LPUART_TransferAbortReceive(LPUART_Type *base, lpuart_handle_t *handle) +{ + assert(NULL != handle); + + /* Only abort the receive to handle->rxData, the RX ring buffer is still working. */ + if (NULL == handle->rxRingBuffer) + { + /* Disable and re-enable the global interrupt to protect the interrupt enable register during read-modify-wrte. + */ + uint32_t irqMask = DisableGlobalIRQ(); + /* Disable RX interrupt. */ + base->CTRL &= ~(uint32_t)(LPUART_CTRL_RIE_MASK | LPUART_CTRL_ILIE_MASK | LPUART_CTRL_ORIE_MASK); + EnableGlobalIRQ(irqMask); + } + + handle->rxDataSize = 0U; + handle->rxState = (uint8_t)kLPUART_RxIdle; +} + +/*! + * brief Gets the number of bytes that have been received. + * + * This function gets the number of bytes that have been received. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param count Receive bytes count. + * retval kStatus_NoTransferInProgress No receive in progress. + * retval kStatus_InvalidArgument Parameter is invalid. + * retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetReceiveCount(LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count) +{ + assert(NULL != handle); + assert(NULL != count); + + status_t status = kStatus_Success; + size_t tmprxDataSize = handle->rxDataSize; + + if ((uint8_t)kLPUART_RxIdle == handle->rxState) + { + status = kStatus_NoTransferInProgress; + } + else + { + *count = handle->rxDataSizeAll - tmprxDataSize; + } + + return status; +} + +static void LPUART_TransferHandleIDLEReady(LPUART_Type *base, lpuart_handle_t *handle) +{ + uint32_t irqMask; +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + uint8_t count; + uint8_t tempCount; + count = ((uint8_t)((base->WATER & LPUART_WATER_RXCOUNT_MASK) >> LPUART_WATER_RXCOUNT_SHIFT)); + + while ((0U != handle->rxDataSize) && (0U != count)) + { + tempCount = (uint8_t)MIN(handle->rxDataSize, count); + /* Using non block API to read the data from the registers. */ + if (!handle->is16bitData) + { + LPUART_ReadNonBlocking(base, handle->rxData, tempCount); + handle->rxData = &handle->rxData[tempCount]; + } + else + { + LPUART_ReadNonBlocking16bit(base, handle->rxData16, tempCount); + handle->rxData16 = &handle->rxData16[tempCount]; + } + handle->rxDataSize -= tempCount; + count -= tempCount; + + /* If rxDataSize is 0, invoke rx idle callback.*/ + if (0U == (handle->rxDataSize)) + { + handle->rxState = (uint8_t)kLPUART_RxIdle; + + if (NULL != handle->callback) + { + handle->callback(base, handle, kStatus_LPUART_RxIdle, handle->userData); + } + } + } +#endif + /* Clear IDLE flag.*/ + base->STAT = ((base->STAT & 0x3FE00000U) | LPUART_STAT_IDLE_MASK); + + /* If rxDataSize is 0, disable rx ready, overrun and idle line interrupt.*/ + if (0U == handle->rxDataSize) + { + /* Disable and re-enable the global interrupt to protect the interrupt enable register during + * read-modify-wrte. */ + irqMask = DisableGlobalIRQ(); + base->CTRL &= ~(uint32_t)(LPUART_CTRL_RIE_MASK | LPUART_CTRL_ILIE_MASK | LPUART_CTRL_ORIE_MASK); + EnableGlobalIRQ(irqMask); + } + /* Invoke callback if callback is not NULL and rxDataSize is not 0. */ + else if (NULL != handle->callback) + { + handle->callback(base, handle, kStatus_LPUART_IdleLineDetected, handle->userData); + } + else + { + /* Avoid MISRA 15.7 */ + } +} + +static void LPUART_TransferHandleReceiveDataFull(LPUART_Type *base, lpuart_handle_t *handle) +{ + uint8_t count; + uint8_t tempCount; + uint16_t tpmRxRingBufferHead; + uint32_t tpmData; + uint32_t irqMask; + + /* Get the size that can be stored into buffer for this interrupt. */ +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + count = ((uint8_t)((base->WATER & LPUART_WATER_RXCOUNT_MASK) >> LPUART_WATER_RXCOUNT_SHIFT)); +#else + count = 1; +#endif + + /* If handle->rxDataSize is not 0, first save data to handle->rxData. */ + while ((0U != handle->rxDataSize) && (0U != count)) + { +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + tempCount = (uint8_t)MIN(handle->rxDataSize, count); +#else + tempCount = 1; +#endif + + /* Using non block API to read the data from the registers. */ + if (!handle->is16bitData) + { + LPUART_ReadNonBlocking(base, handle->rxData, tempCount); + handle->rxData = &handle->rxData[tempCount]; + } + else + { + LPUART_ReadNonBlocking16bit(base, handle->rxData16, tempCount); + handle->rxData16 = &handle->rxData16[tempCount]; + } + handle->rxDataSize -= tempCount; + count -= tempCount; + + /* If all the data required for upper layer is ready, trigger callback. */ + if (0U == handle->rxDataSize) + { + handle->rxState = (uint8_t)kLPUART_RxIdle; + + if (NULL != handle->callback) + { + handle->callback(base, handle, kStatus_LPUART_RxIdle, handle->userData); + } + } + } + + /* If use RX ring buffer, receive data to ring buffer. */ + if (NULL != handle->rxRingBuffer) + { + while (0U != count) + { + count--; + /* If RX ring buffer is full, trigger callback to notify over run. */ + if (LPUART_TransferIsRxRingBufferFull(base, handle)) + { + if (NULL != handle->callback) + { + handle->callback(base, handle, kStatus_LPUART_RxRingBufferOverrun, handle->userData); + } + } + + /* If ring buffer is still full after callback function, the oldest data is overridden. */ + if (LPUART_TransferIsRxRingBufferFull(base, handle)) + { + /* Increase handle->rxRingBufferTail to make room for new data. */ + if (((uint32_t)handle->rxRingBufferTail + 1U) == handle->rxRingBufferSize) + { + handle->rxRingBufferTail = 0U; + } + else + { + handle->rxRingBufferTail++; + } + } + + /* Read data. */ + tpmRxRingBufferHead = handle->rxRingBufferHead; + tpmData = base->DATA; +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + if (handle->isSevenDataBits) + { + handle->rxRingBuffer[tpmRxRingBufferHead] = (uint8_t)(tpmData & 0x7FU); + } + else + { + if (!handle->is16bitData) + { + handle->rxRingBuffer[tpmRxRingBufferHead] = (uint8_t)tpmData; + } + else + { + handle->rxRingBuffer16[tpmRxRingBufferHead] = (uint16_t)(tpmData & 0x3FFU); + } + } +#else + if (!handle->is16bitData) + { + handle->rxRingBuffer[tpmRxRingBufferHead] = (uint8_t)tpmData; + } + else + { + handle->rxRingBuffer16[tpmRxRingBufferHead] = (uint16_t)(tpmData & 0x3FFU); + } +#endif + + /* Increase handle->rxRingBufferHead. */ + if (((uint32_t)handle->rxRingBufferHead + 1U) == handle->rxRingBufferSize) + { + handle->rxRingBufferHead = 0U; + } + else + { + handle->rxRingBufferHead++; + } + } + } + /* If no receive requst pending, stop RX interrupt. */ + else if (0U == handle->rxDataSize) + { + /* Disable and re-enable the global interrupt to protect the interrupt enable register during + * read-modify-wrte. */ + irqMask = DisableGlobalIRQ(); + base->CTRL &= ~(uint32_t)(LPUART_CTRL_RIE_MASK | LPUART_CTRL_ORIE_MASK | LPUART_CTRL_ILIE_MASK); + EnableGlobalIRQ(irqMask); + } + else + { + /* Avoid MISRA C-2012 15.7 voiation */ + return; + } +} + +static void LPUART_TransferHandleSendDataEmpty(LPUART_Type *base, lpuart_handle_t *handle) +{ + uint8_t count; + uint8_t tempCount; + uint32_t irqMask; +/* Get the bytes that available at this moment. */ +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + assert(FSL_FEATURE_LPUART_FIFO_SIZEn(base) > 0); + count = (uint8_t)FSL_FEATURE_LPUART_FIFO_SIZEn(base) - + (uint8_t)((base->WATER & LPUART_WATER_TXCOUNT_MASK) >> LPUART_WATER_TXCOUNT_SHIFT); +#else + count = 1; +#endif + + while ((0U != handle->txDataSize) && (0U != count)) + { +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + tempCount = (uint8_t)MIN(handle->txDataSize, count); +#else + tempCount = 1; +#endif + + /* Using non block API to write the data to the registers. */ + if (!handle->is16bitData) + { + LPUART_WriteNonBlocking(base, handle->txData, tempCount); + handle->txData = &handle->txData[tempCount]; + } + else + { + LPUART_WriteNonBlocking16bit(base, handle->txData16, tempCount); + handle->txData16 = &handle->txData16[tempCount]; + } + handle->txDataSize -= tempCount; + count -= tempCount; + + /* If all the data are written to data register, notify user with the callback, then TX finished. */ + if (0U == handle->txDataSize) + { + /* Disable and re-enable the global interrupt to protect the interrupt enable register during + * read-modify-wrte. */ + irqMask = DisableGlobalIRQ(); + /* Disable TX register empty interrupt and enable transmission completion interrupt. */ + base->CTRL = (base->CTRL & ~LPUART_CTRL_TIE_MASK) | LPUART_CTRL_TCIE_MASK; + EnableGlobalIRQ(irqMask); + } + } +} + +static void LPUART_TransferHandleTransmissionComplete(LPUART_Type *base, lpuart_handle_t *handle) +{ + uint32_t irqMask; + /* Set txState to idle only when all data has been sent out to bus. */ + handle->txState = (uint8_t)kLPUART_TxIdle; + + /* Disable and re-enable the global interrupt to protect the interrupt enable register during read-modify-wrte. + */ + irqMask = DisableGlobalIRQ(); + /* Disable transmission complete interrupt. */ + base->CTRL &= ~(uint32_t)LPUART_CTRL_TCIE_MASK; + EnableGlobalIRQ(irqMask); + + /* Trigger callback. */ + if (NULL != handle->callback) + { + handle->callback(base, handle, kStatus_LPUART_TxIdle, handle->userData); + } +} + +/*! + * brief LPUART IRQ handle function. + * + * This function handles the LPUART transmit and receive IRQ request. + * + * param base LPUART peripheral base address. + * param irqHandle LPUART handle pointer. + */ +void LPUART_TransferHandleIRQ(LPUART_Type *base, void *irqHandle) +{ + assert(NULL != irqHandle); + + uint32_t status = LPUART_GetStatusFlags(base); + uint32_t enabledInterrupts = LPUART_GetEnabledInterrupts(base); + + lpuart_handle_t *handle = (lpuart_handle_t *)irqHandle; + + /* If RX overrun. */ + if ((uint32_t)kLPUART_RxOverrunFlag == ((uint32_t)kLPUART_RxOverrunFlag & status)) + { + /* Clear overrun flag, otherwise the RX does not work. */ + base->STAT = ((base->STAT & 0x3FE00000U) | LPUART_STAT_OR_MASK); + + /* Trigger callback. */ + if (NULL != (handle->callback)) + { + handle->callback(base, handle, kStatus_LPUART_RxHardwareOverrun, handle->userData); + } + } + + /* If IDLE flag is set and the IDLE interrupt is enabled. */ + if ((0U != ((uint32_t)kLPUART_IdleLineFlag & status)) && + (0U != ((uint32_t)kLPUART_IdleLineInterruptEnable & enabledInterrupts))) + { + LPUART_TransferHandleIDLEReady(base, handle); + } + /* Receive data register full */ + if ((0U != ((uint32_t)kLPUART_RxDataRegFullFlag & status)) && + (0U != ((uint32_t)kLPUART_RxDataRegFullInterruptEnable & enabledInterrupts))) + { + LPUART_TransferHandleReceiveDataFull(base, handle); + } + + /* Send data register empty and the interrupt is enabled. */ + if ((0U != ((uint32_t)kLPUART_TxDataRegEmptyFlag & status)) && + (0U != ((uint32_t)kLPUART_TxDataRegEmptyInterruptEnable & enabledInterrupts))) + { + LPUART_TransferHandleSendDataEmpty(base, handle); + } + + /* Transmission complete and the interrupt is enabled. */ + if ((0U != ((uint32_t)kLPUART_TransmissionCompleteFlag & status)) && + (0U != ((uint32_t)kLPUART_TransmissionCompleteInterruptEnable & enabledInterrupts))) + { + LPUART_TransferHandleTransmissionComplete(base, handle); + } +} + +/*! + * brief LPUART Error IRQ handle function. + * + * This function handles the LPUART error IRQ request. + * + * param base LPUART peripheral base address. + * param irqHandle LPUART handle pointer. + */ +void LPUART_TransferHandleErrorIRQ(LPUART_Type *base, void *irqHandle) +{ + /* To be implemented by User. */ +} + +void LPUART_DriverIRQHandler(uint32_t instance) +{ + if (instance < ARRAY_SIZE(s_lpuartBases)) + { + s_lpuartIsr[instance](*(s_lpuartBases[instance]), s_lpuartHandle[instance]); + } + SDK_ISR_EXIT_BARRIER; +} + +#if defined(FSL_FEATURE_LPUART_HAS_SHARED_IRQ0_IRQ1) && FSL_FEATURE_LPUART_HAS_SHARED_IRQ0_IRQ1 +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART0_LPUART1_RX_DriverIRQHandler(void); +void LPUART0_LPUART1_RX_DriverIRQHandler(void) +{ + /* If handle is registered, treat the transfer function is enabled. */ + if (NULL != s_lpuartHandle[0]) + { + s_lpuartIsr[0](LPUART0, s_lpuartHandle[0]); + } + if (NULL != s_lpuartHandle[1]) + { + s_lpuartIsr[1](LPUART1, s_lpuartHandle[1]); + } + SDK_ISR_EXIT_BARRIER; +} +void LPUART0_LPUART1_TX_DriverIRQHandler(void); +void LPUART0_LPUART1_TX_DriverIRQHandler(void) +{ + /* If handle is registered, treat the transfer function is enabled. */ + if (NULL != s_lpuartHandle[0]) + { + s_lpuartIsr[0](LPUART0, s_lpuartHandle[0]); + } + if (NULL != s_lpuartHandle[1]) + { + s_lpuartIsr[1](LPUART1, s_lpuartHandle[1]); + } + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART0_LPUART1_DriverIRQHandler(void); +void LPUART0_LPUART1_DriverIRQHandler(void) +{ + /* If handle is registered, treat the transfer function is enabled. */ + if (NULL != s_lpuartHandle[0]) + { + s_lpuartIsr[0](LPUART0, s_lpuartHandle[0]); + } + if (NULL != s_lpuartHandle[1]) + { + s_lpuartIsr[1](LPUART1, s_lpuartHandle[1]); + } + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART0) +#if !(defined(FSL_FEATURE_LPUART_HAS_SHARED_IRQ0_IRQ1) && FSL_FEATURE_LPUART_HAS_SHARED_IRQ0_IRQ1) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART0_TX_DriverIRQHandler(void); +void LPUART0_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[0](LPUART0, s_lpuartHandle[0]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART0_RX_DriverIRQHandler(void); +void LPUART0_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[0](LPUART0, s_lpuartHandle[0]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART0_DriverIRQHandler(void); +void LPUART0_DriverIRQHandler(void) +{ + s_lpuartIsr[0](LPUART0, s_lpuartHandle[0]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif +#endif + +#if defined(LPUART1) +#if !(defined(FSL_FEATURE_LPUART_HAS_SHARED_IRQ0_IRQ1) && FSL_FEATURE_LPUART_HAS_SHARED_IRQ0_IRQ1) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART1_TX_DriverIRQHandler(void); +void LPUART1_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[1](LPUART1, s_lpuartHandle[1]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART1_RX_DriverIRQHandler(void); +void LPUART1_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[1](LPUART1, s_lpuartHandle[1]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART1_DriverIRQHandler(void); +void LPUART1_DriverIRQHandler(void) +{ + s_lpuartIsr[1](LPUART1, s_lpuartHandle[1]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif +#endif + +#if defined(LPUART2) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART2_TX_DriverIRQHandler(void); +void LPUART2_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[2](LPUART2, s_lpuartHandle[2]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART2_RX_DriverIRQHandler(void); +void LPUART2_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[2](LPUART2, s_lpuartHandle[2]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART2_DriverIRQHandler(void); +void LPUART2_DriverIRQHandler(void) +{ + s_lpuartIsr[2](LPUART2, s_lpuartHandle[2]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART3) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART3_TX_DriverIRQHandler(void); +void LPUART3_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[3](LPUART3, s_lpuartHandle[3]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART3_RX_DriverIRQHandler(void); +void LPUART3_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[3](LPUART3, s_lpuartHandle[3]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART3_DriverIRQHandler(void); +void LPUART3_DriverIRQHandler(void) +{ + s_lpuartIsr[3](LPUART3, s_lpuartHandle[3]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART4) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART4_TX_DriverIRQHandler(void); +void LPUART4_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[4](LPUART4, s_lpuartHandle[4]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART4_RX_DriverIRQHandler(void); +void LPUART4_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[4](LPUART4, s_lpuartHandle[4]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART4_DriverIRQHandler(void); +void LPUART4_DriverIRQHandler(void) +{ + s_lpuartIsr[4](LPUART4, s_lpuartHandle[4]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART5) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART5_TX_DriverIRQHandler(void); +void LPUART5_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[5](LPUART5, s_lpuartHandle[5]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART5_RX_DriverIRQHandler(void); +void LPUART5_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[5](LPUART5, s_lpuartHandle[5]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART5_DriverIRQHandler(void); +void LPUART5_DriverIRQHandler(void) +{ + s_lpuartIsr[5](LPUART5, s_lpuartHandle[5]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART6) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART6_TX_DriverIRQHandler(void); +void LPUART6_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[6](LPUART6, s_lpuartHandle[6]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART6_RX_DriverIRQHandler(void); +void LPUART6_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[6](LPUART6, s_lpuartHandle[6]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART6_DriverIRQHandler(void); +void LPUART6_DriverIRQHandler(void) +{ + s_lpuartIsr[6](LPUART6, s_lpuartHandle[6]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART7) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART7_TX_DriverIRQHandler(void); +void LPUART7_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[7](LPUART7, s_lpuartHandle[7]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART7_RX_DriverIRQHandler(void); +void LPUART7_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[7](LPUART7, s_lpuartHandle[7]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART7_DriverIRQHandler(void); +void LPUART7_DriverIRQHandler(void) +{ + s_lpuartIsr[7](LPUART7, s_lpuartHandle[7]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART8) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART8_TX_DriverIRQHandler(void); +void LPUART8_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[8](LPUART8, s_lpuartHandle[8]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART8_RX_DriverIRQHandler(void); +void LPUART8_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[8](LPUART8, s_lpuartHandle[8]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART8_DriverIRQHandler(void); +void LPUART8_DriverIRQHandler(void) +{ + s_lpuartIsr[8](LPUART8, s_lpuartHandle[8]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART9) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART9_TX_DriverIRQHandler(void); +void LPUART9_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[9](LPUART9, s_lpuartHandle[9]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART9_RX_DriverIRQHandler(void); +void LPUART9_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[9](LPUART9, s_lpuartHandle[9]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART9_DriverIRQHandler(void); +void LPUART9_DriverIRQHandler(void) +{ + s_lpuartIsr[9](LPUART9, s_lpuartHandle[9]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART10) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART10_TX_DriverIRQHandler(void); +void LPUART10_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[10](LPUART10, s_lpuartHandle[10]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART10_RX_DriverIRQHandler(void); +void LPUART10_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[10](LPUART10, s_lpuartHandle[10]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART10_DriverIRQHandler(void); +void LPUART10_DriverIRQHandler(void) +{ + s_lpuartIsr[10](LPUART10, s_lpuartHandle[10]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART11) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART11_TX_DriverIRQHandler(void); +void LPUART11_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[11](LPUART11, s_lpuartHandle[11]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART11_RX_DriverIRQHandler(void); +void LPUART11_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[11](LPUART11, s_lpuartHandle[11]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART11_DriverIRQHandler(void); +void LPUART11_DriverIRQHandler(void) +{ + s_lpuartIsr[11](LPUART11, s_lpuartHandle[11]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(LPUART12) +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +void LPUART12_TX_DriverIRQHandler(void); +void LPUART12_TX_DriverIRQHandler(void) +{ + s_lpuartIsr[12](LPUART12, s_lpuartHandle[12]); + SDK_ISR_EXIT_BARRIER; +} +void LPUART12_RX_DriverIRQHandler(void); +void LPUART12_RX_DriverIRQHandler(void) +{ + s_lpuartIsr[12](LPUART12, s_lpuartHandle[12]); + SDK_ISR_EXIT_BARRIER; +} +#else +void LPUART12_DriverIRQHandler(void); +void LPUART12_DriverIRQHandler(void) +{ + s_lpuartIsr[12](LPUART12, s_lpuartHandle[12]); + SDK_ISR_EXIT_BARRIER; +} +#endif +#endif + +#if defined(CM4_0__LPUART) +void M4_0_LPUART_DriverIRQHandler(void); +void M4_0_LPUART_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(CM4_0__LPUART)](CM4_0__LPUART, s_lpuartHandle[LPUART_GetInstance(CM4_0__LPUART)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(CM4_1__LPUART) +void M4_1_LPUART_DriverIRQHandler(void); +void M4_1_LPUART_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(CM4_1__LPUART)](CM4_1__LPUART, s_lpuartHandle[LPUART_GetInstance(CM4_1__LPUART)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(CM4__LPUART) +void M4_LPUART_DriverIRQHandler(void); +void M4_LPUART_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(CM4__LPUART)](CM4__LPUART, s_lpuartHandle[LPUART_GetInstance(CM4__LPUART)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(DMA__LPUART0) +void DMA_UART0_INT_DriverIRQHandler(void); +void DMA_UART0_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(DMA__LPUART0)](DMA__LPUART0, s_lpuartHandle[LPUART_GetInstance(DMA__LPUART0)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(DMA__LPUART1) +void DMA_UART1_INT_DriverIRQHandler(void); +void DMA_UART1_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(DMA__LPUART1)](DMA__LPUART1, s_lpuartHandle[LPUART_GetInstance(DMA__LPUART1)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(DMA__LPUART2) +void DMA_UART2_INT_DriverIRQHandler(void); +void DMA_UART2_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(DMA__LPUART2)](DMA__LPUART2, s_lpuartHandle[LPUART_GetInstance(DMA__LPUART2)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(DMA__LPUART3) +void DMA_UART3_INT_DriverIRQHandler(void); +void DMA_UART3_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(DMA__LPUART3)](DMA__LPUART3, s_lpuartHandle[LPUART_GetInstance(DMA__LPUART3)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(DMA__LPUART4) +void DMA_UART4_INT_DriverIRQHandler(void); +void DMA_UART4_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(DMA__LPUART4)](DMA__LPUART4, s_lpuartHandle[LPUART_GetInstance(DMA__LPUART4)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(ADMA__LPUART0) +void ADMA_UART0_INT_DriverIRQHandler(void); +void ADMA_UART0_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(ADMA__LPUART0)](ADMA__LPUART0, s_lpuartHandle[LPUART_GetInstance(ADMA__LPUART0)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(ADMA__LPUART1) +void ADMA_UART1_INT_DriverIRQHandler(void); +void ADMA_UART1_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(ADMA__LPUART1)](ADMA__LPUART1, s_lpuartHandle[LPUART_GetInstance(ADMA__LPUART1)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(ADMA__LPUART2) +void ADMA_UART2_INT_DriverIRQHandler(void); +void ADMA_UART2_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(ADMA__LPUART2)](ADMA__LPUART2, s_lpuartHandle[LPUART_GetInstance(ADMA__LPUART2)]); + SDK_ISR_EXIT_BARRIER; +} +#endif + +#if defined(ADMA__LPUART3) +void ADMA_UART3_INT_DriverIRQHandler(void); +void ADMA_UART3_INT_DriverIRQHandler(void) +{ + s_lpuartIsr[LPUART_GetInstance(ADMA__LPUART3)](ADMA__LPUART3, s_lpuartHandle[LPUART_GetInstance(ADMA__LPUART3)]); + SDK_ISR_EXIT_BARRIER; +} +#endif diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart.h new file mode 100644 index 00000000000..9bf98b000e7 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart.h @@ -0,0 +1,1150 @@ +/* + * Copyright (c) 2015-2016, Freescale Semiconductor, Inc. + * Copyright 2016-2025 NXP + * + * SPDX-License-Identifier: BSD-3-Clause + */ +#ifndef FSL_LPUART_H_ +#define FSL_LPUART_H_ + +#include "fsl_common.h" + +/*! + * @addtogroup lpuart_driver + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! @name Driver version */ +/*! @{ */ +/*! @brief LPUART driver version. */ +#define FSL_LPUART_DRIVER_VERSION (MAKE_VERSION(2, 9, 1)) +/*! @} */ + +/*! @brief Retry times for waiting flag. */ +#ifndef UART_RETRY_TIMES +#define UART_RETRY_TIMES 0U /* Defining to zero means to keep waiting for the flag until it is assert/deassert. */ +#endif + +/*! @brief Error codes for the LPUART driver. */ +enum +{ + kStatus_LPUART_TxBusy = MAKE_STATUS(kStatusGroup_LPUART, 0), /*!< TX busy */ + kStatus_LPUART_RxBusy = MAKE_STATUS(kStatusGroup_LPUART, 1), /*!< RX busy */ + kStatus_LPUART_TxIdle = MAKE_STATUS(kStatusGroup_LPUART, 2), /*!< LPUART transmitter is idle. */ + kStatus_LPUART_RxIdle = MAKE_STATUS(kStatusGroup_LPUART, 3), /*!< LPUART receiver is idle. */ + kStatus_LPUART_TxWatermarkTooLarge = MAKE_STATUS(kStatusGroup_LPUART, 4), /*!< TX FIFO watermark too large */ + kStatus_LPUART_RxWatermarkTooLarge = MAKE_STATUS(kStatusGroup_LPUART, 5), /*!< RX FIFO watermark too large */ + kStatus_LPUART_FlagCannotClearManually = MAKE_STATUS(kStatusGroup_LPUART, 6), /*!< Some flag can't manually clear */ + kStatus_LPUART_Error = MAKE_STATUS(kStatusGroup_LPUART, 7), /*!< Error happens on LPUART. */ + kStatus_LPUART_RxRingBufferOverrun = + MAKE_STATUS(kStatusGroup_LPUART, 8), /*!< LPUART RX software ring buffer overrun. */ + kStatus_LPUART_RxHardwareOverrun = MAKE_STATUS(kStatusGroup_LPUART, 9), /*!< LPUART RX receiver overrun. */ + kStatus_LPUART_NoiseError = MAKE_STATUS(kStatusGroup_LPUART, 10), /*!< LPUART noise error. */ + kStatus_LPUART_FramingError = MAKE_STATUS(kStatusGroup_LPUART, 11), /*!< LPUART framing error. */ + kStatus_LPUART_ParityError = MAKE_STATUS(kStatusGroup_LPUART, 12), /*!< LPUART parity error. */ + kStatus_LPUART_BaudrateNotSupport = + MAKE_STATUS(kStatusGroup_LPUART, 13), /*!< Baudrate is not support in current clock source */ + kStatus_LPUART_IdleLineDetected = MAKE_STATUS(kStatusGroup_LPUART, 14), /*!< IDLE flag. */ + kStatus_LPUART_Timeout = MAKE_STATUS(kStatusGroup_LPUART, 15), /*!< LPUART times out. */ +}; + +/*! @brief LPUART parity mode. */ +typedef enum _lpuart_parity_mode +{ + kLPUART_ParityDisabled = 0x0U, /*!< Parity disabled */ + kLPUART_ParityEven = 0x2U, /*!< Parity enabled, type even, bit setting: PE|PT = 10 */ + kLPUART_ParityOdd = 0x3U, /*!< Parity enabled, type odd, bit setting: PE|PT = 11 */ +} lpuart_parity_mode_t; + +/*! @brief LPUART data bits count. */ +typedef enum _lpuart_data_bits +{ + kLPUART_EightDataBits = 0x0U, /*!< Eight data bit */ +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + kLPUART_SevenDataBits = 0x1U, /*!< Seven data bit */ +#endif +} lpuart_data_bits_t; + +/*! @brief LPUART stop bit count. */ +typedef enum _lpuart_stop_bit_count +{ + kLPUART_OneStopBit = 0U, /*!< One stop bit */ + kLPUART_TwoStopBit = 1U, /*!< Two stop bits */ +} lpuart_stop_bit_count_t; + +#if defined(FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT) && FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT +/*! @brief LPUART transmit CTS source. */ +typedef enum _lpuart_transmit_cts_source +{ + kLPUART_CtsSourcePin = 0U, /*!< CTS resource is the LPUART_CTS pin. */ + kLPUART_CtsSourceMatchResult = 1U, /*!< CTS resource is the match result. */ +} lpuart_transmit_cts_source_t; + +/*! @brief LPUART transmit CTS configure. */ +typedef enum _lpuart_transmit_cts_config +{ + kLPUART_CtsSampleAtStart = 0U, /*!< CTS input is sampled at the start of each character. */ + kLPUART_CtsSampleAtIdle = 1U, /*!< CTS input is sampled when the transmitter is idle */ +} lpuart_transmit_cts_config_t; +#endif + +/*! @brief LPUART idle flag type defines when the receiver starts counting. */ +typedef enum _lpuart_idle_type_select +{ + kLPUART_IdleTypeStartBit = 0U, /*!< Start counting after a valid start bit. */ + kLPUART_IdleTypeStopBit = 1U, /*!< Start counting after a stop bit. */ +} lpuart_idle_type_select_t; + +/*! @brief LPUART idle detected configuration. + * This structure defines the number of idle characters that must be received before + * the IDLE flag is set. + */ +typedef enum _lpuart_idle_config +{ + kLPUART_IdleCharacter1 = 0U, /*!< the number of idle characters. */ + kLPUART_IdleCharacter2 = 1U, /*!< the number of idle characters. */ + kLPUART_IdleCharacter4 = 2U, /*!< the number of idle characters. */ + kLPUART_IdleCharacter8 = 3U, /*!< the number of idle characters. */ + kLPUART_IdleCharacter16 = 4U, /*!< the number of idle characters. */ + kLPUART_IdleCharacter32 = 5U, /*!< the number of idle characters. */ + kLPUART_IdleCharacter64 = 6U, /*!< the number of idle characters. */ + kLPUART_IdleCharacter128 = 7U, /*!< the number of idle characters. */ +} lpuart_idle_config_t; + +/*! + * @brief LPUART interrupt configuration structure, default settings all disabled. + * + * This structure contains the settings for all LPUART interrupt configurations. + */ +enum _lpuart_interrupt_enable +{ +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + kLPUART_LinBreakInterruptEnable = (LPUART_BAUD_LBKDIE_MASK >> 8U), /*!< LIN break detect. bit 7 */ +#endif + kLPUART_RxActiveEdgeInterruptEnable = (LPUART_BAUD_RXEDGIE_MASK >> 8U), /*!< Receive Active Edge. bit 6 */ + kLPUART_TxDataRegEmptyInterruptEnable = (LPUART_CTRL_TIE_MASK), /*!< Transmit data register empty. bit 23 */ + kLPUART_TransmissionCompleteInterruptEnable = (LPUART_CTRL_TCIE_MASK), /*!< Transmission complete. bit 22 */ + kLPUART_RxDataRegFullInterruptEnable = (LPUART_CTRL_RIE_MASK), /*!< Receiver data register full. bit 21 */ + kLPUART_IdleLineInterruptEnable = (LPUART_CTRL_ILIE_MASK), /*!< Idle line. bit 20 */ + kLPUART_RxOverrunInterruptEnable = (LPUART_CTRL_ORIE_MASK), /*!< Receiver Overrun. bit 27 */ + kLPUART_NoiseErrorInterruptEnable = (LPUART_CTRL_NEIE_MASK), /*!< Noise error flag. bit 26 */ + kLPUART_FramingErrorInterruptEnable = (LPUART_CTRL_FEIE_MASK), /*!< Framing error flag. bit 25 */ + kLPUART_ParityErrorInterruptEnable = (LPUART_CTRL_PEIE_MASK), /*!< Parity error flag. bit 24 */ +#if defined(FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING) && FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING + kLPUART_Match1InterruptEnable = (LPUART_CTRL_MA1IE_MASK), /*!< Parity error flag. bit 15 */ + kLPUART_Match2InterruptEnable = (LPUART_CTRL_MA2IE_MASK), /*!< Parity error flag. bit 14 */ +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + kLPUART_TxFifoOverflowInterruptEnable = (LPUART_FIFO_TXOFE_MASK), /*!< Transmit FIFO Overflow. bit 9 */ + kLPUART_RxFifoUnderflowInterruptEnable = (LPUART_FIFO_RXUFE_MASK), /*!< Receive FIFO Underflow. bit 8 */ +#endif + + kLPUART_AllInterruptEnable = kLPUART_RxActiveEdgeInterruptEnable | kLPUART_TxDataRegEmptyInterruptEnable | + kLPUART_TransmissionCompleteInterruptEnable | kLPUART_RxDataRegFullInterruptEnable | + kLPUART_IdleLineInterruptEnable | kLPUART_RxOverrunInterruptEnable | + kLPUART_NoiseErrorInterruptEnable | kLPUART_FramingErrorInterruptEnable | + kLPUART_ParityErrorInterruptEnable +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + | kLPUART_LinBreakInterruptEnable +#endif +#if defined(FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING) && FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING + | kLPUART_Match1InterruptEnable | kLPUART_Match2InterruptEnable +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + | kLPUART_TxFifoOverflowInterruptEnable | kLPUART_RxFifoUnderflowInterruptEnable +#endif + , +}; + +/*! + * @brief LPUART status flags. + * + * This provides constants for the LPUART status flags for use in the LPUART functions. + */ +enum _lpuart_flags +{ + kLPUART_TxDataRegEmptyFlag = + (LPUART_STAT_TDRE_MASK), /*!< Transmit data register empty flag, sets when transmit buffer is empty. bit 23 */ + kLPUART_TransmissionCompleteFlag = + (LPUART_STAT_TC_MASK), /*!< Transmission complete flag, sets when transmission activity complete. bit 22 */ + kLPUART_RxDataRegFullFlag = (LPUART_STAT_RDRF_MASK), /*!< Receive data register full flag, sets when the receive + data buffer is full. bit 21 */ + kLPUART_IdleLineFlag = (LPUART_STAT_IDLE_MASK), /*!< Idle line detect flag, sets when idle line detected. bit 20 */ + kLPUART_RxOverrunFlag = (LPUART_STAT_OR_MASK), /*!< Receive Overrun, sets when new data is received before data is + read from receive register. bit 19 */ + kLPUART_NoiseErrorFlag = (LPUART_STAT_NF_MASK), /*!< Receive takes 3 samples of each received bit. If any of these + samples differ, noise flag sets. bit 18 */ + kLPUART_FramingErrorFlag = + (LPUART_STAT_FE_MASK), /*!< Frame error flag, sets if logic 0 was detected where stop bit expected. bit 17 */ + kLPUART_ParityErrorFlag = (LPUART_STAT_PF_MASK), /*!< If parity enabled, sets upon parity error detection. bit 16 */ +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + kLPUART_LinBreakFlag = (LPUART_STAT_LBKDIF_MASK), /*!< LIN break detect interrupt flag, sets when LIN break + char detected and LIN circuit enabled. bit 31 */ +#endif + kLPUART_RxActiveEdgeFlag = (LPUART_STAT_RXEDGIF_MASK), /*!< Receive pin active edge interrupt flag, sets when active + edge detected. bit 30 */ + kLPUART_RxActiveFlag = + (LPUART_STAT_RAF_MASK), /*!< Receiver Active Flag (RAF), sets at beginning of valid start. bit 24 */ +#if defined(FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING) && FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING + kLPUART_DataMatch1Flag = + LPUART_STAT_MA1F_MASK, /*!< The next character to be read from LPUART_DATA matches MA1. bit 15 */ + kLPUART_DataMatch2Flag = + LPUART_STAT_MA2F_MASK, /*!< The next character to be read from LPUART_DATA matches MA2. bit 14 */ +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + kLPUART_TxFifoEmptyFlag = + (LPUART_FIFO_TXEMPT_MASK >> 16), /*!< TXEMPT bit, sets if transmit buffer is empty. bit 7 */ + kLPUART_RxFifoEmptyFlag = + (LPUART_FIFO_RXEMPT_MASK >> 16), /*!< RXEMPT bit, sets if receive buffer is empty. bit 6 */ + kLPUART_TxFifoOverflowFlag = + (LPUART_FIFO_TXOF_MASK >> 16), /*!< TXOF bit, sets if transmit buffer overflow occurred. bit 1 */ + kLPUART_RxFifoUnderflowFlag = + (LPUART_FIFO_RXUF_MASK >> 16), /*!< RXUF bit, sets if receive buffer underflow occurred. bit 0 */ +#endif + + kLPUART_AllClearFlags = kLPUART_RxActiveEdgeFlag | kLPUART_IdleLineFlag | kLPUART_RxOverrunFlag | + kLPUART_NoiseErrorFlag | kLPUART_FramingErrorFlag | kLPUART_ParityErrorFlag +#if defined(FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING) && FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING + | kLPUART_DataMatch1Flag | kLPUART_DataMatch2Flag +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + | kLPUART_TxFifoOverflowFlag | kLPUART_RxFifoUnderflowFlag +#endif +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + | kLPUART_LinBreakFlag +#endif + , + + kLPUART_AllFlags = + kLPUART_RxActiveEdgeFlag | kLPUART_IdleLineFlag | kLPUART_RxOverrunFlag | kLPUART_TxDataRegEmptyFlag | + kLPUART_TransmissionCompleteFlag | kLPUART_RxDataRegFullFlag | kLPUART_RxActiveFlag | kLPUART_NoiseErrorFlag | + kLPUART_FramingErrorFlag | kLPUART_ParityErrorFlag +#if defined(FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING) && FSL_FEATURE_LPUART_HAS_ADDRESS_MATCHING + | kLPUART_DataMatch1Flag | kLPUART_DataMatch2Flag +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + | kLPUART_TxFifoOverflowFlag | kLPUART_RxFifoUnderflowFlag | kLPUART_TxFifoEmptyFlag | kLPUART_RxFifoEmptyFlag +#endif +#if defined(FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT) && FSL_FEATURE_LPUART_HAS_LIN_BREAK_DETECT + | kLPUART_LinBreakFlag +#endif + , +}; + +/*! @brief LPUART configuration structure. */ +typedef struct _lpuart_config +{ + uint32_t baudRate_Bps; /*!< LPUART baud rate */ + lpuart_parity_mode_t parityMode; /*!< Parity mode, disabled (default), even, odd */ + lpuart_data_bits_t dataBitsCount; /*!< Data bits count, eight (default), seven */ + bool isMsb; /*!< Data bits order, LSB (default), MSB */ +#if defined(FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT) && FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT + lpuart_stop_bit_count_t stopBitCount; /*!< Number of stop bits, 1 stop bit (default) or 2 stop bits */ +#endif +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + uint8_t txFifoWatermark; /*!< TX FIFO watermark */ + uint8_t rxFifoWatermark; /*!< RX FIFO watermark */ +#endif +#if defined(FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT) && FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT + bool enableRxRTS; /*!< RX RTS enable */ + bool enableTxCTS; /*!< TX CTS enable */ + lpuart_transmit_cts_source_t txCtsSource; /*!< TX CTS source */ + lpuart_transmit_cts_config_t txCtsConfig; /*!< TX CTS configure */ +#endif + lpuart_idle_type_select_t rxIdleType; /*!< RX IDLE type. */ + lpuart_idle_config_t rxIdleConfig; /*!< RX IDLE configuration. */ + bool enableTx; /*!< Enable TX */ + bool enableRx; /*!< Enable RX */ +#if defined(FSL_FEATURE_LPUART_HAS_CTRL_SWAP) && FSL_FEATURE_LPUART_HAS_CTRL_SWAP + bool swapTxdRxd; /*!< Swap TXD and RXD pins */ +#endif +} lpuart_config_t; + +/*! @brief LPUART transfer structure. */ +typedef struct _lpuart_transfer +{ + /* + * Use separate TX and RX data pointer, because TX data is const data. + * The member data is kept for backward compatibility. + */ + union + { + uint8_t *data; /*!< The buffer of data to be transfer.*/ + uint8_t *rxData; /*!< The buffer to receive data. */ + uint16_t *rxData16; /*!< The buffer to receive data. */ + const uint8_t *txData; /*!< The buffer of data to be sent. */ + const uint16_t *txData16; /*!< The buffer of data to be sent. */ + }; + size_t dataSize; /*!< The byte count to be transfer. */ +} lpuart_transfer_t; + +/* Forward declaration of the handle typedef. */ +typedef struct _lpuart_handle lpuart_handle_t; + +/*! @brief LPUART transfer callback function. */ +typedef void (*lpuart_transfer_callback_t)(LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *userData); + +/*! @brief LPUART handle structure. */ +struct _lpuart_handle +{ + union + { + const uint8_t *volatile txData; /*!< Address of remaining data to send. */ + const uint16_t *volatile txData16; /*!< Address of remaining data to send. */ + }; + volatile size_t txDataSize; /*!< Size of the remaining data to send. */ + size_t txDataSizeAll; /*!< Size of the data to send out. */ + union + { + uint8_t *volatile rxData; /*!< Address of remaining data to receive. */ + uint16_t *volatile rxData16; /*!< Address of remaining data to receive. */ + }; + volatile size_t rxDataSize; /*!< Size of the remaining data to receive. */ + size_t rxDataSizeAll; /*!< Size of the data to receive. */ + + union + { + uint8_t *rxRingBuffer; /*!< Start address of the receiver ring buffer. */ + uint16_t *rxRingBuffer16; /*!< Start address of the receiver ring buffer. */ + }; + size_t rxRingBufferSize; /*!< Size of the ring buffer. */ + volatile uint16_t rxRingBufferHead; /*!< Index for the driver to store received data into ring buffer. */ + volatile uint16_t rxRingBufferTail; /*!< Index for the user to get data from the ring buffer. */ + + lpuart_transfer_callback_t callback; /*!< Callback function. */ + void *userData; /*!< LPUART callback function parameter.*/ + + volatile uint8_t txState; /*!< TX transfer state. */ + volatile uint8_t rxState; /*!< RX transfer state. */ + +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + bool isSevenDataBits; /*!< Seven data bits flag. */ +#endif + bool is16bitData; /*!< 16bit data bits flag, only used for 9bit or 10bit data */ +}; + +/* Typedef for interrupt handler. */ +typedef void (*lpuart_isr_t)(LPUART_Type *base, void *handle); + +/******************************************************************************* + * Variables + ******************************************************************************/ +/* Array of LPUART handle. */ +extern void *s_lpuartHandle[]; + +/* Array of LPUART IRQ number. */ +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ +extern const IRQn_Type s_lpuartTxIRQ[]; +#else +extern const IRQn_Type s_lpuartIRQ[]; +#endif + +/* LPUART ISR for transactional APIs. */ +extern lpuart_isr_t s_lpuartIsr[]; + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif /* _cplusplus */ + +#if defined(FSL_FEATURE_LPUART_HAS_GLOBAL) && FSL_FEATURE_LPUART_HAS_GLOBAL + +/*! + * @name Software Reset + * @{ + */ + +/*! + * @brief Resets the LPUART using software. + * + * This function resets all internal logic and registers except the Global Register. + * Remains set until cleared by software. + * + * @param base LPUART peripheral base address. + */ +static inline void LPUART_SoftwareReset(LPUART_Type *base) +{ + base->GLOBAL |= LPUART_GLOBAL_RST_MASK; + base->GLOBAL &= ~LPUART_GLOBAL_RST_MASK; +} +/*! @} */ +#endif /*FSL_FEATURE_LPUART_HAS_GLOBAL*/ + +/*! + * @name Initialization and deinitialization + * @{ + */ + +/*! + * @brief Initializes an LPUART instance with the user configuration structure and the peripheral clock. + * + * This function configures the LPUART module with user-defined settings. Call the LPUART_GetDefaultConfig() function + * to configure the configuration structure and get the default configuration. + * The example below shows how to use this API to configure the LPUART. + * @code + * lpuart_config_t lpuartConfig; + * lpuartConfig.baudRate_Bps = 115200U; + * lpuartConfig.parityMode = kLPUART_ParityDisabled; + * lpuartConfig.dataBitsCount = kLPUART_EightDataBits; + * lpuartConfig.isMsb = false; + * lpuartConfig.stopBitCount = kLPUART_OneStopBit; + * lpuartConfig.txFifoWatermark = 0; + * lpuartConfig.rxFifoWatermark = 1; + * LPUART_Init(LPUART1, &lpuartConfig, 20000000U); + * @endcode + * + * @param base LPUART peripheral base address. + * @param config Pointer to a user-defined configuration structure. + * @param srcClock_Hz LPUART clock source frequency in HZ. + * @retval kStatus_LPUART_BaudrateNotSupport Baudrate is not support in current clock source. + * @retval kStatus_Success LPUART initialize succeed + */ +status_t LPUART_Init(LPUART_Type *base, const lpuart_config_t *config, uint32_t srcClock_Hz); + +/*! + * @brief Deinitializes a LPUART instance. + * + * This function waits for transmit to complete, disables TX and RX, and disables the LPUART clock. + * + * @param base LPUART peripheral base address. + */ +void LPUART_Deinit(LPUART_Type *base); + +/*! + * @brief Gets the default configuration structure. + * + * This function initializes the LPUART configuration structure to a default value. The default + * values are: + * lpuartConfig->baudRate_Bps = 115200U; + * lpuartConfig->parityMode = kLPUART_ParityDisabled; + * lpuartConfig->dataBitsCount = kLPUART_EightDataBits; + * lpuartConfig->isMsb = false; + * lpuartConfig->stopBitCount = kLPUART_OneStopBit; + * lpuartConfig->txFifoWatermark = 0; + * lpuartConfig->rxFifoWatermark = 1; + * lpuartConfig->rxIdleType = kLPUART_IdleTypeStartBit; + * lpuartConfig->rxIdleConfig = kLPUART_IdleCharacter1; + * lpuartConfig->enableTx = false; + * lpuartConfig->enableRx = false; + * + * @param config Pointer to a configuration structure. + */ +void LPUART_GetDefaultConfig(lpuart_config_t *config); +/*! @} */ + +/*! + * @name Module configuration + * @{ + */ +/*! + * @brief Sets the LPUART instance baudrate. + * + * This function configures the LPUART module baudrate. This function is used to update + * the LPUART module baudrate after the LPUART module is initialized by the LPUART_Init. + * @code + * LPUART_SetBaudRate(LPUART1, 115200U, 20000000U); + * @endcode + * + * @param base LPUART peripheral base address. + * @param baudRate_Bps LPUART baudrate to be set. + * @param srcClock_Hz LPUART clock source frequency in HZ. + * @retval kStatus_LPUART_BaudrateNotSupport Baudrate is not supported in the current clock source. + * @retval kStatus_Success Set baudrate succeeded. + */ +status_t LPUART_SetBaudRate(LPUART_Type *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz); + +/*! + * @brief Enable 9-bit data mode for LPUART. + * + * This function set the 9-bit mode for LPUART module. The 9th bit is not used for parity thus can be modified by user. + * + * @param base LPUART peripheral base address. + * @param enable true to enable, flase to disable. + */ +void LPUART_Enable9bitMode(LPUART_Type *base, bool enable); + +/*! + * @brief Set the LPUART address. + * + * This function configures the address for LPUART module that works as slave in 9-bit data mode. One or two address + * fields can be configured. When the address field's match enable bit is set, the frame it receices with MSB being + * 1 is considered as an address frame, otherwise it is considered as data frame. Once the address frame matches one + * of slave's own addresses, this slave is addressed. This address frame and its following data frames are stored in + * the receive buffer, otherwise the frames will be discarded. To un-address a slave, just send an address frame with + * unmatched address. + * + * @note Any LPUART instance joined in the multi-slave system can work as slave. The position of the address mark is the + * same as the parity bit when parity is enabled for 8 bit and 9 bit data formats. + * + * @param base LPUART peripheral base address. + * @param address1 LPUART slave address1. + * @param address2 LPUART slave address2. + */ +static inline void LPUART_SetMatchAddress(LPUART_Type *base, uint16_t address1, uint16_t address2) +{ + /* Configure match address. */ + uint32_t address = ((uint32_t)address2 << 16U) | (uint32_t)address1 | 0x1000100UL; + base->MATCH = address; +} + +/*! + * @brief Enable the LPUART match address feature. + * + * @param base LPUART peripheral base address. + * @param match1 true to enable match address1, false to disable. + * @param match2 true to enable match address2, false to disable. + */ +static inline void LPUART_EnableMatchAddress(LPUART_Type *base, bool match1, bool match2) +{ + /* Configure match address1 enable bit. */ + if (match1) + { + base->BAUD |= (uint32_t)LPUART_BAUD_MAEN1_MASK; + } + else + { + base->BAUD &= ~(uint32_t)LPUART_BAUD_MAEN1_MASK; + } + /* Configure match address2 enable bit. */ + if (match2) + { + base->BAUD |= (uint32_t)LPUART_BAUD_MAEN2_MASK; + } + else + { + base->BAUD &= ~(uint32_t)LPUART_BAUD_MAEN2_MASK; + } +} + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO +/*! + * @brief Sets the rx FIFO watermark. + * + * @param base LPUART peripheral base address. + * @param water Rx FIFO watermark. + */ +static inline void LPUART_SetRxFifoWatermark(LPUART_Type *base, uint8_t water) +{ + assert(FSL_FEATURE_LPUART_FIFO_SIZEn(base) > 0); + assert((uint8_t)FSL_FEATURE_LPUART_FIFO_SIZEn(base) > water); + base->WATER = (base->WATER & ~LPUART_WATER_RXWATER_MASK) | LPUART_WATER_RXWATER(water); +} + +/*! + * @brief Sets the tx FIFO watermark. + * + * @param base LPUART peripheral base address. + * @param water Tx FIFO watermark. + */ +static inline void LPUART_SetTxFifoWatermark(LPUART_Type *base, uint8_t water) +{ + assert(FSL_FEATURE_LPUART_FIFO_SIZEn(base) > 0); + assert((uint8_t)FSL_FEATURE_LPUART_FIFO_SIZEn(base) > water); + base->WATER = (base->WATER & ~LPUART_WATER_TXWATER_MASK) | LPUART_WATER_TXWATER(water); +} +#endif + +/*! + * @brief Sets the LPUART using 16bit transmit, only for 9bit or 10bit mode. + * + * This function Enable 16bit Data transmit in lpuart_handle_t. + * + * @param handle LPUART handle pointer. + * @param enable true to enable, false to disable. + */ +static inline void LPUART_TransferEnable16Bit(lpuart_handle_t *handle, bool enable) +{ + handle->is16bitData = enable; +} +/*! @} */ + +/*! + * @name Status + * @{ + */ + +/*! + * @brief Gets LPUART status flags. + * + * This function gets all LPUART status flags. The flags are returned as the logical + * OR value of the enumerators @ref _lpuart_flags. To check for a specific status, + * compare the return value with enumerators in the @ref _lpuart_flags. + * For example, to check whether the TX is empty: + * @code + * if (kLPUART_TxDataRegEmptyFlag & LPUART_GetStatusFlags(LPUART1)) + * { + * ... + * } + * @endcode + * + * @param base LPUART peripheral base address. + * @return LPUART status flags which are ORed by the enumerators in the _lpuart_flags. + */ +uint32_t LPUART_GetStatusFlags(LPUART_Type *base); + +/*! + * @brief Clears status flags with a provided mask. + * + * This function clears LPUART status flags with a provided mask. Automatically cleared flags + * can't be cleared by this function. + * Flags that can only cleared or set by hardware are: + * kLPUART_TxDataRegEmptyFlag, kLPUART_TransmissionCompleteFlag, kLPUART_RxDataRegFullFlag, + * kLPUART_RxActiveFlag, kLPUART_NoiseErrorFlag, kLPUART_ParityErrorFlag, + * kLPUART_TxFifoEmptyFlag,kLPUART_RxFifoEmptyFlag + * Note: This API should be called when the Tx/Rx is idle, otherwise it takes no effects. + * + * @param base LPUART peripheral base address. + * @param mask the status flags to be cleared. The user can use the enumerators in the + * _lpuart_status_flag_t to do the OR operation and get the mask. + * @return 0 succeed, others failed. + * @retval kStatus_LPUART_FlagCannotClearManually The flag can't be cleared by this function but + * it is cleared automatically by hardware. + * @retval kStatus_Success Status in the mask are cleared. + */ +status_t LPUART_ClearStatusFlags(LPUART_Type *base, uint32_t mask); +/*! @} */ + +/*! + * @name Interrupts + * @{ + */ + +/*! + * @brief Enables LPUART interrupts according to a provided mask. + * + * This function enables the LPUART interrupts according to a provided mask. The mask + * is a logical OR of enumeration members. See the @ref _lpuart_interrupt_enable. + * This examples shows how to enable TX empty interrupt and RX full interrupt: + * @code + * LPUART_EnableInterrupts(LPUART1,kLPUART_TxDataRegEmptyInterruptEnable | kLPUART_RxDataRegFullInterruptEnable); + * @endcode + * + * @param base LPUART peripheral base address. + * @param mask The interrupts to enable. Logical OR of @ref _lpuart_interrupt_enable. + */ +void LPUART_EnableInterrupts(LPUART_Type *base, uint32_t mask); + +/*! + * @brief Disables LPUART interrupts according to a provided mask. + * + * This function disables the LPUART interrupts according to a provided mask. The mask + * is a logical OR of enumeration members. See @ref _lpuart_interrupt_enable. + * This example shows how to disable the TX empty interrupt and RX full interrupt: + * @code + * LPUART_DisableInterrupts(LPUART1,kLPUART_TxDataRegEmptyInterruptEnable | kLPUART_RxDataRegFullInterruptEnable); + * @endcode + * + * @param base LPUART peripheral base address. + * @param mask The interrupts to disable. Logical OR of @ref _lpuart_interrupt_enable. + */ +void LPUART_DisableInterrupts(LPUART_Type *base, uint32_t mask); + +/*! + * @brief Gets enabled LPUART interrupts. + * + * This function gets the enabled LPUART interrupts. The enabled interrupts are returned + * as the logical OR value of the enumerators @ref _lpuart_interrupt_enable. To check + * a specific interrupt enable status, compare the return value with enumerators + * in @ref _lpuart_interrupt_enable. + * For example, to check whether the TX empty interrupt is enabled: + * @code + * uint32_t enabledInterrupts = LPUART_GetEnabledInterrupts(LPUART1); + * + * if (kLPUART_TxDataRegEmptyInterruptEnable & enabledInterrupts) + * { + * ... + * } + * @endcode + * + * @param base LPUART peripheral base address. + * @return LPUART interrupt flags which are logical OR of the enumerators in @ref _lpuart_interrupt_enable. + */ +uint32_t LPUART_GetEnabledInterrupts(LPUART_Type *base); +/*! @} */ + +#if defined(FSL_FEATURE_LPUART_HAS_DMA_ENABLE) && FSL_FEATURE_LPUART_HAS_DMA_ENABLE +/*! + * @name DMA Configuration + * @{ + */ +/*! + * @brief Gets the LPUART data register address. + * + * This function returns the LPUART data register address, which is mainly used by the DMA/eDMA. + * + * @param base LPUART peripheral base address. + * @return LPUART data register addresses which are used both by the transmitter and receiver. + */ +static inline uintptr_t LPUART_GetDataRegisterAddress(LPUART_Type *base) +{ + return (uintptr_t) & (base->DATA); +} + +/*! + * @brief Enables or disables the LPUART transmitter DMA request. + * + * This function enables or disables the transmit data register empty flag, STAT[TDRE], to generate DMA requests. + * + * @param base LPUART peripheral base address. + * @param enable True to enable, false to disable. + */ +static inline void LPUART_EnableTxDMA(LPUART_Type *base, bool enable) +{ + if (enable) + { + base->BAUD |= LPUART_BAUD_TDMAE_MASK; + } + else + { + base->BAUD &= ~LPUART_BAUD_TDMAE_MASK; + } +} + +/*! + * @brief Enables or disables the LPUART receiver DMA. + * + * This function enables or disables the receiver data register full flag, STAT[RDRF], to generate DMA requests. + * + * @param base LPUART peripheral base address. + * @param enable True to enable, false to disable. + */ +static inline void LPUART_EnableRxDMA(LPUART_Type *base, bool enable) +{ + if (enable) + { + base->BAUD |= LPUART_BAUD_RDMAE_MASK; + } + else + { + base->BAUD &= ~LPUART_BAUD_RDMAE_MASK; + } +} +/*! @} */ +#endif /* FSL_FEATURE_LPUART_HAS_DMA_ENABLE */ + +/*! + * @name Bus Operations + * @{ + */ + +/*! + * @brief Get the LPUART instance from peripheral base address. + * + * @param base LPUART peripheral base address. + * @return LPUART instance. + */ +uint32_t LPUART_GetInstance(LPUART_Type *base); + +/*! + * @brief Set the LPUART instance to peripheral base address. + * + * @note Add this function to support remap LPUART base address. + * @param instance LPUART instance. + * @param base LPUART peripheral base address. + */ +void LPUART_SetInstance(uint32_t instance, LPUART_Type *base); + +/*! + * @brief Enables or disables the LPUART transmitter. + * + * This function enables or disables the LPUART transmitter. + * + * @param base LPUART peripheral base address. + * @param enable True to enable, false to disable. + */ +static inline void LPUART_EnableTx(LPUART_Type *base, bool enable) +{ + if (enable) + { + base->CTRL |= LPUART_CTRL_TE_MASK; + } + else + { + base->CTRL &= ~LPUART_CTRL_TE_MASK; + } +} + +/*! + * @brief Enables or disables the LPUART receiver. + * + * This function enables or disables the LPUART receiver. + * + * @param base LPUART peripheral base address. + * @param enable True to enable, false to disable. + */ +static inline void LPUART_EnableRx(LPUART_Type *base, bool enable) +{ + if (enable) + { + base->CTRL |= LPUART_CTRL_RE_MASK; + } + else + { + base->CTRL &= ~LPUART_CTRL_RE_MASK; + } +} + +/*! + * @brief Writes to the transmitter register. + * + * This function writes data to the transmitter register directly. The upper layer must + * ensure that the TX register is empty or that the TX FIFO has room before calling this function. + * + * @param base LPUART peripheral base address. + * @param data Data write to the TX register. + */ +static inline void LPUART_WriteByte(LPUART_Type *base, uint8_t data) +{ + base->DATA = data; +} + +/*! + * @brief Reads the receiver register. + * + * This function reads data from the receiver register directly. The upper layer must + * ensure that the receiver register is full or that the RX FIFO has data before calling this function. + * + * @param base LPUART peripheral base address. + * @return Data read from data register. + */ +static inline uint8_t LPUART_ReadByte(LPUART_Type *base) +{ +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + uint32_t ctrl = base->CTRL; + uint8_t result; + /* + * $Branch Coverage Justification$ + * (ctrl & LPUART_CTRL_M7_MASK) == 0U) false is not covered. + * If ctrl & LPUART_CTRL_M7_MASK is 0, it can't be !0 in next judge. + */ + bool isSevenDataBits = (((ctrl & LPUART_CTRL_M7_MASK) != 0U) || + (((ctrl & LPUART_CTRL_M7_MASK) == 0U) && ((ctrl & LPUART_CTRL_M_MASK) == 0U) && + ((ctrl & LPUART_CTRL_PE_MASK) != 0U))); + + if (isSevenDataBits) + { + result = (uint8_t)(base->DATA & 0x7FU); + } + else + { + result = (uint8_t)base->DATA; + } + + return result; +#else + return (uint8_t)(base->DATA); +#endif +} + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO +/*! + * @brief Gets the rx FIFO data count. + * + * @param base LPUART peripheral base address. + * @return rx FIFO data count. + */ +static inline uint8_t LPUART_GetRxFifoCount(LPUART_Type *base) +{ + return (uint8_t)((base->WATER & LPUART_WATER_RXCOUNT_MASK) >> LPUART_WATER_RXCOUNT_SHIFT); +} + +/*! + * @brief Gets the tx FIFO data count. + * + * @param base LPUART peripheral base address. + * @return tx FIFO data count. + */ +static inline uint8_t LPUART_GetTxFifoCount(LPUART_Type *base) +{ + return (uint8_t)((base->WATER & LPUART_WATER_TXCOUNT_MASK) >> LPUART_WATER_TXCOUNT_SHIFT); +} +#endif + +/*! + * @brief Transmit an address frame in 9-bit data mode. + * + * @param base LPUART peripheral base address. + * @param address LPUART slave address. + */ +void LPUART_SendAddress(LPUART_Type *base, uint8_t address); + +/*! + * @brief Writes to the transmitter register using a blocking method. + * + * This function polls the transmitter register, first waits for the register to be empty or TX FIFO to have room, + * and writes data to the transmitter buffer, then waits for the dat to be sent out to the bus. + * + * @param base LPUART peripheral base address. + * @param data Start address of the data to write. + * @param length Size of the data to write. + * @retval kStatus_LPUART_Timeout Transmission timed out and was aborted. + * @retval kStatus_Success Successfully wrote all data. + */ +status_t LPUART_WriteBlocking(LPUART_Type *base, const uint8_t *data, size_t length); + +/*! + * @brief Writes to the transmitter register using a blocking method in 9bit or 10bit mode. + * + * @note This function only support 9bit or 10bit transfer. + * Please make sure only 10bit of data is valid and other bits are 0. + * + * @param base LPUART peripheral base address. + * @param data Start address of the data to write. + * @param length Size of the data to write. + * @retval kStatus_LPUART_Timeout Transmission timed out and was aborted. + * @retval kStatus_Success Successfully wrote all data. + */ +status_t LPUART_WriteBlocking16bit(LPUART_Type *base, const uint16_t *data, size_t length); + +/*! + * @brief Reads the receiver data register using a blocking method. + * + * This function polls the receiver register, waits for the receiver register full or receiver FIFO + * has data, and reads data from the TX register. + * + * @param base LPUART peripheral base address. + * @param data Start address of the buffer to store the received data. + * @param length Size of the buffer. + * @retval kStatus_LPUART_RxHardwareOverrun Receiver overrun happened while receiving data. + * @retval kStatus_LPUART_NoiseError Noise error happened while receiving data. + * @retval kStatus_LPUART_FramingError Framing error happened while receiving data. + * @retval kStatus_LPUART_ParityError Parity error happened while receiving data. + * @retval kStatus_LPUART_Timeout Transmission timed out and was aborted. + * @retval kStatus_Success Successfully received all data. + */ +status_t LPUART_ReadBlocking(LPUART_Type *base, uint8_t *data, size_t length); + +/*! + * @brief Reads the receiver data register in 9bit or 10bit mode. + * + * @note This function only support 9bit or 10bit transfer. + * + * @param base LPUART peripheral base address. + * @param data Start address of the buffer to store the received data by 16bit, only 10bit is valid. + * @param length Size of the buffer. + * @retval kStatus_LPUART_RxHardwareOverrun Receiver overrun happened while receiving data. + * @retval kStatus_LPUART_NoiseError Noise error happened while receiving data. + * @retval kStatus_LPUART_FramingError Framing error happened while receiving data. + * @retval kStatus_LPUART_ParityError Parity error happened while receiving data. + * @retval kStatus_LPUART_Timeout Transmission timed out and was aborted. + * @retval kStatus_Success Successfully received all data. + */ +status_t LPUART_ReadBlocking16bit(LPUART_Type *base, uint16_t *data, size_t length); + +/*! @} */ + +/*! + * @name Transactional + * @{ + */ + +/*! + * @brief Initializes the LPUART handle. + * + * This function initializes the LPUART handle, which can be used for other LPUART + * transactional APIs. Usually, for a specified LPUART instance, + * call this API once to get the initialized handle. + * + * The LPUART driver supports the "background" receiving, which means that user can set up + * an RX ring buffer optionally. Data received is stored into the ring buffer even when the + * user doesn't call the LPUART_TransferReceiveNonBlocking() API. If there is already data received + * in the ring buffer, the user can get the received data from the ring buffer directly. + * The ring buffer is disabled if passing NULL as @p ringBuffer. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param callback Callback function. + * @param userData User data. + */ +void LPUART_TransferCreateHandle(LPUART_Type *base, + lpuart_handle_t *handle, + lpuart_transfer_callback_t callback, + void *userData); +/*! + * @brief Transmits a buffer of data using the interrupt method. + * + * This function send data using an interrupt method. This is a non-blocking function, which + * returns directly without waiting for all data written to the transmitter register. When + * all data is written to the TX register in the ISR, the LPUART driver calls the callback + * function and passes the @ref kStatus_LPUART_TxIdle as status parameter. + * + * @note The kStatus_LPUART_TxIdle is passed to the upper layer when all data are written + * to the TX register. However, there is no check to ensure that all the data sent out. Before disabling the TX, + * check the kLPUART_TransmissionCompleteFlag to ensure that the transmit is finished. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param xfer LPUART transfer structure, see #lpuart_transfer_t. + * @retval kStatus_Success Successfully start the data transmission. + * @retval kStatus_LPUART_TxBusy Previous transmission still not finished, data not all written to the TX register. + * @retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_TransferSendNonBlocking(LPUART_Type *base, lpuart_handle_t *handle, lpuart_transfer_t *xfer); + +/*! + * @brief Sets up the RX ring buffer. + * + * This function sets up the RX ring buffer to a specific UART handle. + * + * When the RX ring buffer is used, data received is stored into the ring buffer even when + * the user doesn't call the UART_TransferReceiveNonBlocking() API. If there is already data received + * in the ring buffer, the user can get the received data from the ring buffer directly. + * + * @note When using RX ring buffer, one byte is reserved for internal use. In other + * words, if @p ringBufferSize is 32, then only 31 bytes are used for saving data. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param ringBuffer Start address of ring buffer for background receiving. Pass NULL to disable the ring buffer. + * @param ringBufferSize size of the ring buffer. + */ +void LPUART_TransferStartRingBuffer(LPUART_Type *base, + lpuart_handle_t *handle, + uint8_t *ringBuffer, + size_t ringBufferSize); + +/*! + * @brief Aborts the background transfer and uninstalls the ring buffer. + * + * This function aborts the background transfer and uninstalls the ring buffer. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + */ +void LPUART_TransferStopRingBuffer(LPUART_Type *base, lpuart_handle_t *handle); + +/*! + * @brief Get the length of received data in RX ring buffer. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @return Length of received data in RX ring buffer. + */ +size_t LPUART_TransferGetRxRingBufferLength(LPUART_Type *base, lpuart_handle_t *handle); + +/*! + * @brief Aborts the interrupt-driven data transmit. + * + * This function aborts the interrupt driven data sending. The user can get the remainBtyes to find out + * how many bytes are not sent out. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + */ +void LPUART_TransferAbortSend(LPUART_Type *base, lpuart_handle_t *handle); + +/*! + * @brief Gets the number of bytes that have been sent out to bus. + * + * This function gets the number of bytes that have been sent out to bus by an interrupt method. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param count Send bytes count. + * @retval kStatus_NoTransferInProgress No send in progress. + * @retval kStatus_InvalidArgument Parameter is invalid. + * @retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetSendCount(LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count); + +/*! + * @brief Receives a buffer of data using the interrupt method. + * + * This function receives data using an interrupt method. This is a non-blocking function + * which returns without waiting to ensure that all data are received. + * If the RX ring buffer is used and not empty, the data in the ring buffer is copied and + * the parameter @p receivedBytes shows how many bytes are copied from the ring buffer. + * After copying, if the data in the ring buffer is not enough for read, the receive + * request is saved by the LPUART driver. When the new data arrives, the receive request + * is serviced first. When all data is received, the LPUART driver notifies the upper layer + * through a callback function and passes a status parameter kStatus_UART_RxIdle. + * For example, the upper layer needs 10 bytes but there are only 5 bytes in ring buffer. + * The 5 bytes are copied to xfer->data, which returns with the + * parameter @p receivedBytes set to 5. For the remaining 5 bytes, the newly arrived data is + * saved from xfer->data[5]. When 5 bytes are received, the LPUART driver notifies the upper layer. + * If the RX ring buffer is not enabled, this function enables the RX and RX interrupt + * to receive data to xfer->data. When all data is received, the upper layer is notified. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param xfer LPUART transfer structure, see uart_transfer_t. + * @param receivedBytes Bytes received from the ring buffer directly. + * @retval kStatus_Success Successfully queue the transfer into the transmit queue. + * @retval kStatus_LPUART_RxBusy Previous receive request is not finished. + * @retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_TransferReceiveNonBlocking(LPUART_Type *base, + lpuart_handle_t *handle, + lpuart_transfer_t *xfer, + size_t *receivedBytes); + +/*! + * @brief Aborts the interrupt-driven data receiving. + * + * This function aborts the interrupt-driven data receiving. The user can get the remainBytes to find out + * how many bytes not received yet. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + */ +void LPUART_TransferAbortReceive(LPUART_Type *base, lpuart_handle_t *handle); + +/*! + * @brief Gets the number of bytes that have been received. + * + * This function gets the number of bytes that have been received. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param count Receive bytes count. + * @retval kStatus_NoTransferInProgress No receive in progress. + * @retval kStatus_InvalidArgument Parameter is invalid. + * @retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetReceiveCount(LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count); + +/*! + * @brief LPUART IRQ handle function. + * + * This function handles the LPUART transmit and receive IRQ request. + * + * @param base LPUART peripheral base address. + * @param irqHandle LPUART handle pointer. + */ +void LPUART_TransferHandleIRQ(LPUART_Type *base, void *irqHandle); + +/*! + * @brief LPUART Error IRQ handle function. + * + * This function handles the LPUART error IRQ request. + * + * @param base LPUART peripheral base address. + * @param irqHandle LPUART handle pointer. + */ +void LPUART_TransferHandleErrorIRQ(LPUART_Type *base, void *irqHandle); + +/*! + * @brief LPUART driver IRQ handler common entry. + * + * This function provides the common IRQ request entry for LPUART. + * + * @param instance LPUART instance. + */ +void LPUART_DriverIRQHandler(uint32_t instance); + +/*! @} */ + +#if defined(__cplusplus) +} +#endif + +/*! @}*/ + +#endif /* FSL_LPUART_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_dma.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_dma.c new file mode 100644 index 00000000000..5d75e6bdd7c --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_dma.c @@ -0,0 +1,434 @@ +/* + * Copyright (c) 2015, Freescale Semiconductor, Inc. + * Copyright 2016-2022 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +#include "fsl_lpuart_dma.h" + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.lpuart_dma" +#endif + +/*base, false); + + /* Disable interrupt. */ + DMA_DisableInterrupts(lpuartPrivateHandle->handle->txDmaHandle->base, + lpuartPrivateHandle->handle->txDmaHandle->channel); + + /* Enable tx complete interrupt */ + LPUART_EnableInterrupts(lpuartPrivateHandle->base, (uint32_t)kLPUART_TransmissionCompleteInterruptEnable); +} + +static void LPUART_TransferReceiveDMACallback(dma_handle_t *handle, void *param) +{ + assert(handle != NULL); + assert(param != NULL); + + lpuart_dma_private_handle_t *lpuartPrivateHandle = (lpuart_dma_private_handle_t *)param; + + /* Disable LPUART RX DMA. */ + LPUART_EnableRxDMA(lpuartPrivateHandle->base, false); + + /* Disable interrupt. */ + DMA_DisableInterrupts(lpuartPrivateHandle->handle->rxDmaHandle->base, + lpuartPrivateHandle->handle->rxDmaHandle->channel); + + lpuartPrivateHandle->handle->rxState = (uint8_t)kLPUART_RxIdle; + + if (lpuartPrivateHandle->handle->callback != NULL) + { + lpuartPrivateHandle->handle->callback(lpuartPrivateHandle->base, lpuartPrivateHandle->handle, + kStatus_LPUART_RxIdle, lpuartPrivateHandle->handle->userData); + } +} + +/*! + * brief Initializes the LPUART handle which is used in transactional functions. + * + * note This function disables all LPUART interrupts. + * + * param base LPUART peripheral base address. + * param handle Pointer to lpuart_dma_handle_t structure. + * param callback Callback function. + * param userData User data. + * param txDmaHandle User-requested DMA handle for TX DMA transfer. + * param rxDmaHandle User-requested DMA handle for RX DMA transfer. + */ +void LPUART_TransferCreateHandleDMA(LPUART_Type *base, + lpuart_dma_handle_t *handle, + lpuart_dma_transfer_callback_t callback, + void *userData, + dma_handle_t *txDmaHandle, + dma_handle_t *rxDmaHandle) +{ + assert(handle != NULL); + + uint32_t instance = LPUART_GetInstance(base); + + (void)memset(handle, 0, sizeof(lpuart_dma_handle_t)); + + s_dmaPrivateHandle[instance].base = base; + s_dmaPrivateHandle[instance].handle = handle; + + handle->rxState = (uint8_t)kLPUART_RxIdle; + handle->txState = (uint8_t)kLPUART_TxIdle; + + handle->callback = callback; + handle->userData = userData; + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + /* Note: + Take care of the RX FIFO, DMA request only assert when received bytes + equal or more than RX water mark, there is potential issue if RX water + mark larger than 1. + For example, if RX FIFO water mark is 2, upper layer needs 5 bytes and + 5 bytes are received. the last byte will be saved in FIFO but not trigger + DMA transfer because the water mark is 2. + */ + if (rxDmaHandle != NULL) + { + base->WATER &= (~LPUART_WATER_RXWATER_MASK); + } +#endif + + handle->rxDmaHandle = rxDmaHandle; + handle->txDmaHandle = txDmaHandle; + + /* Save the handle in global variables to support the double weak mechanism. */ + s_lpuartHandle[instance] = handle; + /* Set LPUART_TransferDMAHandleIRQ as DMA IRQ handler */ + s_lpuartIsr[instance] = LPUART_TransferDMAHandleIRQ; + /* Disable all LPUART internal interrupts */ + LPUART_DisableInterrupts(base, (uint32_t)kLPUART_AllInterruptEnable); + /* Enable interrupt in NVIC. */ +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ + (void)EnableIRQ(s_lpuartTxIRQ[instance]); +#else + (void)EnableIRQ(s_lpuartIRQ[instance]); +#endif + + /* Configure TX. */ + if (txDmaHandle != NULL) + { + DMA_SetCallback(txDmaHandle, LPUART_TransferSendDMACallback, &s_dmaPrivateHandle[instance]); + } + + /* Configure RX. */ + if (rxDmaHandle != NULL) + { + DMA_SetCallback(rxDmaHandle, LPUART_TransferReceiveDMACallback, &s_dmaPrivateHandle[instance]); + } +} + +/*! + * brief Sends data using DMA. + * + * This function sends data using DMA. This is a non-blocking function, which returns + * right away. When all data is sent, the send callback function is called. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param xfer LPUART DMA transfer structure. See #lpuart_transfer_t. + * retval kStatus_Success if succeed, others failed. + * retval kStatus_LPUART_TxBusy Previous transfer on going. + * retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_TransferSendDMA(LPUART_Type *base, lpuart_dma_handle_t *handle, lpuart_transfer_t *xfer) +{ + assert(handle != NULL); + assert(handle->txDmaHandle != NULL); + assert(xfer != NULL); + assert(xfer->data != NULL); + assert(xfer->dataSize != 0U); + + status_t status; + dma_transfer_config_t xferConfig; + + /* If previous TX not finished. */ + if ((uint8_t)kLPUART_TxBusy == handle->txState) + { + status = kStatus_LPUART_TxBusy; + } + else + { + handle->txState = (uint8_t)kLPUART_TxBusy; + handle->txDataSizeAll = xfer->dataSize; + + /* Prepare transfer. */ + uint32_t address = LPUART_GetDataRegisterAddress(base); + DMA_PrepareTransfer(&xferConfig, xfer->data, sizeof(uint8_t), (uint32_t *)address, sizeof(uint8_t), + xfer->dataSize, kDMA_MemoryToPeripheral); + + /* Submit transfer. */ + (void)DMA_SubmitTransfer(handle->txDmaHandle, &xferConfig, (uint32_t)kDMA_EnableInterrupt); + DMA_StartTransfer(handle->txDmaHandle); + + /* Enable LPUART TX DMA. */ + LPUART_EnableTxDMA(base, true); + + status = kStatus_Success; + } + + return status; +} + +/*! + * brief Receives data using DMA. + * + * This function receives data using DMA. This is a non-blocking function, which returns + * right away. When all data is received, the receive callback function is called. + * + * param base LPUART peripheral base address. + * param handle Pointer to lpuart_dma_handle_t structure. + * param xfer LPUART DMA transfer structure. See #lpuart_transfer_t. + * retval kStatus_Success if succeed, others failed. + * retval kStatus_LPUART_RxBusy Previous transfer on going. + * retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_TransferReceiveDMA(LPUART_Type *base, lpuart_dma_handle_t *handle, lpuart_transfer_t *xfer) +{ + assert(handle != NULL); + assert(handle->rxDmaHandle != NULL); + assert(xfer != NULL); + assert(xfer->data != NULL); + assert(xfer->dataSize != 0U); + + status_t status; + dma_transfer_config_t xferConfig; + + /* If previous RX not finished. */ + if ((uint8_t)kLPUART_RxBusy == handle->rxState) + { + status = kStatus_LPUART_RxBusy; + } + else + { + handle->rxState = (uint8_t)kLPUART_RxBusy; + handle->rxDataSizeAll = xfer->dataSize; + + /* Prepare transfer. */ + uint32_t address = LPUART_GetDataRegisterAddress(base); + DMA_PrepareTransfer(&xferConfig, (uint32_t *)address, sizeof(uint8_t), xfer->data, sizeof(uint8_t), + xfer->dataSize, kDMA_PeripheralToMemory); + + /* Submit transfer. */ + (void)DMA_SubmitTransfer(handle->rxDmaHandle, &xferConfig, (uint32_t)kDMA_EnableInterrupt); + DMA_StartTransfer(handle->rxDmaHandle); + + /* Enable LPUART RX DMA. */ + LPUART_EnableRxDMA(base, true); + + status = kStatus_Success; + } + + return status; +} + +/*! + * brief Aborts the sent data using DMA. + * + * This function aborts send data using DMA. + * + * param base LPUART peripheral base address + * param handle Pointer to lpuart_dma_handle_t structure + */ +void LPUART_TransferAbortSendDMA(LPUART_Type *base, lpuart_dma_handle_t *handle) +{ + assert(handle != NULL); + assert(handle->txDmaHandle != NULL); + + /* Disable LPUART TX DMA. */ + LPUART_EnableTxDMA(base, false); + + /* Stop transfer. */ + DMA_AbortTransfer(handle->txDmaHandle); + + /* Write DMA->DSR[DONE] to abort transfer and clear status. */ + DMA_ClearChannelStatusFlags(handle->txDmaHandle->base, handle->txDmaHandle->channel, + (uint32_t)kDMA_TransactionsDoneFlag); + + handle->txState = (uint8_t)kLPUART_TxIdle; +} + +/*! + * brief Aborts the received data using DMA. + * + * This function aborts the received data using DMA. + * + * param base LPUART peripheral base address + * param handle Pointer to lpuart_dma_handle_t structure + */ +void LPUART_TransferAbortReceiveDMA(LPUART_Type *base, lpuart_dma_handle_t *handle) +{ + assert(handle != NULL); + assert(handle->rxDmaHandle != NULL); + + /* Disable LPUART RX DMA. */ + LPUART_EnableRxDMA(base, false); + + /* Stop transfer. */ + DMA_AbortTransfer(handle->rxDmaHandle); + + /* Write DMA->DSR[DONE] to abort transfer and clear status. */ + DMA_ClearChannelStatusFlags(handle->rxDmaHandle->base, handle->rxDmaHandle->channel, + (uint32_t)kDMA_TransactionsDoneFlag); + + handle->rxState = (uint8_t)kLPUART_RxIdle; +} + +/*! + * brief Gets the number of bytes written to the LPUART TX register. + * + * This function gets the number of bytes that have been written to LPUART TX + * register by DMA. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param count Send bytes count. + * retval kStatus_NoTransferInProgress No send in progress. + * retval kStatus_InvalidArgument Parameter is invalid. + * retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetSendCountDMA(LPUART_Type *base, lpuart_dma_handle_t *handle, uint32_t *count) +{ + assert(handle != NULL); + assert(handle->txDmaHandle != NULL); + assert(count != NULL); + + if ((uint8_t)kLPUART_TxIdle == handle->txState) + { + return kStatus_NoTransferInProgress; + } + + *count = handle->txDataSizeAll - DMA_GetRemainingBytes(handle->txDmaHandle->base, handle->txDmaHandle->channel); + + return kStatus_Success; +} + +/*! + * brief Gets the number of received bytes. + * + * This function gets the number of received bytes. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param count Receive bytes count. + * retval kStatus_NoTransferInProgress No receive in progress. + * retval kStatus_InvalidArgument Parameter is invalid. + * retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetReceiveCountDMA(LPUART_Type *base, lpuart_dma_handle_t *handle, uint32_t *count) +{ + assert(handle != NULL); + assert(handle->rxDmaHandle != NULL); + assert(count != NULL); + + if ((uint8_t)kLPUART_RxIdle == handle->rxState) + { + return kStatus_NoTransferInProgress; + } + + *count = handle->rxDataSizeAll - DMA_GetRemainingBytes(handle->rxDmaHandle->base, handle->rxDmaHandle->channel); + + return kStatus_Success; +} + +/*! + * brief LPUART DMA IRQ handle function. + * + * This function handles the LPUART tx complete IRQ request and invoke user callback. + * note This function is used as default IRQ handler by double weak mechanism. + * If user's specific IRQ handler is implemented, make sure this function is invoked in the handler. + * + * param base LPUART peripheral base address. + * param lpuartDmaHandle LPUART handle pointer. + */ +void LPUART_TransferDMAHandleIRQ(LPUART_Type *base, void *lpuartDmaHandle) +{ + assert(lpuartDmaHandle != NULL); + + if (((uint32_t)kLPUART_TransmissionCompleteFlag & LPUART_GetStatusFlags(base)) != 0U) + { + lpuart_dma_handle_t *handle = (lpuart_dma_handle_t *)lpuartDmaHandle; + + /* Disable tx complete interrupt */ + LPUART_DisableInterrupts(base, (uint32_t)kLPUART_TransmissionCompleteInterruptEnable); + + handle->txState = (uint8_t)kLPUART_TxIdle; + + if (handle->callback != NULL) + { + handle->callback(base, handle, kStatus_LPUART_TxIdle, handle->userData); + } + } +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_dma.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_dma.h new file mode 100644 index 00000000000..992163bbcf4 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_dma.h @@ -0,0 +1,186 @@ +/* + * Copyright (c) 2015, Freescale Semiconductor, Inc. + * Copyright 2016-2022 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +#ifndef FSL_LPUART_DMA_H_ +#define FSL_LPUART_DMA_H_ + +#include "fsl_lpuart.h" +#include "fsl_dma.h" + +/*! + * @addtogroup lpuart_dma_driver + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! @name Driver version */ +/*! @{ */ +/*! @brief LPUART DMA driver version. */ +#define FSL_LPUART_DMA_DRIVER_VERSION (MAKE_VERSION(2, 6, 0)) +/*! @} */ + +/* Forward declaration of the handle typedef. */ +typedef struct _lpuart_dma_handle lpuart_dma_handle_t; + +/*! @brief LPUART transfer callback function. */ +typedef void (*lpuart_dma_transfer_callback_t)(LPUART_Type *base, + lpuart_dma_handle_t *handle, + status_t status, + void *userData); + +/*! + * @brief LPUART DMA handle + */ +struct _lpuart_dma_handle +{ + lpuart_dma_transfer_callback_t callback; /*!< Callback function. */ + void *userData; /*!< LPUART callback function parameter.*/ + size_t rxDataSizeAll; /*!< Size of the data to receive. */ + size_t txDataSizeAll; /*!< Size of the data to send out. */ + + dma_handle_t *txDmaHandle; /*!< The DMA TX channel used. */ + dma_handle_t *rxDmaHandle; /*!< The DMA RX channel used. */ + + volatile uint8_t txState; /*!< TX transfer state. */ + volatile uint8_t rxState; /*!< RX transfer state */ +}; + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif + +/*! + * @name EDMA transactional + * @{ + */ + +/*! + * @brief Initializes the LPUART handle which is used in transactional functions. + * + * @note This function disables all LPUART interrupts. + * + * @param base LPUART peripheral base address. + * @param handle Pointer to lpuart_dma_handle_t structure. + * @param callback Callback function. + * @param userData User data. + * @param txDmaHandle User-requested DMA handle for TX DMA transfer. + * @param rxDmaHandle User-requested DMA handle for RX DMA transfer. + */ +void LPUART_TransferCreateHandleDMA(LPUART_Type *base, + lpuart_dma_handle_t *handle, + lpuart_dma_transfer_callback_t callback, + void *userData, + dma_handle_t *txDmaHandle, + dma_handle_t *rxDmaHandle); + +/*! + * @brief Sends data using DMA. + * + * This function sends data using DMA. This is a non-blocking function, which returns + * right away. When all data is sent, the send callback function is called. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param xfer LPUART DMA transfer structure. See #lpuart_transfer_t. + * @retval kStatus_Success if succeed, others failed. + * @retval kStatus_LPUART_TxBusy Previous transfer on going. + * @retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_TransferSendDMA(LPUART_Type *base, lpuart_dma_handle_t *handle, lpuart_transfer_t *xfer); + +/*! + * @brief Receives data using DMA. + * + * This function receives data using DMA. This is a non-blocking function, which returns + * right away. When all data is received, the receive callback function is called. + * + * @param base LPUART peripheral base address. + * @param handle Pointer to lpuart_dma_handle_t structure. + * @param xfer LPUART DMA transfer structure. See #lpuart_transfer_t. + * @retval kStatus_Success if succeed, others failed. + * @retval kStatus_LPUART_RxBusy Previous transfer on going. + * @retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_TransferReceiveDMA(LPUART_Type *base, lpuart_dma_handle_t *handle, lpuart_transfer_t *xfer); + +/*! + * @brief Aborts the sent data using DMA. + * + * This function aborts send data using DMA. + * + * @param base LPUART peripheral base address + * @param handle Pointer to lpuart_dma_handle_t structure + */ +void LPUART_TransferAbortSendDMA(LPUART_Type *base, lpuart_dma_handle_t *handle); + +/*! + * @brief Aborts the received data using DMA. + * + * This function aborts the received data using DMA. + * + * @param base LPUART peripheral base address + * @param handle Pointer to lpuart_dma_handle_t structure + */ +void LPUART_TransferAbortReceiveDMA(LPUART_Type *base, lpuart_dma_handle_t *handle); + +/*! + * @brief Gets the number of bytes written to the LPUART TX register. + * + * This function gets the number of bytes that have been written to LPUART TX + * register by DMA. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param count Send bytes count. + * @retval kStatus_NoTransferInProgress No send in progress. + * @retval kStatus_InvalidArgument Parameter is invalid. + * @retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetSendCountDMA(LPUART_Type *base, lpuart_dma_handle_t *handle, uint32_t *count); + +/*! + * @brief Gets the number of received bytes. + * + * This function gets the number of received bytes. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param count Receive bytes count. + * @retval kStatus_NoTransferInProgress No receive in progress. + * @retval kStatus_InvalidArgument Parameter is invalid. + * @retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetReceiveCountDMA(LPUART_Type *base, lpuart_dma_handle_t *handle, uint32_t *count); + +/*! + * @brief LPUART DMA IRQ handle function. + * + * This function handles the LPUART tx complete IRQ request and invoke user callback. + * @note This function is used as default IRQ handler by double weak mechanism. + * If user's specific IRQ handler is implemented, make sure this function is invoked in the handler. + * + * @param base LPUART peripheral base address. + * @param lpuartDmaHandle LPUART handle pointer. + */ +void LPUART_TransferDMAHandleIRQ(LPUART_Type *base, void *lpuartDmaHandle); + +/*! @} */ + +#if defined(__cplusplus) +} +#endif + +/*! @}*/ + +#endif /* FSL_LPUART_DMA_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_edma.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_edma.c new file mode 100644 index 00000000000..8c761a2feb9 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_edma.c @@ -0,0 +1,469 @@ +/* + * Copyright (c) 2015, Freescale Semiconductor, Inc. + * Copyright 2016-2022 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_lpuart_edma.h" +/* + * $Coverage Justification Reference$ + * + * $Justification fsl_lpuart_edma_c_ref_1$ + * The EDMA handle is only used by the LPUART EDMA driver, with the LPUART EDMA driver workflow, + * the callback is only called when EDMA transfer done. + * + * $Justification fsl_lpuart_edma_c_ref_2$ + * This function only handles the kLPUART_TransmissionCompleteFlag event. + * + */ +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.lpuart_edma" +#endif + +/*base, false); + + /* Stop transfer. */ + EDMA_AbortTransfer(handle); + + /* Enable tx complete interrupt */ + LPUART_EnableInterrupts(lpuartPrivateHandle->base, (uint32_t)kLPUART_TransmissionCompleteInterruptEnable); + } +} + +static void LPUART_ReceiveEDMACallback(edma_handle_t *handle, void *param, bool transferDone, uint32_t tcds) +{ + assert(NULL != param); + + lpuart_edma_private_handle_t *lpuartPrivateHandle = (lpuart_edma_private_handle_t *)param; + + /* Avoid warning for unused parameters. */ + handle = handle; + tcds = tcds; + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_edma_c_ref_1$ + */ + if (transferDone) + { + /* Disable transfer. */ + LPUART_TransferAbortReceiveEDMA(lpuartPrivateHandle->base, lpuartPrivateHandle->handle); + + if (NULL != lpuartPrivateHandle->handle->callback) + { + lpuartPrivateHandle->handle->callback(lpuartPrivateHandle->base, lpuartPrivateHandle->handle, + kStatus_LPUART_RxIdle, lpuartPrivateHandle->handle->userData); + } + } +} + +/*! + * brief Initializes the LPUART handle which is used in transactional functions. + * + * note This function disables all LPUART interrupts. + * + * param base LPUART peripheral base address. + * param handle Pointer to lpuart_edma_handle_t structure. + * param callback Callback function. + * param userData User data. + * param txEdmaHandle User requested DMA handle for TX DMA transfer. + * param rxEdmaHandle User requested DMA handle for RX DMA transfer. + */ +void LPUART_TransferCreateHandleEDMA(LPUART_Type *base, + lpuart_edma_handle_t *handle, + lpuart_edma_transfer_callback_t callback, + void *userData, + edma_handle_t *txEdmaHandle, + edma_handle_t *rxEdmaHandle) +{ + assert(NULL != handle); + + uint32_t instance = LPUART_GetInstance(base); + + s_lpuartEdmaPrivateHandle[instance].base = base; + s_lpuartEdmaPrivateHandle[instance].handle = handle; + + (void)memset(handle, 0, sizeof(*handle)); + + handle->rxState = (uint8_t)kLPUART_RxIdle; + handle->txState = (uint8_t)kLPUART_TxIdle; + + handle->rxEdmaHandle = rxEdmaHandle; + handle->txEdmaHandle = txEdmaHandle; + + handle->callback = callback; + handle->userData = userData; + +#if defined(FSL_FEATURE_LPUART_HAS_FIFO) && FSL_FEATURE_LPUART_HAS_FIFO + /* Note: + Take care of the RX FIFO, EDMA request only assert when received bytes + equal or more than RX water mark, there is potential issue if RX water + mark larger than 1. + For example, if RX FIFO water mark is 2, upper layer needs 5 bytes and + 5 bytes are received. the last byte will be saved in FIFO but not trigger + EDMA transfer because the water mark is 2. + */ + if (NULL != rxEdmaHandle) + { + base->WATER &= (~LPUART_WATER_RXWATER_MASK); + } +#endif + + /* Save the handle in global variables to support the double weak mechanism. */ + s_lpuartHandle[instance] = handle; + /* Set LPUART_TransferEdmaHandleIRQ as DMA IRQ handler */ + s_lpuartIsr[instance] = LPUART_TransferEdmaHandleIRQ; + /* Disable all LPUART internal interrupts */ + LPUART_DisableInterrupts(base, (uint32_t)kLPUART_AllInterruptEnable); + /* Enable interrupt in NVIC. */ +#if defined(FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ) && FSL_FEATURE_LPUART_HAS_SEPARATE_RX_TX_IRQ + (void)EnableIRQ(s_lpuartTxIRQ[instance]); +#else + (void)EnableIRQ(s_lpuartIRQ[instance]); +#endif + + /* Configure TX. */ + if (NULL != txEdmaHandle) + { + EDMA_SetCallback(handle->txEdmaHandle, LPUART_SendEDMACallback, &s_lpuartEdmaPrivateHandle[instance]); + } + + /* Configure RX. */ + if (NULL != rxEdmaHandle) + { + EDMA_SetCallback(handle->rxEdmaHandle, LPUART_ReceiveEDMACallback, &s_lpuartEdmaPrivateHandle[instance]); + } +} + +/*! + * brief Sends data using eDMA. + * + * This function sends data using eDMA. This is a non-blocking function, which returns + * right away. When all data is sent, the send callback function is called. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param xfer LPUART eDMA transfer structure. See #lpuart_transfer_t. + * retval kStatus_Success if succeed, others failed. + * retval kStatus_LPUART_TxBusy Previous transfer on going. + * retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_SendEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle, lpuart_transfer_t *xfer) +{ + assert(NULL != handle); + assert(NULL != handle->txEdmaHandle); + assert(NULL != xfer); + assert(NULL != xfer->data); + assert(0U != xfer->dataSize); + + edma_transfer_config_t xferConfig; + status_t status; + + /* If previous TX not finished. */ + if ((uint8_t)kLPUART_TxBusy == handle->txState) + { + status = kStatus_LPUART_TxBusy; + } + else + { + handle->txState = (uint8_t)kLPUART_TxBusy; + handle->txDataSizeAll = xfer->dataSize; + + /* Prepare transfer. */ + EDMA_PrepareTransfer(&xferConfig, xfer->data, sizeof(uint8_t), + (void *)(uint32_t *)LPUART_GetDataRegisterAddress(base), sizeof(uint8_t), sizeof(uint8_t), + xfer->dataSize, kEDMA_MemoryToPeripheral); + + /* Store the initially configured eDMA minor byte transfer count into the LPUART handle */ + handle->nbytes = (uint8_t)sizeof(uint8_t); + + /* Submit transfer. */ + if (kStatus_Success != + EDMA_SubmitTransfer(handle->txEdmaHandle, (const edma_transfer_config_t *)(uint32_t)&xferConfig)) + { + return kStatus_Fail; + } + EDMA_StartTransfer(handle->txEdmaHandle); + + /* Enable LPUART TX EDMA. */ + LPUART_EnableTxDMA(base, true); + + status = kStatus_Success; + } + + return status; +} + +/*! + * brief Receives data using eDMA. + * + * This function receives data using eDMA. This is non-blocking function, which returns + * right away. When all data is received, the receive callback function is called. + * + * param base LPUART peripheral base address. + * param handle Pointer to lpuart_edma_handle_t structure. + * param xfer LPUART eDMA transfer structure, see #lpuart_transfer_t. + * retval kStatus_Success if succeed, others fail. + * retval kStatus_LPUART_RxBusy Previous transfer ongoing. + * retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_ReceiveEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle, lpuart_transfer_t *xfer) +{ + assert(NULL != handle); + assert(NULL != handle->rxEdmaHandle); + assert(NULL != xfer); + assert(NULL != xfer->data); + assert(0U != xfer->dataSize); + + edma_transfer_config_t xferConfig; + status_t status; + + /* If previous RX not finished. */ + if ((uint8_t)kLPUART_RxBusy == handle->rxState) + { + status = kStatus_LPUART_RxBusy; + } + else + { + handle->rxState = (uint8_t)kLPUART_RxBusy; + handle->rxDataSizeAll = xfer->dataSize; + + /* Prepare transfer. */ + EDMA_PrepareTransfer(&xferConfig, (void *)(uint32_t *)LPUART_GetDataRegisterAddress(base), sizeof(uint8_t), + xfer->data, sizeof(uint8_t), sizeof(uint8_t), xfer->dataSize, kEDMA_PeripheralToMemory); + + /* Store the initially configured eDMA minor byte transfer count into the LPUART handle */ + handle->nbytes = (uint8_t)sizeof(uint8_t); + + /* Submit transfer. */ + if (kStatus_Success != + EDMA_SubmitTransfer(handle->rxEdmaHandle, (const edma_transfer_config_t *)(uint32_t)&xferConfig)) + { + return kStatus_Fail; + } + EDMA_StartTransfer(handle->rxEdmaHandle); + + /* Enable LPUART RX EDMA. */ + LPUART_EnableRxDMA(base, true); + + status = kStatus_Success; + } + + return status; +} + +/*! + * brief Aborts the sent data using eDMA. + * + * This function aborts the sent data using eDMA. + * + * param base LPUART peripheral base address. + * param handle Pointer to lpuart_edma_handle_t structure. + */ +void LPUART_TransferAbortSendEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle) +{ + assert(NULL != handle); + assert(NULL != handle->txEdmaHandle); + + /* Disable LPUART TX EDMA. */ + LPUART_EnableTxDMA(base, false); + + /* Stop transfer. */ + EDMA_AbortTransfer(handle->txEdmaHandle); + + handle->txState = (uint8_t)kLPUART_TxIdle; +} + +/*! + * brief Aborts the received data using eDMA. + * + * This function aborts the received data using eDMA. + * + * param base LPUART peripheral base address. + * param handle Pointer to lpuart_edma_handle_t structure. + */ +void LPUART_TransferAbortReceiveEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle) +{ + assert(NULL != handle); + assert(NULL != handle->rxEdmaHandle); + + /* Disable LPUART RX EDMA. */ + LPUART_EnableRxDMA(base, false); + + /* Stop transfer. */ + EDMA_AbortTransfer(handle->rxEdmaHandle); + + handle->rxState = (uint8_t)kLPUART_RxIdle; +} + +/*! + * brief Gets the number of received bytes. + * + * This function gets the number of received bytes. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param count Receive bytes count. + * retval kStatus_NoTransferInProgress No receive in progress. + * retval kStatus_InvalidArgument Parameter is invalid. + * retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetReceiveCountEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle, uint32_t *count) +{ + assert(NULL != handle); + assert(NULL != handle->rxEdmaHandle); + assert(NULL != count); + + if ((uint8_t)kLPUART_RxIdle == handle->rxState) + { + return kStatus_NoTransferInProgress; + } + + *count = handle->rxDataSizeAll - + ((uint32_t)handle->nbytes * + EDMA_GetRemainingMajorLoopCount(handle->rxEdmaHandle->base, handle->rxEdmaHandle->channel)); + + return kStatus_Success; +} + +/*! + * brief Gets the number of bytes written to the LPUART TX register. + * + * This function gets the number of bytes written to the LPUART TX + * register by DMA. + * + * param base LPUART peripheral base address. + * param handle LPUART handle pointer. + * param count Send bytes count. + * retval kStatus_NoTransferInProgress No send in progress. + * retval kStatus_InvalidArgument Parameter is invalid. + * retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetSendCountEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle, uint32_t *count) +{ + assert(NULL != handle); + assert(NULL != handle->txEdmaHandle); + assert(NULL != count); + + if ((uint8_t)kLPUART_TxIdle == handle->txState) + { + return kStatus_NoTransferInProgress; + } + + *count = handle->txDataSizeAll - + ((uint32_t)handle->nbytes * + EDMA_GetRemainingMajorLoopCount(handle->txEdmaHandle->base, handle->txEdmaHandle->channel)); + + return kStatus_Success; +} + +/*! + * brief LPUART eDMA IRQ handle function. + * + * This function handles the LPUART tx complete IRQ request and invoke user callback. + * It is not set to static so that it can be used in user application. + * note This function is used as default IRQ handler by double weak mechanism. + * If user's specific IRQ handler is implemented, make sure this function is invoked in the handler. + * + * param base LPUART peripheral base address. + * param lpuartEdmaHandle LPUART handle pointer. + */ +void LPUART_TransferEdmaHandleIRQ(LPUART_Type *base, void *lpuartEdmaHandle) +{ + assert(lpuartEdmaHandle != NULL); + /* + * $Branch Coverage Justification$ + * $ref fsl_lpuart_edma_c_ref_2$ + */ + if (((uint32_t)kLPUART_TransmissionCompleteFlag & LPUART_GetStatusFlags(base)) != 0U) + { + lpuart_edma_handle_t *handle = (lpuart_edma_handle_t *)lpuartEdmaHandle; + + /* Disable tx complete interrupt */ + LPUART_DisableInterrupts(base, (uint32_t)kLPUART_TransmissionCompleteInterruptEnable); + + handle->txState = (uint8_t)kLPUART_TxIdle; + + if (handle->callback != NULL) + { + handle->callback(base, handle, kStatus_LPUART_TxIdle, handle->userData); + } + } +} diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_edma.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_edma.h new file mode 100644 index 00000000000..1190ed36e86 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/lpuart/fsl_lpuart_edma.h @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2015, Freescale Semiconductor, Inc. + * Copyright 2016-2022 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ +#ifndef FSL_LPUART_EDMA_H_ +#define FSL_LPUART_EDMA_H_ + +#include "fsl_lpuart.h" +#include "fsl_edma.h" + +/*! + * @addtogroup lpuart_edma_driver + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! @name Driver version */ +/*! @{ */ +/*! @brief LPUART EDMA driver version. */ +#define FSL_LPUART_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 6, 0)) +/*! @} */ + +/* Forward declaration of the handle typedef. */ +typedef struct _lpuart_edma_handle lpuart_edma_handle_t; + +/*! @brief LPUART transfer callback function. */ +typedef void (*lpuart_edma_transfer_callback_t)(LPUART_Type *base, + lpuart_edma_handle_t *handle, + status_t status, + void *userData); + +/*! + * @brief LPUART eDMA handle + */ +struct _lpuart_edma_handle +{ + lpuart_edma_transfer_callback_t callback; /*!< Callback function. */ + void *userData; /*!< LPUART callback function parameter.*/ + size_t rxDataSizeAll; /*!< Size of the data to receive. */ + size_t txDataSizeAll; /*!< Size of the data to send out. */ + + edma_handle_t *txEdmaHandle; /*!< The eDMA TX channel used. */ + edma_handle_t *rxEdmaHandle; /*!< The eDMA RX channel used. */ + + uint8_t nbytes; /*!< eDMA minor byte transfer count initially configured. */ + + volatile uint8_t txState; /*!< TX transfer state. */ + volatile uint8_t rxState; /*!< RX transfer state */ +}; + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif + +/*! + * @name eDMA transactional + * @{ + */ + +/*! + * @brief Initializes the LPUART handle which is used in transactional functions. + * + * @note This function disables all LPUART interrupts. + * + * @param base LPUART peripheral base address. + * @param handle Pointer to lpuart_edma_handle_t structure. + * @param callback Callback function. + * @param userData User data. + * @param txEdmaHandle User requested DMA handle for TX DMA transfer. + * @param rxEdmaHandle User requested DMA handle for RX DMA transfer. + */ +void LPUART_TransferCreateHandleEDMA(LPUART_Type *base, + lpuart_edma_handle_t *handle, + lpuart_edma_transfer_callback_t callback, + void *userData, + edma_handle_t *txEdmaHandle, + edma_handle_t *rxEdmaHandle); + +/*! + * @brief Sends data using eDMA. + * + * This function sends data using eDMA. This is a non-blocking function, which returns + * right away. When all data is sent, the send callback function is called. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param xfer LPUART eDMA transfer structure. See #lpuart_transfer_t. + * @retval kStatus_Success if succeed, others failed. + * @retval kStatus_LPUART_TxBusy Previous transfer on going. + * @retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_SendEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle, lpuart_transfer_t *xfer); + +/*! + * @brief Receives data using eDMA. + * + * This function receives data using eDMA. This is non-blocking function, which returns + * right away. When all data is received, the receive callback function is called. + * + * @param base LPUART peripheral base address. + * @param handle Pointer to lpuart_edma_handle_t structure. + * @param xfer LPUART eDMA transfer structure, see #lpuart_transfer_t. + * @retval kStatus_Success if succeed, others fail. + * @retval kStatus_LPUART_RxBusy Previous transfer ongoing. + * @retval kStatus_InvalidArgument Invalid argument. + */ +status_t LPUART_ReceiveEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle, lpuart_transfer_t *xfer); + +/*! + * @brief Aborts the sent data using eDMA. + * + * This function aborts the sent data using eDMA. + * + * @param base LPUART peripheral base address. + * @param handle Pointer to lpuart_edma_handle_t structure. + */ +void LPUART_TransferAbortSendEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle); + +/*! + * @brief Aborts the received data using eDMA. + * + * This function aborts the received data using eDMA. + * + * @param base LPUART peripheral base address. + * @param handle Pointer to lpuart_edma_handle_t structure. + */ +void LPUART_TransferAbortReceiveEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle); + +/*! + * @brief Gets the number of bytes written to the LPUART TX register. + * + * This function gets the number of bytes written to the LPUART TX + * register by DMA. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param count Send bytes count. + * @retval kStatus_NoTransferInProgress No send in progress. + * @retval kStatus_InvalidArgument Parameter is invalid. + * @retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetSendCountEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle, uint32_t *count); + +/*! + * @brief Gets the number of received bytes. + * + * This function gets the number of received bytes. + * + * @param base LPUART peripheral base address. + * @param handle LPUART handle pointer. + * @param count Receive bytes count. + * @retval kStatus_NoTransferInProgress No receive in progress. + * @retval kStatus_InvalidArgument Parameter is invalid. + * @retval kStatus_Success Get successfully through the parameter \p count; + */ +status_t LPUART_TransferGetReceiveCountEDMA(LPUART_Type *base, lpuart_edma_handle_t *handle, uint32_t *count); + +/*! + * @brief LPUART eDMA IRQ handle function. + * + * This function handles the LPUART tx complete IRQ request and invoke user callback. + * It is not set to static so that it can be used in user application. + * @note This function is used as default IRQ handler by double weak mechanism. + * If user's specific IRQ handler is implemented, make sure this function is invoked in the handler. + * + * @param base LPUART peripheral base address. + * @param lpuartEdmaHandle LPUART handle pointer. + */ +void LPUART_TransferEdmaHandleIRQ(LPUART_Type *base, void *lpuartEdmaHandle); + +/*! @} */ + +#if defined(__cplusplus) +} +#endif + +/*! @}*/ + +#endif /* FSL_LPUART_EDMA_H_ */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/SConscript b/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/SConscript new file mode 100644 index 00000000000..3f8f39acae7 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/SConscript @@ -0,0 +1,17 @@ +# for module compiling +import os +from building import * + +cwd = GetCurrentDir() + +src = Glob('*.c') + +CPPPATH = [cwd] +objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) + +for item in os.listdir(cwd): + sconsfile = os.path.join(item, 'SConscript') + if os.path.isfile(os.path.join(cwd, sconsfile)): + objs += SConscript(sconsfile) + +Return('objs') diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/fsl_rgpio.c b/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/fsl_rgpio.c new file mode 100644 index 00000000000..aa946a35bd2 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/fsl_rgpio.c @@ -0,0 +1,322 @@ +/* + * Copyright (c) 2016, Freescale Semiconductor, Inc. + * Copyright 2016-2017 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "fsl_rgpio.h" + +/* Component ID definition, used by tools. */ +#ifndef FSL_COMPONENT_ID +#define FSL_COMPONENT_ID "platform.drivers.rgpio" +#endif + +/******************************************************************************* + * Variables + ******************************************************************************/ +#if defined(FSL_FEATURE_SOC_PORT_COUNT) && FSL_FEATURE_SOC_PORT_COUNT +static PORT_Type *const s_portBases[] = PORT_BASE_PTRS; +#endif /* FSL_FEATURE_SOC_PORT_COUNT */ + +static RGPIO_Type *const s_rgpioBases[] = RGPIO_BASE_PTRS; + +#if defined(FSL_FEATURE_SOC_FGPIO_COUNT) && FSL_FEATURE_SOC_FGPIO_COUNT + +#if defined(FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL) && FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL + +#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) +/*! @brief Array to map FGPIO instance number to clock name. */ +static const clock_ip_name_t s_fgpioClockName[] = FGPIO_CLOCKS; +#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */ + +#endif /* FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL */ + +#endif /* FSL_FEATURE_SOC_FGPIO_COUNT */ + +/******************************************************************************* + * Prototypes + ******************************************************************************/ + +/******************************************************************************* + * Code + ******************************************************************************/ + +/*! + * brief Gets the RGPIO instance according to the RGPIO base + * + * param base RGPIO peripheral base pointer(PTA, PTB, PTC, etc.) + * retval RGPIO instance + */ +uint32_t RGPIO_GetInstance(RGPIO_Type *base) +{ + uint32_t instance; + + /* Find the instance index from base address mappings. */ + for (instance = 0U; instance < ARRAY_SIZE(s_rgpioBases); instance++) + { + if (MSDK_REG_SECURE_ADDR(s_rgpioBases[instance]) == MSDK_REG_SECURE_ADDR(base)) + { + break; + } + } + + assert(instance < ARRAY_SIZE(s_rgpioBases)); + + return instance; +} + +/*! + * brief Initializes a RGPIO pin used by the board. + * + * To initialize the RGPIO, define a pin configuration, as either input or output, in the user file. + * Then, call the RGPIO_PinInit() function. + * + * This is an example to define an input pin or an output pin configuration. + * code + * Define a digital input pin configuration, + * rgpio_pin_config_t config = + * { + * kRGPIO_DigitalInput, + * 0, + * } + * Define a digital output pin configuration, + * rgpio_pin_config_t config = + * { + * kRGPIO_DigitalOutput, + * 0, + * } + * endcode + * + * param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * param pin RGPIO port pin number + * param config RGPIO pin configuration pointer + */ +void RGPIO_PinInit(RGPIO_Type *base, uint32_t pin, const rgpio_pin_config_t *config) +{ + assert(NULL != config); + + if (config->pinDirection == kRGPIO_DigitalInput) + { + base->PDDR &= ~(1UL << pin); + } + else + { + RGPIO_WritePinOutput(base, pin, config->outputLogic); + base->PDDR |= (1UL << pin); + } +} + +#if defined(FSL_FEATURE_SOC_PORT_COUNT) && FSL_FEATURE_SOC_PORT_COUNT +/*! + * brief Reads the RGPIO port interrupt status flag. + * + * If a pin is configured to generate the DMA request, the corresponding flag + * is cleared automatically at the completion of the requested DMA transfer. + * Otherwise, the flag remains set until a logic one is written to that flag. + * If configured for a level sensitive interrupt that remains asserted, the flag + * is set again immediately. + * + * param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * retval The current RGPIO port interrupt status flag, for example, 0x00010001 means the + * pin 0 and 17 have the interrupt. + */ +uint32_t RGPIO_PortGetInterruptFlags(RGPIO_Type *base) +{ + uint8_t instance; + PORT_Type *portBase; + instance = RGPIO_GetInstance(base); + portBase = s_portBases[instance]; + return portBase->ISFR; +} + +/*! + * brief Clears multiple RGPIO pin interrupt status flags. + * + * param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * param mask RGPIO pin number macro + */ +void RGPIO_PortClearInterruptFlags(RGPIO_Type *base, uint32_t mask) +{ + uint8_t instance; + PORT_Type *portBase; + instance = RGPIO_GetInstance(base); + portBase = s_portBases[instance]; + portBase->ISFR = mask; +} +#endif /* FSL_FEATURE_SOC_PORT_COUNT */ + +#if defined(FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER) && FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER +/*! + * brief The RGPIO module supports a device-specific number of data ports, organized as 32-bit + * words. Each 32-bit data port includes a GACR register, which defines the byte-level + * attributes required for a successful access to the RGPIO programming model. The attribute controls for the 4 data + * bytes in the GACR follow a standard little endian + * data convention. + * + * param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * param mask RGPIO pin number macro + */ +void RGPIO_CheckAttributeBytes(RGPIO_Type *base, rgpio_checker_attribute_t attribute) +{ + base->GACR = ((uint32_t)attribute << RGPIO_GACR_ACB0_SHIFT) | ((uint32_t)attribute << RGPIO_GACR_ACB1_SHIFT) | + ((uint32_t)attribute << RGPIO_GACR_ACB2_SHIFT) | ((uint32_t)attribute << RGPIO_GACR_ACB3_SHIFT); +} +#endif + +#if defined(FSL_FEATURE_SOC_FGPIO_COUNT) && FSL_FEATURE_SOC_FGPIO_COUNT + +/******************************************************************************* + * Variables + ******************************************************************************/ +static FGPIO_Type *const s_fgpioBases[] = FGPIO_BASE_PTRS; + +/******************************************************************************* + * Prototypes + ******************************************************************************/ + +/******************************************************************************* + * Code + ******************************************************************************/ + +/*! + * brief Gets the FGPIO instance according to the RGPIO base + * + * param base FGPIO peripheral base pointer(PTA, PTB, PTC, etc.) + * retval FGPIO instance + */ +uint32_t FGPIO_GetInstance(FGPIO_Type *base) +{ + uint32_t instance; + + /* Find the instance index from base address mappings. */ + for (instance = 0U; instance < ARRAY_SIZE(s_fgpioBases); instance++) + { + if (MSDK_REG_SECURE_ADDR(s_fgpioBases[instance]) == MSDK_REG_SECURE_ADDR(base)) + { + break; + } + } + + assert(instance < ARRAY_SIZE(s_fgpioBases)); + + return instance; +} + +#if defined(FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL) && FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL +void FGPIO_PortInit(FGPIO_Type *base) +{ +#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) + /* Ungate FGPIO periphral clock */ + CLOCK_EnableClock(s_fgpioClockName[FGPIO_GetInstance(base)]); +#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */ +} +#endif /* FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL */ + +/*! + * brief Initializes a FGPIO pin used by the board. + * + * To initialize the FGPIO driver, define a pin configuration, as either input or output, in the user file. + * Then, call the FGPIO_PinInit() function. + * + * This is an example to define an input pin or an output pin configuration: + * code + * Define a digital input pin configuration, + * rgpio_pin_config_t config = + * { + * kRGPIO_DigitalInput, + * 0, + * } + * Define a digital output pin configuration, + * rgpio_pin_config_t config = + * { + * kRGPIO_DigitalOutput, + * 0, + * } + * endcode + * + * param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * param pin FGPIO port pin number + * param config FGPIO pin configuration pointer + */ +void FGPIO_PinInit(FGPIO_Type *base, uint32_t pin, const rgpio_pin_config_t *config) +{ + assert(NULL != config); + +#if defined(FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL) && FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL +#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) + /* Ungate FGPIO periphral clock */ + CLOCK_EnableClock(s_fgpioClockName[FGPIO_GetInstance(base)]); +#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */ +#endif /* FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL */ + + if (config->pinDirection == kRGPIO_DigitalInput) + { + base->PDDR &= ~(1UL << pin); + } + else + { + FGPIO_WritePinOutput(base, pin, config->outputLogic); + base->PDDR |= (1UL << pin); + } +} + +#if defined(FSL_FEATURE_SOC_PORT_COUNT) && FSL_FEATURE_SOC_PORT_COUNT +/*! + * brief Reads the FGPIO port interrupt status flag. + * + * If a pin is configured to generate the DMA request, the corresponding flag + * is cleared automatically at the completion of the requested DMA transfer. + * Otherwise, the flag remains set until a logic one is written to that flag. + * If configured for a level-sensitive interrupt that remains asserted, the flag + * is set again immediately. + * + * param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * retval The current FGPIO port interrupt status flags, for example, 0x00010001 means the + * pin 0 and 17 have the interrupt. + */ +uint32_t FGPIO_PortGetInterruptFlags(FGPIO_Type *base) +{ + uint8_t instance; + instance = FGPIO_GetInstance(base); + PORT_Type *portBase; + portBase = s_portBases[instance]; + return portBase->ISFR; +} + +/*! + * brief Clears the multiple FGPIO pin interrupt status flag. + * + * param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * param mask FGPIO pin number macro + */ +void FGPIO_PortClearInterruptFlags(FGPIO_Type *base, uint32_t mask) +{ + uint8_t instance; + instance = FGPIO_GetInstance(base); + PORT_Type *portBase; + portBase = s_portBases[instance]; + portBase->ISFR = mask; +} +#endif /* FSL_FEATURE_SOC_PORT_COUNT */ + +#if defined(FSL_FEATURE_FGPIO_HAS_ATTRIBUTE_CHECKER) && FSL_FEATURE_FGPIO_HAS_ATTRIBUTE_CHECKER +/*! + * brief The FGPIO module supports a device-specific number of data ports, organized as 32-bit + * words. Each 32-bit data port includes a GACR register, which defines the byte-level + * attributes required for a successful access to the RGPIO programming model. The attribute controls for the 4 data + * bytes in the GACR follow a standard little endian + * data convention. + * + * param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * param mask FGPIO pin number macro + */ +void FGPIO_CheckAttributeBytes(FGPIO_Type *base, rgpio_checker_attribute_t attribute) +{ + base->GACR = (attribute << FGPIO_GACR_ACB0_SHIFT) | (attribute << FGPIO_GACR_ACB1_SHIFT) | + (attribute << FGPIO_GACR_ACB2_SHIFT) | (attribute << FGPIO_GACR_ACB3_SHIFT); +} +#endif + +#endif /* FSL_FEATURE_SOC_FGPIO_COUNT */ diff --git a/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/fsl_rgpio.h b/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/fsl_rgpio.h new file mode 100644 index 00000000000..2241e6a17c0 --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/sdk/drivers/rgpio/fsl_rgpio.h @@ -0,0 +1,708 @@ +/* + * Copyright (c) 2016, Freescale Semiconductor, Inc. + * Copyright 2016-2017, 2020-2021 NXP + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FSL_RGPIO_H_ +#define FSL_RGPIO_H_ + +#include "fsl_common.h" + +/*! + * @addtogroup rgpio + * @{ + */ + +/******************************************************************************* + * Definitions + ******************************************************************************/ + +/*! @name Driver version */ +/*! @{ */ +/*! @brief RGPIO driver version 2.1.0. */ +#define FSL_RGPIO_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) +/*! @} */ + +/*! @brief RGPIO direction definition */ +typedef enum _rgpio_pin_direction +{ + kRGPIO_DigitalInput = 0U, /*!< Set current pin as digital input*/ + kRGPIO_DigitalOutput = 1U, /*!< Set current pin as digital output*/ +} rgpio_pin_direction_t; + +#if defined(FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER) && FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER +/*! @brief RGPIO checker attribute */ +typedef enum _rgpio_checker_attribute +{ + kRGPIO_UsernonsecureRWUsersecureRWPrivilegedsecureRW = + 0x00U, /*!< User nonsecure:Read+Write; User Secure:Read+Write; Privileged Secure:Read+Write */ + kRGPIO_UsernonsecureRUsersecureRWPrivilegedsecureRW = + 0x01U, /*!< User nonsecure:Read; User Secure:Read+Write; Privileged Secure:Read+Write */ + kRGPIO_UsernonsecureNUsersecureRWPrivilegedsecureRW = + 0x02U, /*!< User nonsecure:None; User Secure:Read+Write; Privileged Secure:Read+Write */ + kRGPIO_UsernonsecureRUsersecureRPrivilegedsecureRW = + 0x03U, /*!< User nonsecure:Read; User Secure:Read; Privileged Secure:Read+Write */ + kRGPIO_UsernonsecureNUsersecureRPrivilegedsecureRW = + 0x04U, /*!< User nonsecure:None; User Secure:Read; Privileged Secure:Read+Write */ + kRGPIO_UsernonsecureNUsersecureNPrivilegedsecureRW = + 0x05U, /*!< User nonsecure:None; User Secure:None; Privileged Secure:Read+Write */ + kRGPIO_UsernonsecureNUsersecureNPrivilegedsecureR = + 0x06U, /*!< User nonsecure:None; User Secure:None; Privileged Secure:Read */ + kRGPIO_UsernonsecureNUsersecureNPrivilegedsecureN = + 0x07U, /*!< User nonsecure:None; User Secure:None; Privileged Secure:None */ + kRGPIO_IgnoreAttributeCheck = 0x80U, /*!< Ignores the attribute check */ +} rgpio_checker_attribute_t; +#endif + +#if defined(FSL_FEATURE_RGPIO_HAS_IRQ_CONFIG) && FSL_FEATURE_RGPIO_HAS_IRQ_CONFIG +/*! @brief Configures the interrupt generation condition. */ +typedef enum _rgpio_interrupt_sel +{ + kRGPIO_InterruptOutput0 = 0x0U, /*!< Interrupt/DMA request/trigger output 0. */ + kRGPIO_InterruptOutput1 = 0x1U, /*!< Interrupt/DMA request/trigger output 1. */ + kRGPIO_InterruptOutput2 = 0x2U, /*!< Interrupt/DMA request/trigger output 2. */ + kRGPIO_InterruptOutput3 = 0x3U, /*!< Interrupt/DMA request/trigger output 3. */ +} rgpio_interrupt_sel_t; + +/*! @brief Configures the interrupt generation condition. */ +typedef enum _rgpio_interrupt_config +{ + kRGPIO_InterruptOrDMADisabled = 0x0U, /*!< Interrupt/DMA request is disabled. */ + kRGPIO_DMARisingEdge = 0x1U, /*!< DMA request on rising edge. */ + kRGPIO_DMAFallingEdge = 0x2U, /*!< DMA request on falling edge. */ + kRGPIO_DMAEitherEdge = 0x3U, /*!< DMA request on either edge. */ + kRGPIO_FlagRisingEdge = 0x05U, /*!< Flag sets on rising edge. */ + kRGPIO_FlagFallingEdge = 0x06U, /*!< Flag sets on falling edge. */ + kRGPIO_FlagEitherEdge = 0x07U, /*!< Flag sets on either edge. */ + kRGPIO_InterruptLogicZero = 0x8U, /*!< Interrupt when logic zero. */ + kRGPIO_InterruptRisingEdge = 0x9U, /*!< Interrupt on rising edge. */ + kRGPIO_InterruptFallingEdge = 0xAU, /*!< Interrupt on falling edge. */ + kRGPIO_InterruptEitherEdge = 0xBU, /*!< Interrupt on either edge. */ + kRGPIO_InterruptLogicOne = 0xCU, /*!< Interrupt when logic one. */ + kRGPIO_ActiveHighTriggerOutputEnable = 0xDU, /*!< Enable active high-trigger output. */ + kRGPIO_ActiveLowTriggerOutputEnable = 0xEU, /*!< Enable active low-trigger output. */ +} rgpio_interrupt_config_t; +#endif + +/*! + * @brief The RGPIO pin configuration structure. + * + * Each pin can only be configured as either an output pin or an input pin at a time. + * If configured as an input pin, leave the outputConfig unused. + * Note that in some use cases, the corresponding port property should be configured in advance + * with the PORT_SetPinConfig(). + */ +typedef struct _rgpio_pin_config +{ + rgpio_pin_direction_t pinDirection; /*!< RGPIO direction, input or output */ + /* Output configurations; ignore if configured as an input pin */ + uint8_t outputLogic; /*!< Set a default output logic, which has no use in input */ +} rgpio_pin_config_t; + +/*! @} */ + +/******************************************************************************* + * API + ******************************************************************************/ + +#if defined(__cplusplus) +extern "C" { +#endif + +/*! + * @addtogroup rgpio_driver + * @{ + */ + +/*! @name RGPIO Configuration */ +/*! @{ */ + +/*! + * @brief Initializes a RGPIO pin used by the board. + * + * To initialize the RGPIO, define a pin configuration, as either input or output, in the user file. + * Then, call the RGPIO_PinInit() function. + * + * This is an example to define an input pin or an output pin configuration. + * @code + * Define a digital input pin configuration, + * rgpio_pin_config_t config = + * { + * kRGPIO_DigitalInput, + * 0, + * } + * Define a digital output pin configuration, + * rgpio_pin_config_t config = + * { + * kRGPIO_DigitalOutput, + * 0, + * } + * @endcode + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param pin RGPIO port pin number + * @param config RGPIO pin configuration pointer + */ +void RGPIO_PinInit(RGPIO_Type *base, uint32_t pin, const rgpio_pin_config_t *config); + +/*! + * @brief Gets the RGPIO instance according to the RGPIO base + * + * @param base RGPIO peripheral base pointer(PTA, PTB, PTC, etc.) + * @retval RGPIO instance + */ +uint32_t RGPIO_GetInstance(RGPIO_Type *base); +/*! @} */ + +/*! @name RGPIO Output Operations */ +/*! @{ */ + +/*! + * @brief Sets the output level of the multiple RGPIO pins to the logic 1 or 0. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param pin RGPIO pin number + * @param output RGPIO pin output logic level. + * - 0: corresponding pin output low-logic level. + * - 1: corresponding pin output high-logic level. + */ +static inline void RGPIO_PinWrite(RGPIO_Type *base, uint32_t pin, uint8_t output) +{ + if (output == 0U) + { + base->PCOR = 1UL << pin; + } + else + { + base->PSOR = 1UL << pin; + } +} + +/*! + * @brief Sets the output level of the multiple RGPIO pins to the logic 1 or 0. + * @deprecated Do not use this function. It has been superceded by @ref RGPIO_PinWrite. + */ +static inline void RGPIO_WritePinOutput(RGPIO_Type *base, uint32_t pin, uint8_t output) +{ + RGPIO_PinWrite(base, pin, output); +} + +/*! + * @brief Sets the output level of the multiple RGPIO pins to the logic 1. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param mask RGPIO pin number macro + */ +static inline void RGPIO_PortSet(RGPIO_Type *base, uint32_t mask) +{ + base->PSOR = mask; +} + +/*! + * @brief Sets the output level of the multiple RGPIO pins to the logic 1. + * @deprecated Do not use this function. It has been superceded by @ref RGPIO_PortSet. + */ +static inline void RGPIO_SetPinsOutput(RGPIO_Type *base, uint32_t mask) +{ + RGPIO_PortSet(base, mask); +} + +/*! + * @brief Sets the output level of the multiple RGPIO pins to the logic 0. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param mask RGPIO pin number macro + */ +static inline void RGPIO_PortClear(RGPIO_Type *base, uint32_t mask) +{ + base->PCOR = mask; +} + +/*! + * @brief Sets the output level of the multiple RGPIO pins to the logic 0. + * @deprecated Do not use this function. It has been superceded by @ref RGPIO_PortClear. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param mask RGPIO pin number macro + */ +static inline void RGPIO_ClearPinsOutput(RGPIO_Type *base, uint32_t mask) +{ + RGPIO_PortClear(base, mask); +} + +/*! + * @brief Reverses the current output logic of the multiple RGPIO pins. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param mask RGPIO pin number macro + */ +static inline void RGPIO_PortToggle(RGPIO_Type *base, uint32_t mask) +{ + base->PTOR = mask; +} + +/*! + * @brief Reverses the current output logic of the multiple RGPIO pins. + * @deprecated Do not use this function. It has been superceded by @ref RGPIO_PortToggle. + */ +static inline void RGPIO_TogglePinsOutput(RGPIO_Type *base, uint32_t mask) +{ + RGPIO_PortToggle(base, mask); +} +/*! @} */ + +/*! @name RGPIO Input Operations */ +/*! @{ */ + +/*! + * @brief Reads the current input value of the RGPIO port. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param pin RGPIO pin number + * @retval RGPIO port input value + * - 0: corresponding pin input low-logic level. + * - 1: corresponding pin input high-logic level. + */ +static inline uint32_t RGPIO_PinRead(RGPIO_Type *base, uint32_t pin) +{ + return (((base->PDIR) >> pin) & 0x01U); +} + +/*! + * @brief Reads the current input value of the RGPIO port. + * @deprecated Do not use this function. It has been superceded by @ref RGPIO_PinRead. + */ +static inline uint32_t RGPIO_ReadPinInput(RGPIO_Type *base, uint32_t pin) +{ + return RGPIO_PinRead(base, pin); +} + +#if defined(FSL_FEATURE_RGPIO_HAS_PORT_INPUT_DISABLE) && FSL_FEATURE_RGPIO_HAS_PORT_INPUT_DISABLE +/*! + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param mask RGPIO pin number mask + * @param enable RGPIO digital input enable/disable flag. + */ +static inline void RGPIO_EnablePortInput(RGPIO_Type *base, uint32_t mask, bool enable) +{ + if (enable) + { + base->PIDR &= ~mask; + } + else + { + base->PIDR |= mask; + } +} +#endif + +/*! @} */ + +#if defined(FSL_FEATURE_SOC_PORT_COUNT) && FSL_FEATURE_SOC_PORT_COUNT +/*! @name RGPIO Interrupt */ +/*! @{ */ + +/*! + * @brief Reads the RGPIO port interrupt status flag. + * + * If a pin is configured to generate the DMA request, the corresponding flag + * is cleared automatically at the completion of the requested DMA transfer. + * Otherwise, the flag remains set until a logic one is written to that flag. + * If configured for a level sensitive interrupt that remains asserted, the flag + * is set again immediately. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @retval The current RGPIO port interrupt status flag, for example, 0x00010001 means the + * pin 0 and 17 have the interrupt. + */ +uint32_t RGPIO_PortGetInterruptFlags(RGPIO_Type *base); + +/*! + * @brief Reads the RGPIO port interrupt status flag. + * @deprecated Do not use this function. It has been superceded by @ref RGPIO_PortGetInterruptFlags. + */ +static inline uint32_t RGPIO_GetPinsInterruptFlags(RGPIO_Type *base) +{ + return RGPIO_PortGetInterruptFlags(base); +} + +/*! + * @brief Clears multiple RGPIO pin interrupt status flags. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param mask RGPIO pin number macro + */ +void RGPIO_PortClearInterruptFlags(RGPIO_Type *base, uint32_t mask); + +/*! + * @brief Clears multiple RGPIO pin interrupt status flags. + * @deprecated Do not use this function. It has been superceded by @ref RGPIO_PortClearInterruptFlags. + */ +static inline void RGPIO_ClearPinsInterruptFlags(RGPIO_Type *base, uint32_t mask) +{ + RGPIO_PortClearInterruptFlags(base, mask); +} +#endif +#if defined(FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER) && FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER +/*! + * @brief The RGPIO module supports a device-specific number of data ports, organized as 32-bit + * words. Each 32-bit data port includes a GACR register, which defines the byte-level + * attributes required for a successful access to the RGPIO programming model. The attribute controls for the 4 data + * bytes in the GACR follow a standard little endian + * data convention. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param mask RGPIO pin number macro + */ +void RGPIO_CheckAttributeBytes(RGPIO_Type *base, rgpio_checker_attribute_t attribute); +#endif + +#if defined(FSL_FEATURE_RGPIO_HAS_IRQ_CONFIG) && FSL_FEATURE_RGPIO_HAS_IRQ_CONFIG +/*! + * @brief Configures the gpio pin interrupt/DMA request. + * + * @param base RGPIO peripheral base pointer. + * @param pin RGPIO pin number. + * @param sel RGPIO pin interrupt selection(0-3). + * @param config RGPIO pin interrupt configuration. + */ +static inline void RGPIO_SetPinInterruptConfig(RGPIO_Type *base, + uint32_t pin, + rgpio_interrupt_sel_t sel, + rgpio_interrupt_config_t config) +{ + base->ICR[pin] = + (base->ICR[pin] & ~(RGPIO_ICR_IRQC_MASK | RGPIO_ICR_IRQS_MASK)) | RGPIO_ICR_IRQC(config) | RGPIO_ICR_IRQS(sel); +} + +/*! + * @brief Sets the gpio interrupt configuration in ICR register for multiple pins. + * + * @param base RGPIO peripheral base pointer (RGPIOA, RGPIOB, RGPIOC, and so on.) + * @param mask RGPIO pin number macro. + * @param sel RGPIO pin interrupt selection(0-3). + * @param config RGPIO pin interrupt configuration. + */ +static inline void _SetMultipleInterruptPinsConfig(RGPIO_Type *base, + uint32_t mask, + rgpio_interrupt_sel_t sel, + rgpio_interrupt_config_t config) +{ + if (0U != (mask & 0xFFFFU)) + { + base->GICLR = + ((uint32_t)sel << RGPIO_ICR_IRQS_SHIFT) | ((uint32_t)config << RGPIO_ICR_IRQC_SHIFT) | (mask & 0xFFFFU); + } + mask = mask >> 16; + if (0U != mask) + { + base->GICHR = + ((uint32_t)sel << RGPIO_ICR_IRQS_SHIFT) | ((uint32_t)config << RGPIO_ICR_IRQC_SHIFT) | (mask & 0xFFFFU); + } +} + +/*! + * @brief Reads the whole gpio status flag. + * + * If a pin is configured to generate the DMA request, the corresponding flag + * is cleared automatically at the completion of the requested DMA transfer. + * Otherwise, the flag remains set until a logic one is written to that flag. + * If configured for a level sensitive interrupt that remains asserted, the flag + * is set again immediately. + * + * @param base RGPIO peripheral base pointer. + * @param sel RGPIO pin interrupt selection(0-3). + * @return Current gpio interrupt status flags, for example, 0x00010001 means the + * pin 0 and 16 have the interrupt. + */ +static inline uint32_t RGPIO_GetPinsInterruptFlags(RGPIO_Type *base, rgpio_interrupt_sel_t sel) +{ + return base->ISFR[(uint8_t)sel]; +} + +/*! + * @brief Clears the multiple pin interrupt status flag. + * + * @param base RGPIO peripheral base pointer. + * @param sel RGPIO pin interrupt selection(0-3). + * @param mask RGPIO pin number macro. + */ +static inline void RGPIO_ClearPinsInterruptFlags(RGPIO_Type *base, rgpio_interrupt_sel_t sel, uint32_t mask) +{ + base->ISFR[(uint8_t)sel] = mask; +} +#endif + +/*! @} */ +/*! @} */ + +/*! + * @addtogroup fgpio_driver + * @{ + */ + +/* + * Introduces the FGPIO feature. + * + * The FGPIO registers are aliased to the IOPORT interface. + * Accesses via the IOPORT interface occur in parallel with any instruction fetches and + * complete in a single cycle. This aliased Fast GPIO memory map is called FGPIO. + */ + +#if defined(FSL_FEATURE_SOC_FGPIO_COUNT) && FSL_FEATURE_SOC_FGPIO_COUNT + +/*! @name FGPIO Configuration */ +/*! @{ */ + +#if defined(FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL) && FSL_FEATURE_PCC_HAS_FGPIO_CLOCK_GATE_CONTROL +/*! + * @brief Initializes the FGPIO peripheral. + * + * This function ungates the FGPIO clock. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + */ +void FGPIO_PortInit(FGPIO_Type *base); + +/*! + * @brief Initializes the FGPIO peripheral. + * @deprecated Do not use this function. It has been superceded by @ref FGPIO_PortInit. + */ +static inline void FGPIO_Init(FGPIO_Type *base) +{ + FGPIO_PortInit(base); +} +#endif +/*! + * @brief Initializes a FGPIO pin used by the board. + * + * To initialize the FGPIO driver, define a pin configuration, as either input or output, in the user file. + * Then, call the FGPIO_PinInit() function. + * + * This is an example to define an input pin or an output pin configuration: + * @code + * Define a digital input pin configuration, + * rgpio_pin_config_t config = + * { + * kRGPIO_DigitalInput, + * 0, + * } + * Define a digital output pin configuration, + * rgpio_pin_config_t config = + * { + * kRGPIO_DigitalOutput, + * 0, + * } + * @endcode + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @param pin FGPIO port pin number + * @param config FGPIO pin configuration pointer + */ +void FGPIO_PinInit(FGPIO_Type *base, uint32_t pin, const rgpio_pin_config_t *config); + +/*! + * @brief Gets the FGPIO instance according to the RGPIO base + * + * @param base FGPIO peripheral base pointer(PTA, PTB, PTC, etc.) + * @retval FGPIO instance + */ +uint32_t FGPIO_GetInstance(FGPIO_Type *base); +/*! @} */ + +/*! @name FGPIO Output Operations */ +/*! @{ */ + +/*! + * @brief Sets the output level of the multiple FGPIO pins to the logic 1 or 0. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @param pin FGPIO pin number + * @param output FGPIOpin output logic level. + * - 0: corresponding pin output low-logic level. + * - 1: corresponding pin output high-logic level. + */ +static inline void FGPIO_PinWrite(FGPIO_Type *base, uint32_t pin, uint8_t output) +{ + if (output == 0U) + { + base->PCOR = 1UL << pin; + } + else + { + base->PSOR = 1UL << pin; + } +} + +/*! + * @brief Sets the output level of the multiple FGPIO pins to the logic 1 or 0. + * @deprecated Do not use this function. It has been superceded by @ref FGPIO_PinWrite. + */ +static inline void FGPIO_WritePinOutput(FGPIO_Type *base, uint32_t pin, uint8_t output) +{ + FGPIO_PinWrite(base, pin, output); +} + +/*! + * @brief Sets the output level of the multiple FGPIO pins to the logic 1. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @param mask FGPIO pin number macro + */ +static inline void FGPIO_PortSet(FGPIO_Type *base, uint32_t mask) +{ + base->PSOR = mask; +} + +/*! + * @brief Sets the output level of the multiple FGPIO pins to the logic 1. + * @deprecated Do not use this function. It has been superceded by @ref FGPIO_PortSet. + */ +static inline void FGPIO_SetPinsOutput(FGPIO_Type *base, uint32_t mask) +{ + FGPIO_PortSet(base, mask); +} + +/*! + * @brief Sets the output level of the multiple FGPIO pins to the logic 0. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @param mask FGPIO pin number macro + */ +static inline void FGPIO_PortClear(FGPIO_Type *base, uint32_t mask) +{ + base->PCOR = mask; +} + +/*! + * @brief Sets the output level of the multiple FGPIO pins to the logic 0. + * @deprecated Do not use this function. It has been superceded by @ref FGPIO_PortClear. + */ +static inline void FGPIO_ClearPinsOutput(FGPIO_Type *base, uint32_t mask) +{ + FGPIO_PortClear(base, mask); +} + +/*! + * @brief Reverses the current output logic of the multiple FGPIO pins. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @param mask FGPIO pin number macro + */ +static inline void FGPIO_PortToggle(FGPIO_Type *base, uint32_t mask) +{ + base->PTOR = mask; +} + +/*! + * @brief Reverses the current output logic of the multiple FGPIO pins. + * @deprecated Do not use this function. It has been superceded by @ref FGPIO_PortToggle. + */ +static inline void FGPIO_TogglePinsOutput(FGPIO_Type *base, uint32_t mask) +{ + FGPIO_PortToggle(base, mask); +} +/*! @} */ + +/*! @name FGPIO Input Operations */ +/*! @{ */ + +/*! + * @brief Reads the current input value of the FGPIO port. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @param pin FGPIO pin number + * @retval FGPIO port input value + * - 0: corresponding pin input low-logic level. + * - 1: corresponding pin input high-logic level. + */ +static inline uint32_t FGPIO_PinRead(FGPIO_Type *base, uint32_t pin) +{ + return (((base->PDIR) >> pin) & 0x01U); +} + +/*! + * @brief Reads the current input value of the FGPIO port. + * @deprecated Do not use this function. It has been superceded by @ref FGPIO_PinRead + */ +static inline uint32_t FGPIO_ReadPinInput(FGPIO_Type *base, uint32_t pin) +{ + return FGPIO_PinRead(base, pin); +} +/*! @} */ + +#if defined(FSL_FEATURE_SOC_PORT_COUNT) && FSL_FEATURE_SOC_PORT_COUNT +/*! @name FGPIO Interrupt */ +/*! @{ */ + +/*! + * @brief Reads the FGPIO port interrupt status flag. + * + * If a pin is configured to generate the DMA request, the corresponding flag + * is cleared automatically at the completion of the requested DMA transfer. + * Otherwise, the flag remains set until a logic one is written to that flag. + * If configured for a level-sensitive interrupt that remains asserted, the flag + * is set again immediately. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @retval The current FGPIO port interrupt status flags, for example, 0x00010001 means the + * pin 0 and 17 have the interrupt. + */ +uint32_t FGPIO_PortGetInterruptFlags(FGPIO_Type *base); + +/*! + * @brief Reads the FGPIO port interrupt status flag. + * @deprecated Do not use this function. It has been superceded by @ref FGPIO_PortGetInterruptFlags. + */ +static inline uint32_t FGPIO_GetPinsInterruptFlags(FGPIO_Type *base) +{ + return FGPIO_PortGetInterruptFlags(base); +} + +/*! + * @brief Clears the multiple FGPIO pin interrupt status flag. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @param mask FGPIO pin number macro + */ +void FGPIO_PortClearInterruptFlags(FGPIO_Type *base, uint32_t mask); + +/*! + * @brief Clears the multiple FGPIO pin interrupt status flag. + * @deprecated Do not use this function. It has been superceded by @ref FGPIO_PortClearInterruptFlags. + */ +static inline void FGPIO_ClearPinsInterruptFlags(FGPIO_Type *base, uint32_t mask) +{ + FGPIO_PortClearInterruptFlags(base, mask); +} +#endif +#if defined(FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER) && FSL_FEATURE_RGPIO_HAS_ATTRIBUTE_CHECKER +/*! + * @brief The FGPIO module supports a device-specific number of data ports, organized as 32-bit + * words. Each 32-bit data port includes a GACR register, which defines the byte-level + * attributes required for a successful access to the RGPIO programming model. The attribute controls for the 4 data + * bytes in the GACR follow a standard little endian + * data convention. + * + * @param base FGPIO peripheral base pointer (FGPIOA, FGPIOB, FGPIOC, and so on.) + * @param mask FGPIO pin number macro + */ +void FGPIO_CheckAttributeBytes(FGPIO_Type *base, rgpio_checker_attribute_t attribute); +#endif + +/*! @} */ + +#endif /* FSL_FEATURE_SOC_FGPIO_COUNT */ + +#if defined(__cplusplus) +} +#endif + +/*! + * @} + */ + +#endif /* FSL_RGPIO_H_*/ diff --git a/bsp/nxp/imx/imx91/drivers/serial.c b/bsp/nxp/imx/imx91/drivers/serial.c new file mode 100644 index 00000000000..4ac9096aa1b --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/serial.c @@ -0,0 +1,377 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2025-08-10 Siwei Xu Add i.MX91 SDK + * 2025-09-15 Siwei Xu Fix LPUART driver + */ + +#include +#include +#include +#include + +#include "serial.h" + +#include "MIMX9131.h" +#include "fsl_clock.h" +#include "fsl_lpuart.h" + +struct hw_uart_device +{ + struct rt_serial_device serial; /* Select serial device */ + const char *device_name; /* serial device name */ + + LPUART_Type *uart_ptr; + rt_base_t uart_base; + int instance; + int irqn; + + clock_root_t clock_root; /* clock root */ + clock_root_mux_source_t clock_mux; /* clock mux */ + clock_ip_name_t clock_ip_name; /* clock control gate */ +}; + +#ifdef BSP_USING_UART1 +/* UART1 device driver structure */ +static struct hw_uart_device _uart1_device = { + .device_name = "uart1", + .uart_ptr = RT_NULL, + .uart_base = LPUART1_BASE, + .instance = 1, + .irqn = LPUART1_IRQn, + .clock_root = kCLOCK_Root_Lpuart1, + .clock_mux = kCLOCK_LPUART1_ClockRoot_MuxOsc24M, + .clock_ip_name = kCLOCK_Lpuart1, +}; +#endif + +static struct hw_uart_device *hw_uart_devices[] = { +#ifdef BSP_USING_UART1 + &_uart1_device, +#endif +}; + +static void rt_hw_uart_isr(int irqn, void *param) +{ + struct rt_serial_device *serial = (struct rt_serial_device *)param; + + rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND); +} + +static rt_err_t uart_configure(struct rt_serial_device *serial, struct serial_configure *cfg) +{ + struct hw_uart_device *uart = RT_NULL; + static lpuart_config_t config; + + RT_ASSERT(serial != RT_NULL); + uart = (struct hw_uart_device *)serial->parent.user_data; + + LPUART_GetDefaultConfig(&config); + + // baud rate + config.baudRate_Bps = cfg->baud_rate; + + // data bits + switch (cfg->data_bits) + { + case DATA_BITS_8: + config.dataBitsCount = kLPUART_EightDataBits; + break; + case DATA_BITS_7: +#if defined(FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT) && FSL_FEATURE_LPUART_HAS_7BIT_DATA_SUPPORT + config.dataBitsCount = kLPUART_SevenDataBits; + break; +#endif + default: + config.dataBitsCount = kLPUART_EightDataBits; + break; + } + + // parity bit + switch (cfg->parity) + { + case PARITY_NONE: + config.parityMode = kLPUART_ParityDisabled; + break; + case PARITY_ODD: + config.parityMode = kLPUART_ParityOdd; + break; + case PARITY_EVEN: + config.parityMode = kLPUART_ParityEven; + break; + default: + config.parityMode = kLPUART_ParityDisabled; + break; + } + + // stop bits +#if defined(FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT) && FSL_FEATURE_LPUART_HAS_STOP_BIT_CONFIG_SUPPORT + switch (cfg->stop_bits) + { + case STOP_BITS_1: + config.stopBitCount = kLPUART_OneStopBit; + break; + case STOP_BITS_2: + config.stopBitCount = kLPUART_TwoStopBit; + break; + default: + config.stopBitCount = kLPUART_OneStopBit; + break; + } +#endif + + // LSB/MSB + if (cfg->bit_order == BIT_ORDER_LSB) + { + config.isMsb = false; + } + else + { + config.isMsb = true; + } + + // hardware flow control +#if defined(FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT) && FSL_FEATURE_LPUART_HAS_MODEM_SUPPORT + if (cfg->flowcontrol == RT_SERIAL_FLOWCONTROL_NONE) + { + // disable hardware flow control + config.enableRxRTS = false; + config.enableTxCTS = false; + } + else + { + // enable hardware flow control + config.enableRxRTS = true; + config.enableTxCTS = true; + } +#endif + + // enable TX and RX + config.enableTx = serial->parent.flag & RT_DEVICE_FLAG_WRONLY; + config.enableRx = serial->parent.flag & RT_DEVICE_FLAG_RDONLY; + + // Set UART clock source and clock divider + CLOCK_SetRootClockMux(uart->clock_root, uart->clock_mux); + CLOCK_SetRootClockDiv(uart->clock_root, 1U); + + // Initialize the LPUART module with the configuration structure and clock source + LPUART_Init(uart->uart_ptr, &config, CLOCK_GetIpFreq(uart->clock_root)); + + // Install interrupt handler + rt_hw_interrupt_install(uart->irqn, rt_hw_uart_isr, serial, "uart"); + rt_hw_interrupt_mask(uart->irqn); + + // Enable RX interrupt + LPUART_EnableInterrupts(uart->uart_ptr, kLPUART_RxDataRegFullInterruptEnable); + return RT_EOK; +} + +static rt_err_t uart_control(struct rt_serial_device *serial, int cmd, void *arg) +{ + struct hw_uart_device *uart = RT_NULL; + + RT_ASSERT(serial != RT_NULL); + uart = (struct hw_uart_device *)serial->parent.user_data; + + switch (cmd) + { + case RT_DEVICE_CTRL_CLR_INT: + /* disable rx irq */ + rt_hw_interrupt_mask(uart->irqn); + break; + + case RT_DEVICE_CTRL_SET_INT: + /* enable rx irq */ + rt_hw_interrupt_umask(uart->irqn); + break; + } + + return RT_EOK; +} + +static int uart_putc(struct rt_serial_device *serial, char c) +{ + struct hw_uart_device *uart; + + RT_ASSERT(serial != RT_NULL); + uart = (struct hw_uart_device *)serial->parent.user_data; + + while (!(LPUART_GetStatusFlags(uart->uart_ptr) & kLPUART_TxDataRegEmptyFlag)) + { + __NOP(); + } + + LPUART_WriteByte(uart->uart_ptr, c); + + return 1; +} + +#ifdef BSP_USING_EARLY_CONSOLE +LPUART_Type *earlycon_base = RT_NULL; + +void rt_hw_earlycon_set(void *base) +{ + earlycon_base = (LPUART_Type *)base; +} + +void rt_hw_earlycon_ioremap(void) +{ + earlycon_base = rt_ioremap_early((void *)LPUART1, LPUART1_SIZE); +} + +void rt_hw_earlycon_putc(char c) +{ + LPUART_WriteByte(earlycon_base, c); + while (!(LPUART_GetStatusFlags(earlycon_base) & kLPUART_TxDataRegEmptyFlag)) + ; +} + +static void rt_hw_earlycon_print(const char *str, int print_newline) +{ + int has_cr = 0; + int has_lf = 0; + while (*str) + { + if (*str == '\r') + { + has_cr = 1; + } + else if (*str == '\n') + { + has_lf = 1; + } + rt_hw_earlycon_putc(*str++); + } + if (!has_cr && print_newline) + { + rt_hw_earlycon_putc('\r'); + } + if (!has_lf && print_newline) + { + rt_hw_earlycon_putc('\n'); + } +} + +void rt_hw_earlycon_puts(const char *str) +{ + rt_hw_earlycon_print(str, 1); +} + +void rt_hw_earlycon_print_hex(const char *str, rt_base_t hex) +{ + rt_hw_earlycon_print(str, 0); + rt_hw_earlycon_putc('0'); + rt_hw_earlycon_putc('x'); + for (int i = 60; i >= 0; i -= 4) + { + rt_base_t h = (hex >> i) & 0xF; + rt_hw_earlycon_putc(h < 10 ? '0' + h : 'A' + h - 10); + } + rt_hw_earlycon_putc('\r'); + rt_hw_earlycon_putc('\n'); +} +#endif + +void rt_hw_console_putc(char c) +{ +#if defined(BSP_USING_UART1) + uart_putc(&_uart1_device.serial, c); +#endif +} + +void rt_hw_console_output(const char *str) +{ +#if defined(BSP_USING_UART1) + int has_cr = 0; + int has_lf = 0; + while (*str) + { + if (*str == '\r') + { + has_cr = 1; + } + else if (*str == '\n') + { + has_lf = 1; + } + rt_hw_console_putc(*str++); + } + if (!has_cr) + { + rt_hw_console_putc('\r'); + } + if (!has_lf) + { + rt_hw_console_putc('\n'); + } +#endif +} + +static int uart_getc(struct rt_serial_device *serial) +{ + int ch; + struct hw_uart_device *uart; + + RT_ASSERT(serial != RT_NULL); + uart = (struct hw_uart_device *)serial->parent.user_data; + + uint32_t flags = LPUART_GetStatusFlags(uart->uart_ptr); + if (flags & kLPUART_RxDataRegFullFlag) + { + ch = LPUART_ReadByte(uart->uart_ptr); + } + else + { + ch = -1; + } + + return ch; +} + +static const struct rt_uart_ops _uart_ops = { + uart_configure, + uart_control, + uart_putc, + uart_getc, +}; + +int rt_hw_uart_init(void) +{ + struct serial_configure config; + + /* setup default serial configure */ + config.baud_rate = BAUD_RATE_115200; + config.bit_order = BIT_ORDER_LSB; + config.data_bits = DATA_BITS_8; + config.parity = PARITY_NONE; + config.stop_bits = STOP_BITS_1; + config.invert = NRZ_NORMAL; + config.bufsz = RT_SERIAL_RB_BUFSZ; + + /* Remap CCM controller to virtual address */ + CCM_CTRL = rt_ioremap((void *)CCM_CTRL_BASE, CCM_CTRL_SIZE); + + for (int i = 0; i < RT_ARRAY_SIZE(hw_uart_devices); i++) + { + if (hw_uart_devices[i] != RT_NULL) + { + hw_uart_devices[i]->serial.ops = &_uart_ops; + hw_uart_devices[i]->serial.config = config; + + /* Remap LPUART instance to virtual address */ + hw_uart_devices[i]->uart_ptr = rt_ioremap((void *)hw_uart_devices[i]->uart_base, LPUART1_SIZE); + + /* Update LPUART instance */ + LPUART_SetInstance(hw_uart_devices[i]->instance, hw_uart_devices[i]->uart_ptr); + + rt_hw_serial_register(&hw_uart_devices[i]->serial, hw_uart_devices[i]->device_name, + RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, hw_uart_devices[i]); + } + } + + return 0; +} diff --git a/bsp/nxp/imx/imx91/drivers/serial.h b/bsp/nxp/imx/imx91/drivers/serial.h new file mode 100644 index 00000000000..93f53bc1a9d --- /dev/null +++ b/bsp/nxp/imx/imx91/drivers/serial.h @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2025-08-10 Siwei Xu Add i.MX91 SDK + * 2025-09-15 Siwei Xu Fix LPUART driver + */ + +#ifndef __UART_H__ +#define __UART_H__ + +#include "board.h" + +#include + +int rt_hw_uart_init(void); + +#ifdef BSP_USING_EARLY_CONSOLE +void rt_hw_earlycon_ioremap(void); +void rt_hw_earlycon_putc(char c); +void rt_hw_earlycon_puts(const char *str); +void rt_hw_earlycon_print_hex(const char *str, rt_base_t hex); +#else +static inline void rt_hw_earlycon_ioremap(void) {} +static inline void rt_hw_earlycon_putc(char c) {} +static inline void rt_hw_earlycon_puts(const char *str) {} +static inline void rt_hw_earlycon_print_hex(const char *str, rt_base_t hex) {} +#endif + +void rt_hw_console_putc(char c); +void rt_hw_console_output(const char *str); + +#endif + + diff --git a/bsp/nxp/imx/imx91/rtconfig.h b/bsp/nxp/imx/imx91/rtconfig.h new file mode 100644 index 00000000000..6e279d91c8c --- /dev/null +++ b/bsp/nxp/imx/imx91/rtconfig.h @@ -0,0 +1,468 @@ +#ifndef RT_CONFIG_H__ +#define RT_CONFIG_H__ + +/* RT-Thread Kernel */ + +/* klibc options */ + +/* rt_vsnprintf options */ + +#define RT_KLIBC_USING_VSNPRINTF_LONGLONG +#define RT_KLIBC_USING_VSNPRINTF_STANDARD +#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS +#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS +#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER +#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER +#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32 +#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32 +#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6 +#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9 +#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4 +/* end of rt_vsnprintf options */ + +/* rt_vsscanf options */ + +/* end of rt_vsscanf options */ + +/* rt_memset options */ + +/* end of rt_memset options */ + +/* rt_memcpy options */ + +/* end of rt_memcpy options */ + +/* rt_memmove options */ + +/* end of rt_memmove options */ + +/* rt_memcmp options */ + +/* end of rt_memcmp options */ + +/* rt_strstr options */ + +/* end of rt_strstr options */ + +/* rt_strcasecmp options */ + +/* end of rt_strcasecmp options */ + +/* rt_strncpy options */ + +/* end of rt_strncpy options */ + +/* rt_strcpy options */ + +/* end of rt_strcpy options */ + +/* rt_strncmp options */ + +/* end of rt_strncmp options */ + +/* rt_strcmp options */ + +/* end of rt_strcmp options */ + +/* rt_strlen options */ + +/* end of rt_strlen options */ + +/* rt_strnlen options */ + +/* end of rt_strnlen options */ +/* end of klibc options */ +#define RT_NAME_MAX 16 +#define RT_CPUS_NR 1 +#define RT_ALIGN_SIZE 16 +#define RT_THREAD_PRIORITY_32 +#define RT_THREAD_PRIORITY_MAX 32 +#define RT_TICK_PER_SECOND 1000 +#define RT_USING_OVERFLOW_CHECK +#define RT_USING_HOOK +#define RT_HOOK_USING_FUNC_PTR +#define RT_USING_IDLE_HOOK +#define RT_IDLE_HOOK_LIST_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 8192 +#define RT_USING_TIMER_SOFT +#define RT_TIMER_THREAD_PRIO 4 +#define RT_TIMER_THREAD_STACK_SIZE 8192 + +/* kservice options */ + +/* end of kservice options */ +#define RT_USING_DEBUG +#define RT_DEBUGING_ASSERT +#define RT_DEBUGING_COLOR +#define RT_DEBUGING_CONTEXT + +/* Inter-Thread communication */ + +#define RT_USING_SEMAPHORE +#define RT_USING_MUTEX +#define RT_USING_EVENT +#define RT_USING_MAILBOX +#define RT_USING_MESSAGEQUEUE +/* end of Inter-Thread communication */ + +/* Memory Management */ + +#define RT_USING_MEMPOOL +#define RT_USING_SMALL_MEM +#define RT_USING_SMALL_MEM_AS_HEAP +#define RT_USING_HEAP +/* end of Memory Management */ +#define RT_USING_DEVICE +#define RT_USING_THREADSAFE_PRINTF +#define RT_USING_CONSOLE +#define RT_CONSOLEBUF_SIZE 128 +#define RT_CONSOLE_DEVICE_NAME "uart1" +#define RT_VER_NUM 0x50201 +#define RT_BACKTRACE_LEVEL_MAX_NR 32 +/* end of RT-Thread Kernel */ + +/* AArch64 Architecture Configuration */ + +#define ARCH_TEXT_OFFSET 0x0 +#define ARCH_RAM_OFFSET 0x80000000 +#define ARCH_SECONDARY_CPU_STACK_SIZE 4096 +#define ARCH_HAVE_EFFICIENT_UNALIGNED_ACCESS +#define ARCH_USING_GENERIC_CPUID +#define ARCH_HEAP_SIZE 0x2000000 +#define ARCH_INIT_PAGE_SIZE 0x8000000 +/* end of AArch64 Architecture Configuration */ +#define ARCH_CPU_64BIT +#define RT_USING_CACHE +#define RT_USING_HW_ATOMIC +#define ARCH_ARM_BOOTWITH_FLUSH_CACHE +#define RT_USING_CPU_FFS +#define ARCH_MM_MMU +#define ARCH_ARM +#define ARCH_ARM_MMU +#define ARCH_ARM_CORTEX_A +#define RT_NO_USING_GIC +#define ARCH_ARM_CORTEX_A55 +#define RT_BACKTRACE_FUNCTION_NAME +#define ARCH_ARMV8 +#define ARCH_USING_ASID +#define ARCH_USING_HW_THREAD_SELF +#define ARCH_USING_IRQ_CTX_LIST + +/* RT-Thread Components */ + +#define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 8192 +#define RT_MAIN_THREAD_PRIORITY 10 +#define RT_USING_MSH +#define RT_USING_FINSH +#define FINSH_USING_MSH +#define FINSH_THREAD_NAME "tshell" +#define FINSH_THREAD_PRIORITY 20 +#define FINSH_THREAD_STACK_SIZE 8092 +#define FINSH_USING_HISTORY +#define FINSH_HISTORY_LINES 5 +#define FINSH_USING_SYMTAB +#define FINSH_CMD_SIZE 80 +#define MSH_USING_BUILT_IN_COMMANDS +#define FINSH_USING_DESCRIPTION +#define FINSH_ARG_MAX 10 +#define FINSH_USING_OPTION_COMPLETION + +/* DFS: device virtual file system */ + +#define RT_USING_DFS +#define DFS_USING_POSIX +#define DFS_USING_WORKDIR +#define DFS_FD_MAX 16 +#define RT_USING_DFS_V1 +#define DFS_FILESYSTEMS_MAX 4 +#define DFS_FILESYSTEM_TYPES_MAX 4 +#define RT_USING_DFS_DEVFS +/* end of DFS: device virtual file system */ + +/* Device Drivers */ + +#define RT_USING_DEVICE_IPC +#define RT_UNAMED_PIPE_NUMBER 64 +#define RT_USING_SERIAL +#define RT_USING_SERIAL_V1 +#define RT_SERIAL_USING_DMA +#define RT_SERIAL_RB_BUFSZ 64 +#define RT_USING_PIN +/* end of Device Drivers */ + +/* C/C++ and POSIX layer */ + +/* ISO-ANSI C layer */ + +/* Timezone and Daylight Saving Time */ + +#define RT_LIBC_USING_LIGHT_TZ_DST +#define RT_LIBC_TZ_DEFAULT_HOUR 8 +#define RT_LIBC_TZ_DEFAULT_MIN 0 +#define RT_LIBC_TZ_DEFAULT_SEC 0 +/* end of Timezone and Daylight Saving Time */ +/* end of ISO-ANSI C layer */ + +/* POSIX (Portable Operating System Interface) layer */ + + +/* Interprocess Communication (IPC) */ + + +/* Socket is in the 'Network' category */ + +/* end of Interprocess Communication (IPC) */ +/* end of POSIX (Portable Operating System Interface) layer */ +/* end of C/C++ and POSIX layer */ + +/* Network */ + +/* end of Network */ + +/* Memory protection */ + +/* end of Memory protection */ + +/* Utilities */ + +#define RT_USING_ADT +#define RT_USING_ADT_AVL +#define RT_USING_ADT_BITMAP +#define RT_USING_ADT_HASHMAP +#define RT_USING_ADT_REF +/* end of Utilities */ + +/* Memory management */ + +#define RT_PAGE_AFFINITY_BLOCK_SIZE 0x1000 +#define RT_PAGE_MAX_ORDER 11 + +/* Debugging */ + +/* end of Debugging */ +/* end of Memory management */ + +/* Using USB legacy version */ + +/* end of Using USB legacy version */ +/* end of RT-Thread Components */ + +/* RT-Thread Utestcases */ + +/* end of RT-Thread Utestcases */ + +/* RT-Thread online packages */ + +/* IoT - internet of things */ + + +/* Wi-Fi */ + +/* Marvell WiFi */ + +/* end of Marvell WiFi */ + +/* Wiced WiFi */ + +/* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ +/* end of Wi-Fi */ + +/* IoT Cloud */ + +/* end of IoT Cloud */ +/* end of IoT - internet of things */ + +/* security packages */ + +/* end of security packages */ + +/* language packages */ + +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + +/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */ + +/* XML: Extensible Markup Language */ + +/* end of XML: Extensible Markup Language */ +/* end of language packages */ + +/* multimedia packages */ + +/* LVGL: powerful and easy-to-use embedded GUI library */ + +/* end of LVGL: powerful and easy-to-use embedded GUI library */ + +/* u8g2: a monochrome graphic library */ + +/* end of u8g2: a monochrome graphic library */ +/* end of multimedia packages */ + +/* tools packages */ + +/* end of tools packages */ + +/* system packages */ + +/* enhanced kernel services */ + +/* end of enhanced kernel services */ + +/* acceleration: Assembly language or algorithmic acceleration packages */ + +/* end of acceleration: Assembly language or algorithmic acceleration packages */ + +/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ + +/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ + +/* Micrium: Micrium software products porting for RT-Thread */ + +/* end of Micrium: Micrium software products porting for RT-Thread */ +/* end of system packages */ + +/* peripheral libraries and drivers */ + +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Infineon HAL Packages */ + +/* end of Infineon HAL Packages */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ + +/* WCH HAL & SDK Drivers */ + +/* end of WCH HAL & SDK Drivers */ + +/* AT32 HAL & SDK Drivers */ + +/* end of AT32 HAL & SDK Drivers */ + +/* HC32 DDL Drivers */ + +/* end of HC32 DDL Drivers */ + +/* NXP HAL & SDK Drivers */ + +/* end of NXP HAL & SDK Drivers */ + +/* NUVOTON Drivers */ + +/* end of NUVOTON Drivers */ + +/* GD32 Drivers */ + +/* end of GD32 Drivers */ +/* end of HAL & SDK Drivers */ + +/* sensors drivers */ + +/* end of sensors drivers */ + +/* touch drivers */ + +/* end of touch drivers */ +/* end of peripheral libraries and drivers */ + +/* AI packages */ + +/* end of AI packages */ + +/* Signal Processing and Control Algorithm Packages */ + +/* end of Signal Processing and Control Algorithm Packages */ + +/* miscellaneous packages */ + +/* project laboratory */ + +/* end of project laboratory */ + +/* samples: kernel and components samples */ + +/* end of samples: kernel and components samples */ + +/* entertainment: terminal games and other interesting software packages */ + +/* end of entertainment: terminal games and other interesting software packages */ +/* end of miscellaneous packages */ + +/* Arduino libraries */ + + +/* Projects and Demos */ + +/* end of Projects and Demos */ + +/* Sensors */ + +/* end of Sensors */ + +/* Display */ + +/* end of Display */ + +/* Timing */ + +/* end of Timing */ + +/* Data Processing */ + +/* end of Data Processing */ + +/* Data Storage */ + +/* Communication */ + +/* end of Communication */ + +/* Device Control */ + +/* end of Device Control */ + +/* Other */ + +/* end of Other */ + +/* Signal IO */ + +/* end of Signal IO */ + +/* Uncategorized */ + +/* end of Arduino libraries */ +/* end of RT-Thread online packages */ +#define BOARD_IMX91 +#define SOC_MIMX91X1D + +/* Hardware Drivers Config */ + +#define BSP_USING_EARLY_CONSOLE +#define BSP_USING_UART1 +#define BSP_USING_GIC +#define BSP_USING_GICV3 +#define KERNEL_ASPACE_START 0x1000000 +/* end of Hardware Drivers Config */ + +#endif diff --git a/bsp/nxp/imx/imx91/rtconfig.py b/bsp/nxp/imx/imx91/rtconfig.py new file mode 100644 index 00000000000..b162a6a6a28 --- /dev/null +++ b/bsp/nxp/imx/imx91/rtconfig.py @@ -0,0 +1,58 @@ +import os + +# toolchains options +ARCH = 'aarch64' +CPU = 'cortex-a' +CROSS_TOOL = 'gcc' + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.join(os.getcwd(), '..', '..', '..') + +if os.getenv('RTT_CC'): + CROSS_TOOL = os.getenv('RTT_CC') + +# only support GNU GCC compiler. +PLATFORM = 'gcc' +EXEC_PATH = r'/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-elf/bin/' + +if os.getenv('RTT_EXEC_PATH'): + EXEC_PATH = os.getenv('RTT_EXEC_PATH') + +BUILD = 'debug' + +if PLATFORM == 'gcc': + # toolchains + PREFIX = os.getenv('RTT_CC_PREFIX') or 'aarch64-none-elf-' + CC = PREFIX + 'gcc' + CXX = PREFIX + 'g++' + CPP = PREFIX + 'cpp' + AS = PREFIX + 'gcc' + AR = PREFIX + 'ar' + LINK = PREFIX + 'gcc' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = ' -march=armv8-a -mtune=cortex-a55' + DEVICE += ' -fno-omit-frame-pointer -ffunction-sections -fdata-sections' + CPPFLAGS = ' -E -P -x assembler-with-cpp' + CFLAGS = DEVICE + ' -Wall -Wno-cpp' + AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -D__ASSEMBLY__' + LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,system_vectors -T link.lds' + + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O0 -ggdb' + CPPFLAGS += ' -O0 -ggdb' + else: + CFLAGS += ' -O2 -ggdb' + CPPFLAGS += ' -O2 -ggdb' + + POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' +\ + SIZE + ' $TARGET \n' + DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > disasm.txt\n' From a5e0bfd36a14a2667bedfb90220c2d6d00ebc894 Mon Sep 17 00:00:00 2001 From: lct1001 <2739960959@qq.com> Date: Wed, 10 Dec 2025 09:34:21 +0800 Subject: [PATCH 06/20] components:libc:cplusplus:os/utest:Some comments have been initially added. Some comments have been initially added as a bignner task. components/libc/cplusplus/os/cxx_Semaphore.cpp components/libc/cplusplus/os/cxx_Thread.cpp components/libc/cplusplus/utest/tc_atomic.cpp components/libc/cplusplus/utest/tc_smartptr.cpp components/libc/cplusplus/utest/tc_thread.cpp Signed-off-by:Liu Chengtao<2739960959@qq.com> --- .../libc/cplusplus/os/cxx_Semaphore.cpp | 16 ++++++ components/libc/cplusplus/os/cxx_Thread.cpp | 46 ++++++++++++++++- components/libc/cplusplus/utest/tc_atomic.cpp | 49 ++++++++++++------- .../libc/cplusplus/utest/tc_smartptr.cpp | 15 +++++- components/libc/cplusplus/utest/tc_thread.cpp | 31 ++++++++++-- 5 files changed, 132 insertions(+), 25 deletions(-) diff --git a/components/libc/cplusplus/os/cxx_Semaphore.cpp b/components/libc/cplusplus/os/cxx_Semaphore.cpp index 672eeb04afe..e0dbeb158a8 100644 --- a/components/libc/cplusplus/os/cxx_Semaphore.cpp +++ b/components/libc/cplusplus/os/cxx_Semaphore.cpp @@ -11,11 +11,21 @@ using namespace rtthread; +/** + * @brief Semaphore class constructor. + * @param name Semaphore name + * @param count Initial semaphore count + */ Semaphore::Semaphore(const char *name, int32_t count) { rt_sem_init(&mID, name, count, RT_IPC_FLAG_FIFO); } +/** + * @brief Wait on the semaphore. + * @param millisec Timeout in milliseconds (-1 for infinite wait). + * @return true if the semaphore was successfully taken, false on timeout. + */ bool Semaphore::wait(int32_t millisec) { rt_int32_t tick; @@ -28,11 +38,17 @@ bool Semaphore::wait(int32_t millisec) return rt_sem_take(&mID, tick) == RT_EOK; } +/** + * @brief Release the semaphore. + */ void Semaphore::release(void) { rt_sem_release(&mID); } +/** + * @brief Detach the semaphore when the object is destroyed. + */ Semaphore::~Semaphore() { rt_sem_detach(&mID); diff --git a/components/libc/cplusplus/os/cxx_Thread.cpp b/components/libc/cplusplus/os/cxx_Thread.cpp index f3484bb1f49..dc444c255bf 100644 --- a/components/libc/cplusplus/os/cxx_Thread.cpp +++ b/components/libc/cplusplus/os/cxx_Thread.cpp @@ -11,6 +11,13 @@ using namespace rtthread; +/** + * @brief Thread class constructor with parameters for stack size, priority, tick, and name. + * @param stack_size Stack size in bytes + * @param priority Thread priority + * @param tick Time slice in ticks + * @param name Thread name + */ Thread::Thread(rt_uint32_t stack_size, rt_uint8_t priority, rt_uint32_t tick, @@ -27,6 +34,15 @@ Thread::Thread(rt_uint32_t stack_size, tick); } +/** + * @brief Thread class constructor with entry function and parameters. + * @param entry The entry function pointer for the thread. + * @param p The parameter to pass to the entry function. + * @param stack_size The size of the thread stack in bytes. + * @param priority The priority of the thread. + * @param tick The time slice (tick) for the thread. + * @param name The name of the thread. + */ Thread::Thread(void (*entry)(void *p), void *p, rt_uint32_t stack_size, @@ -45,12 +61,19 @@ Thread::Thread(void (*entry)(void *p), tick); } +/** + * @brief Detach the event and delete the thread when the object is destroyed. + */ Thread::~Thread() { rt_event_detach(&_event); rt_thread_delete(_thread); } +/** + * @brief Start the thread execution. + * @return true if the thread was successfully started. + */ bool Thread::start() { if (rt_thread_startup(_thread) == RT_EOK) @@ -61,6 +84,10 @@ bool Thread::start() return started; } +/** + * @brief Make the thread sleep for a specified duration. + * @param millisec Duration in milliseconds. + */ void Thread::sleep(int32_t millisec) { rt_int32_t tick; @@ -73,6 +100,9 @@ void Thread::sleep(int32_t millisec) rt_thread_delay(tick); } +/** + * @brief Function to run the thread's entry function. + */ void Thread::func(Thread *pThis) { if (pThis->_entry != RT_NULL) @@ -87,22 +117,34 @@ void Thread::func(Thread *pThis) rt_event_send(&pThis->_event, 1); } +/** + * @brief Default run function that can be overridden by subclasses. + */ void Thread::run(void *parameter) { /* please overload this method */ } +/** + * @brief Wait for the thread to complete with a timeout. + * @param millisec Timeout in milliseconds. + * @return RT_EOK if the thread completed within the timeout, error code otherwise. + */ rt_err_t Thread::wait(int32_t millisec) { return join(millisec); } +/** + * @brief Join the thread with a timeout. + * @param millisec Timeout in milliseconds. + * @return RT_EOK if the thread completed within the timeout, error code otherwise. + */ rt_err_t Thread::join(int32_t millisec) { if (started) { rt_int32_t tick; - if (millisec < 0) tick = -1; else @@ -114,4 +156,4 @@ rt_err_t Thread::join(int32_t millisec) { return -RT_ENOSYS; } -} +} \ No newline at end of file diff --git a/components/libc/cplusplus/utest/tc_atomic.cpp b/components/libc/cplusplus/utest/tc_atomic.cpp index 8b5bdbd9bad..ae7c3b88410 100644 --- a/components/libc/cplusplus/utest/tc_atomic.cpp +++ b/components/libc/cplusplus/utest/tc_atomic.cpp @@ -20,7 +20,7 @@ */ static void test_atomic_load_store_int32(void) { - constexpr int kRound = 10000000; + constexpr int kRound = 10000000; std::atomic thread_count(0); std::atomic count(100); uassert_int_equal(count.load(), 100); @@ -56,7 +56,7 @@ static void test_atomic_load_store_int32(void) */ static void test_atomic_load_store_int64(void) { - constexpr int kRound = 10000000; + constexpr int kRound = 10000000; std::atomic thread_count(0); std::atomic count(100); uassert_int_equal(count.load(), 100); @@ -112,7 +112,7 @@ static void test_atomic_basic_int32(void) val.fetch_and(14); uassert_int_equal(val.load(), 10); - val.fetch_or(11); //1010 + val.fetch_or(11); /* 1010 */ uassert_int_equal(val.load(), 11); val.fetch_xor(4); @@ -121,9 +121,9 @@ static void test_atomic_basic_int32(void) val.exchange(1); uassert_int_equal(val.load(), 1); - int32_t x = 2; - int32_t y = 3; - bool exchanged = val.compare_exchange_strong(x, y); + int32_t x = 2; + int32_t y = 3; + bool exchanged = val.compare_exchange_strong(x, y); uassert_false(exchanged); uassert_int_equal(val.load(), 1); uassert_int_equal(x, 1); @@ -159,7 +159,7 @@ static void test_atomic_basic_int64(void) val.fetch_and(14); uassert_int_equal(val.load(), 10); - val.fetch_or(11); //1010 + val.fetch_or(11); /* 1010 */ uassert_int_equal(val.load(), 11); val.fetch_xor(4); @@ -168,9 +168,9 @@ static void test_atomic_basic_int64(void) val.exchange(1); uassert_int_equal(val.load(), 1); - int64_t x = 2; - int64_t y = 3; - bool exchanged = val.compare_exchange_strong(x, y); + int64_t x = 2; + int64_t y = 3; + bool exchanged = val.compare_exchange_strong(x, y); uassert_false(exchanged); uassert_int_equal(val.load(), 1); uassert_int_equal(x, 1); @@ -191,7 +191,7 @@ static void test_atomic_bool(void) flag.exchange(false); uassert_false(flag.load()); bool expected = false; - bool desired = true; + bool desired = true; uassert_true(flag.compare_exchange_strong(expected, desired)); uassert_true(flag.load()); } @@ -201,7 +201,7 @@ static void test_atomic_bool(void) */ static void test_atomic_pointer(void) { - int a = 1, b = 2; + int a = 1, b = 2; std::atomic ptr(&a); ptr.store(&b); uassert_int_equal(*ptr.load(), 2); @@ -217,7 +217,7 @@ static void test_memory_order(void) { std::atomic x(0); std::atomic y(0); - // Simple test for memory order + /* Simple test for memory order */ x.store(1, std::memory_order_release); y.store(2, std::memory_order_release); uassert_int_equal(x.load(std::memory_order_acquire), 1); @@ -230,25 +230,36 @@ static void test_memory_order(void) static void test_compare_exchange_weak(void) { std::atomic val(1); - int expected = 1; - int desired = 2; + int expected = 1; + int desired = 2; while (!val.compare_exchange_weak(expected, desired)) { - expected = 1; // reset + /* Reset */ + expected = 1; } uassert_int_equal(val.load(), 2); } - +/** + * @brief Test case initialization function. + * @return RT_EOK on success. + */ static rt_err_t utest_tc_init(void) { return RT_EOK; } +/** + * @brief Test case cleanup function. + * @return RT_EOK on success. + */ static rt_err_t utest_tc_cleanup(void) { return RT_EOK; } +/** + * @brief Main test case function that runs the test. + */ static void testcase(void) { /* Test load and store operations for int32_t atomic variables in multi-threaded environment */ @@ -268,4 +279,6 @@ static void testcase(void) /* Test compare_exchange_weak operation */ UTEST_UNIT_RUN(test_compare_exchange_weak); } -UTEST_TC_EXPORT(testcase, "components.libc.cpp.atomic_tc", utest_tc_init, utest_tc_cleanup, 10); + +/* Export the test case with initialization and cleanup functions and a timeout of 10 ticks. */ +UTEST_TC_EXPORT(testcase, "components.libc.cpp.atomic_tc", utest_tc_init, utest_tc_cleanup, 10); \ No newline at end of file diff --git a/components/libc/cplusplus/utest/tc_smartptr.cpp b/components/libc/cplusplus/utest/tc_smartptr.cpp index 1a9fa7eb116..c75149c8507 100644 --- a/components/libc/cplusplus/utest/tc_smartptr.cpp +++ b/components/libc/cplusplus/utest/tc_smartptr.cpp @@ -35,16 +35,27 @@ static void test_shared_ptr(void) uassert_int_equal(p1.use_count(), 2); } +/** + * @brief Test case initialization function. + * @return RT_EOK on success. + */ static rt_err_t utest_tc_init(void) { return RT_EOK; } +/** + * @brief Test case cleanup function. + * @return RT_EOK on success. + */ static rt_err_t utest_tc_cleanup(void) { return RT_EOK; } +/** + * @brief Main test case function that runs the test. + */ static void testcase(void) { /* Test unique_ptr basic operations */ @@ -52,4 +63,6 @@ static void testcase(void) /* Test shared_ptr basic operations */ UTEST_UNIT_RUN(test_shared_ptr); } -UTEST_TC_EXPORT(testcase, "components.libc.cpp.smartptr_tc", utest_tc_init, utest_tc_cleanup, 10); + +/* Export the test case with initialization and cleanup functions and a timeout of 10 ticks. */ +UTEST_TC_EXPORT(testcase, "components.libc.cpp.smartptr_tc", utest_tc_init, utest_tc_cleanup, 10); \ No newline at end of file diff --git a/components/libc/cplusplus/utest/tc_thread.cpp b/components/libc/cplusplus/utest/tc_thread.cpp index c60a9ab6025..2f81da5c416 100644 --- a/components/libc/cplusplus/utest/tc_thread.cpp +++ b/components/libc/cplusplus/utest/tc_thread.cpp @@ -12,25 +12,34 @@ #include "utest.h" #include + +/** + * @brief Function to test thread functionality. + */ static void test_thread(void) { int count = 0; - auto func = [&]() mutable - { + + /* Lambda function to increment the count. */ + auto func = [&]() mutable { for (int i = 0; i < 100; ++i) { ++count; } }; + /* Create and run a thread executing the lambda function. */ std::thread t1(func); + /* Wait for the thread to finish execution. */ t1.join(); + /* Verify if the count is as expected after the first thread execution. */ if (count != 100) { uassert_false(1); } + /* Create and run another thread executing the same lambda function. */ std::thread t2(func); t2.join(); @@ -39,21 +48,35 @@ static void test_thread(void) uassert_false(1); } + /* If both assertions passed, the test is successful. */ uassert_true(1); } + +/** + * @brief Test case initialization function. + * @return RT_EOK on success. + */ static rt_err_t utest_tc_init(void) { return RT_EOK; } - +/** + * @brief Test case cleanup function. + * @return RT_EOK on success. + */ static rt_err_t utest_tc_cleanup(void) { return RT_EOK; } +/** + * @brief Main test case function that runs the test. + */ static void testcase(void) { UTEST_UNIT_RUN(test_thread); } -UTEST_TC_EXPORT(testcase, "components.libc.cpp.thread_tc", utest_tc_init, utest_tc_cleanup, 10); + +/* Export the test case with initialization and cleanup functions and a timeout of 10 ticks. */ +UTEST_TC_EXPORT(testcase, "components.libc.cpp.thread_tc", utest_tc_init, utest_tc_cleanup, 10); \ No newline at end of file From b404016e595a09f8221272f5d7c713fdccaeb14e Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Fri, 12 Dec 2025 16:12:31 +0800 Subject: [PATCH 07/20] [dm][pmdomain] make DM Kconfig import Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/Kconfig | 1 + components/drivers/pmdomain/Kconfig | 6 ++++++ components/drivers/pmdomain/SConscript | 15 +++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 components/drivers/pmdomain/Kconfig create mode 100644 components/drivers/pmdomain/SConscript diff --git a/components/drivers/Kconfig b/components/drivers/Kconfig index de082cd6ad4..84ffcad62fa 100755 --- a/components/drivers/Kconfig +++ b/components/drivers/Kconfig @@ -32,6 +32,7 @@ rsource "block/Kconfig" rsource "scsi/Kconfig" rsource "regulator/Kconfig" rsource "reset/Kconfig" +rsource "pmdomain/Kconfig" rsource "thermal/Kconfig" rsource "virtio/Kconfig" rsource "nvmem/Kconfig" diff --git a/components/drivers/pmdomain/Kconfig b/components/drivers/pmdomain/Kconfig new file mode 100644 index 00000000000..3d899f74633 --- /dev/null +++ b/components/drivers/pmdomain/Kconfig @@ -0,0 +1,6 @@ +if RT_USING_DM +menu "Power Management (PM) Domains device drivers" + + osource "$(SOC_DM_PMDOMAIN_DIR)/Kconfig" +endmenu +endif diff --git a/components/drivers/pmdomain/SConscript b/components/drivers/pmdomain/SConscript new file mode 100644 index 00000000000..957416cfca9 --- /dev/null +++ b/components/drivers/pmdomain/SConscript @@ -0,0 +1,15 @@ +from building import * + +group = [] + +if not GetDepend(['RT_USING_DM']): + Return('group') + +cwd = GetCurrentDir() +CPPPATH = [cwd + '/../include'] + +src = [] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') From 1e61fbdf2a93643b2c79321b3c4b255aa0a66496 Mon Sep 17 00:00:00 2001 From: GUI <39894654+GuEe-GUI@users.noreply.github.com> Date: Sat, 13 Dec 2025 16:32:25 +0800 Subject: [PATCH 08/20] [dm][hwcache] support hwcache (#11049) Some ARCH not has std cache ops, such as RISC-V Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/Kconfig | 1 + components/drivers/hwcache/Kconfig | 9 ++ components/drivers/hwcache/SConscript | 15 ++ components/drivers/hwcache/hwcache.c | 139 +++++++++++++++++++ components/drivers/include/drivers/hwcache.h | 48 +++++++ components/drivers/include/rtdevice.h | 4 + 6 files changed, 216 insertions(+) create mode 100644 components/drivers/hwcache/Kconfig create mode 100644 components/drivers/hwcache/SConscript create mode 100644 components/drivers/hwcache/hwcache.c create mode 100644 components/drivers/include/drivers/hwcache.h diff --git a/components/drivers/Kconfig b/components/drivers/Kconfig index 84ffcad62fa..87e37864bd0 100755 --- a/components/drivers/Kconfig +++ b/components/drivers/Kconfig @@ -30,6 +30,7 @@ rsource "ata/Kconfig" rsource "nvme/Kconfig" rsource "block/Kconfig" rsource "scsi/Kconfig" +rsource "hwcache/Kconfig" rsource "regulator/Kconfig" rsource "reset/Kconfig" rsource "pmdomain/Kconfig" diff --git a/components/drivers/hwcache/Kconfig b/components/drivers/hwcache/Kconfig new file mode 100644 index 00000000000..6936dd1ff30 --- /dev/null +++ b/components/drivers/hwcache/Kconfig @@ -0,0 +1,9 @@ +menuconfig RT_USING_HWCACHE + bool "Using Hardware Cache device drivers" + depends on RT_USING_DM + depends on RT_USING_CACHE + default n + +if RT_USING_HWCACHE + osource "$(SOC_DM_HWCACHE_DIR)/Kconfig" +endif diff --git a/components/drivers/hwcache/SConscript b/components/drivers/hwcache/SConscript new file mode 100644 index 00000000000..6d16ba02e6b --- /dev/null +++ b/components/drivers/hwcache/SConscript @@ -0,0 +1,15 @@ +from building import * + +group = [] + +if not GetDepend(['RT_USING_HWCACHE']): + Return('group') + +cwd = GetCurrentDir() +CPPPATH = [cwd + '/../include'] + +src = ['hwcache.c'] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/drivers/hwcache/hwcache.c b/components/drivers/hwcache/hwcache.c new file mode 100644 index 00000000000..65029bf66ec --- /dev/null +++ b/components/drivers/hwcache/hwcache.c @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include + +#define DBG_TAG "rtdm.hwcache" +#define DBG_LVL DBG_INFO +#include + +struct rt_hwcache_ops *rt_dm_cpu_dcache_ops = RT_NULL; +struct rt_hwcache_ops *rt_dm_cpu_icache_ops = RT_NULL; + +static void hwcache_enable(struct rt_hwcache_ops *ops) +{ + if (ops && ops->enable) + { + ops->enable(); + } +} + +static void hwcache_disable(struct rt_hwcache_ops *ops) +{ + if (ops && ops->enable) + { + ops->enable(); + } +} + +static rt_base_t hwcache_status(struct rt_hwcache_ops *ops) +{ + if (ops && ops->status) + { + return ops->status(); + } + + return 0; +} + +static void hwcache_ops(struct rt_hwcache_ops *ops, int op, void *addr, int size) +{ + if (ops) + { + if (op == RT_HW_CACHE_FLUSH) + { + if (ops->flush) + { + ops->flush(addr, size); + } + } + else if (op == RT_HW_CACHE_INVALIDATE) + { + if (ops->invalidate) + { + ops->invalidate(addr, size); + } + } + } +} + +void rt_hwcache_icache_enable(void) +{ + hwcache_enable(rt_dm_cpu_icache_ops); +} + +void rt_hwcache_icache_disable(void) +{ + hwcache_disable(rt_dm_cpu_icache_ops); +} + +rt_base_t rt_hwcache_icache_status(void) +{ + return hwcache_status(rt_dm_cpu_icache_ops); +} + +void rt_hwcache_icache_ops(int ops, void *addr, int size) +{ + hwcache_ops(rt_dm_cpu_icache_ops, ops, addr, size); +} + +void rt_hwcache_dcache_enable(void) +{ + hwcache_enable(rt_dm_cpu_dcache_ops); +} + +void rt_hwcache_dcache_disable(void) +{ + hwcache_disable(rt_dm_cpu_dcache_ops); +} + +rt_base_t rt_hwcache_dcache_status(void) +{ + return hwcache_status(rt_dm_cpu_dcache_ops); +} + +void rt_hwcache_dcache_ops(int ops, void *addr, int size) +{ + hwcache_ops(rt_dm_cpu_dcache_ops, ops, addr, size); +} + +#ifdef RT_USING_OFW +RT_OFW_STUB_RANGE_EXPORT(hwcache, _hwcache_ofw_start, _hwcache_ofw_end); + +static rt_err_t ofw_hwcache_init(void) +{ + struct rt_ofw_node *cache_np; + + rt_ofw_foreach_allnodes(cache_np) + { + rt_ofw_stub_probe_range(cache_np, &_hwcache_ofw_start, &_hwcache_ofw_end); + } + + return RT_EOK; +} +#else +static rt_err_t ofw_hwcache_init(void) +{ + return RT_EOK; +} +#endif /* !RT_USING_OFW */ + +rt_err_t rt_hwcache_init(void) +{ + rt_err_t err; + + LOG_D("init start"); + + err = ofw_hwcache_init(); + + LOG_D("init end"); + + return err; +} diff --git a/components/drivers/include/drivers/hwcache.h b/components/drivers/include/drivers/hwcache.h new file mode 100644 index 00000000000..048dd303bdb --- /dev/null +++ b/components/drivers/include/drivers/hwcache.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#ifndef __HWCACHE_H__ +#define __HWCACHE_H__ + +#include +#include +#include + +struct rt_hwcache_ops +{ + const char *name; + + void (*enable)(void); + void (*disable)(void); + + rt_base_t (*status)(void); + + void (*flush)(void *vaddr, rt_size_t size); + void (*invalidate)(void *vaddr, rt_size_t size); +}; + +extern struct rt_hwcache_ops *rt_dm_cpu_dcache_ops; +extern struct rt_hwcache_ops *rt_dm_cpu_icache_ops; + +#define RT_HWCACHE_OFW_DECLARE(name, ids, handler) RT_OFW_STUB_EXPORT(name, ids, hwcache, handler) + +void rt_hwcache_icache_enable(void); +void rt_hwcache_icache_disable(void); +rt_base_t rt_hwcache_icache_status(void); +void rt_hwcache_icache_ops(int ops, void *addr, int size); + +void rt_hwcache_dcache_enable(void); +void rt_hwcache_dcache_disable(void); +rt_base_t rt_hwcache_dcache_status(void); +void rt_hwcache_dcache_ops(int ops, void *addr, int size); + +rt_err_t rt_hwcache_init(void); + +#endif /* __HWCACHE_H__ */ diff --git a/components/drivers/include/rtdevice.h b/components/drivers/include/rtdevice.h index d55a41f30b7..89af4b933c0 100644 --- a/components/drivers/include/rtdevice.h +++ b/components/drivers/include/rtdevice.h @@ -130,6 +130,10 @@ extern "C" { #include "drivers/thermal.h" #endif /* RT_USING_THERMAL */ +#ifdef RT_USING_HWCACHE +#include "drivers/hwcache.h" +#endif /* RT_USING_HWCACHE */ + #ifdef RT_USING_NVMEM #include "drivers/nvmem.h" #endif /* RT_USING_NVMEM */ From 5c38e7502eb1aa5dd54b368954bad833c60833ef Mon Sep 17 00:00:00 2001 From: GUI <39894654+GuEe-GUI@users.noreply.github.com> Date: Sat, 13 Dec 2025 16:33:05 +0800 Subject: [PATCH 09/20] [dm][pinctrl] Set pinctrl default auto in platform bus. (#11052) Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/core/platform.c | 8 ++++++++ components/drivers/serial/dev_serial.c | 5 ----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/components/drivers/core/platform.c b/components/drivers/core/platform.c index d308dd08065..48b7077a03d 100644 --- a/components/drivers/core/platform.c +++ b/components/drivers/core/platform.c @@ -18,6 +18,7 @@ #ifdef RT_USING_CLK #include #endif +#include #include #include #include @@ -122,6 +123,13 @@ static rt_err_t platform_probe(rt_device_t dev) struct rt_ofw_node *np = dev->ofw_node; #endif +#ifdef RT_USING_PINCTRL + if (rt_pin_ctrl_confs_apply_by_name(dev, RT_NULL)) + { + rt_pin_ctrl_confs_apply(dev, 0); + } +#endif + #ifdef RT_USING_CLK if ((err = rt_ofw_clk_set_defaults(dev->ofw_node))) { diff --git a/components/drivers/serial/dev_serial.c b/components/drivers/serial/dev_serial.c index 3ebe3063ace..45bf97c3289 100644 --- a/components/drivers/serial/dev_serial.c +++ b/components/drivers/serial/dev_serial.c @@ -664,11 +664,6 @@ static rt_err_t rt_serial_open(struct rt_device *dev, rt_uint16_t oflag) /* get open flags */ dev->open_flag = oflag & 0xff; -#ifdef RT_USING_PINCTRL - /* initialize iomux in DM */ - rt_pin_ctrl_confs_apply_by_name(dev, RT_NULL); -#endif - /* initialize the Rx/Tx structure according to open flag */ if (serial->serial_rx == RT_NULL) { From 1b8e3732b99708ee09ac29dda679c4c435b3b551 Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Sat, 13 Dec 2025 01:24:54 +0800 Subject: [PATCH 10/20] [dm][core] Update the OFW CLk init flow The clock should init before common platform devices. Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/core/platform_ofw.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/components/drivers/core/platform_ofw.c b/components/drivers/core/platform_ofw.c index dbe091935e9..38065dd3eb5 100644 --- a/components/drivers/core/platform_ofw.c +++ b/components/drivers/core/platform_ofw.c @@ -267,6 +267,12 @@ static int platform_ofw_device_probe(void) if (ofw_node_root) { + if ((node = rt_ofw_find_node_by_path("/clocks"))) + { + platform_ofw_device_probe_once(node); + rt_ofw_node_put(node); + } + rt_ofw_node_get(ofw_node_root); err = platform_ofw_device_probe_once(ofw_node_root); @@ -279,12 +285,6 @@ static int platform_ofw_device_probe(void) rt_ofw_node_put(node); } - if ((node = rt_ofw_find_node_by_path("/clocks"))) - { - platform_ofw_device_probe_once(node); - rt_ofw_node_put(node); - } - rt_ofw_node_get(ofw_node_chosen); if ((node = rt_ofw_get_child_by_compatible(ofw_node_chosen, "simple-framebuffer"))) { From ea5e21833e414381afdf189c39d473596c8947bb Mon Sep 17 00:00:00 2001 From: lhxj <2743257167@qq.com> Date: Fri, 12 Dec 2025 19:09:13 +0800 Subject: [PATCH 11/20] Most test cases in `src/utest` lack standardized functional documentation, as tracked in issue [#10895](https://github.com/RT-Thread/rt-thread/issues/10895). This leads to high maintenance costs, difficulty for new contributors, and inefficient code reviews. Solution: This patch adds the full, standardized documentation block to `sched_mtx_tc.c`, `sched_sem_tc.c`, `sched_thread_tc.c`, `sched_timed_mtx_tc.c` and `sched_timed_sem_tc.c` following the approved template. The documentation details: - Test Objectives and tested APIs - Test Scenarios - Verification Metrics - Dependencies - Test Execution command and Expected Results This makes the test case's purpose and behavior immediately clear to future maintainers and reviewers. Relates to [#10895](https://github.com/RT-Thread/rt-thread/issues/10895) Signed-off-by: lhxj <2743257167@qq.com> --- src/utest/sched_mtx_tc.c | 49 +++++++++++++++++++++++++++++++ src/utest/sched_sem_tc.c | 53 ++++++++++++++++++++++++++++++++++ src/utest/sched_thread_tc.c | 51 ++++++++++++++++++++++++++++++++ src/utest/sched_timed_mtx_tc.c | 47 ++++++++++++++++++++++++++++++ src/utest/sched_timed_sem_tc.c | 49 +++++++++++++++++++++++++++++++ 5 files changed, 249 insertions(+) diff --git a/src/utest/sched_mtx_tc.c b/src/utest/sched_mtx_tc.c index dbd6af873a8..bc62084b2d3 100644 --- a/src/utest/sched_mtx_tc.c +++ b/src/utest/sched_mtx_tc.c @@ -6,7 +6,56 @@ * Change Logs: * Date Author Notes * 2024-01-17 Shell the first version + * 2025-12-12 lhxj Add standardized utest documentation block */ + +/** + * Test Case Name: Scheduler Mutex Stress Test (core.scheduler_mutex) + * + * Test Objectives: + * - Validate the stability of the Mutex subsystem under high contention (Stress Test). + * - Ensure priority inheritance (if supported) or basic blocking/waking works correctly. + * - In multi-core systems, verify data consistency and spinlock mechanisms when multiple cores contend for a single kernel object simultaneously. + * - List specific functions or APIs to be tested: + * - rt_mutex_take() + * - rt_mutex_release() + * - rt_thread_create() + * + * Test Scenarios: + * - **Stress Test (mutex_stress_tc):** + * 1. Create `RT_CPUS_NR` threads (e.g., 4 threads in a Quad-Core setup). + * 2. Assign **staggered priorities** to these threads (`priority_base + i % range`) to simulate contention between high and low priority tasks. + * 3. All tester threads execute a tight loop: attempting to take and immediately release the *same* global mutex (`_racing_lock`). + * - In SMP, this simulates true parallel contention. + * 4. The main test thread sleeps for `TEST_SECONDS` (30s), periodically printing progress. + * 5. After time is up, signal threads to exit (`_exit_flag`) and wait for them using a semaphore (`_thr_exit_sem`). + * + * Verification Metrics: + * - **Pass:** The system must remain responsive (no deadlocks, hard faults, or RCU stalls) during the 30-second run. + * - **Pass:** The main thread must successfully wait for all tester threads to exit (`rt_sem_take` returns `RT_EOK`). + * - **Pass:** `uassert_true(1)` is executed periodically, confirming the main loop is alive. + * + * Dependencies: + * - Hardware requirements (e.g., specific peripherals) + * - No specific peripherals required, but Multi-core CPU recommended for SMP testing. + * (This is met by the qemu-virt64-riscv BSP). + * - Software configuration (e.g., kernel options, driver initialization) + * - `RT_USING_UTEST` must be enabled (`RT-Thread Utestcases`). + * - `Scheduler Test` must be enabled (`RT-Thread Utestcases` -> `Kernel Core` -> 'Scheduler Test'). + * - (Optional) Enable SMP for parallel testing: + * - Go to `RT-Thread Kernel` -> `Enable SMP (Symmetric multiprocessing)`. + * - Set `Number of CPUs` to > 1 (e.g., 4). + * - Environmental assumptions + * - Requires sufficient heap memory to allocate stacks for `RT_CPUS_NR` threads. + * - Run the test case from the msh prompt: + * `utest_run core.scheduler_mutex` + * + * Expected Results: + * - The test continues for approximately 30 seconds. + * - The console logs periodic success assertions. + * - Final Output: `[ PASSED ] [ result ] testcase (core.scheduler_mutex)` + */ + #include #include #include "utest.h" diff --git a/src/utest/sched_sem_tc.c b/src/utest/sched_sem_tc.c index bfc9aac91f0..4a2fd00f2bc 100644 --- a/src/utest/sched_sem_tc.c +++ b/src/utest/sched_sem_tc.c @@ -6,7 +6,60 @@ * Change Logs: * Date Author Notes * 2024-01-17 Shell the first version + * 2025-12-12 lhxj Add standardized utest documentation block */ + +/** + * Test Case Name: Priority Based Semaphore Synchronization Test (core.scheduler_sem) + * + * Test Objectives: + * - Verify the stability and correctness of the scheduler under high concurrency. + * - Verify thread synchronization and execution order using Semaphore chains across different priority levels. + * - Verify SMP (Symmetric Multiprocessing) load balancing and atomic operations in a multi-core environment. + * - List specific functions or APIs to be tested: + * - rt_sem_init + * - rt_sem_take + * - rt_sem_release + * - rt_thread_create + * - rt_thread_startup + * - rt_atomic_add + * + * Test Scenarios: + * - **Semaphore Chained Scheduling:** + * 1. Initialize a "thread matrix" where threads are created across multiple priority levels (`TEST_LEVEL_COUNTS`). + * 2. For each priority level, create multiple concurrent threads (`RT_CPUS_NR * 2`). + * 3. Establish a dependency chain (Ring Topology): + * - **Level 0 threads:** Notify Level 1, then wait for their own resource. + * - **Middle Level threads:** Wait for their resource (notified by Level N-1), then notify Level N+1. + * - **Last Level threads:** Wait for their resource, print status (CPU ID), delay, then notify Level 0. + * 4. Each thread increments an atomic load counter for the specific CPU it is running on. + * 5. The main test thread waits for all sub-threads to signal completion via `_thr_exit_sem`. + * + * Verification Metrics: + * - **Pass:** All created threads must complete their execution loops without deadlocking. + * - **Pass:** The sum of execution counts across all CPUs (`_load_average`) must equal the calculated expected total (`KERN_TEST_CONFIG_LOOP_TIMES * TEST_LEVEL_COUNTS * KERN_TEST_CONCURRENT_THREADS`). + * + * Dependencies: + * - Hardware requirements + * - No specific peripherals required, but multi-core CPU is recommended for SMP verification. + * (This is met by the qemu-virt64-riscv BSP). + * - Software configuration + * - `RT_USING_UTEST` must be enabled (`RT-Thread Utestcases`). + * - `Scheduler Test` must be enabled (`RT-Thread Utestcases` -> `Kernel Core` -> 'Scheduler Test'). + * - (Optional) Enable SMP for parallel testing (Highly Recommended): + * - Go to `RT-Thread Kernel` -> `Enable SMP (Symmetric multiprocessing)`. + * - Set `Number of CPUs` to > 1 (e.g., 2 or 4). + * - Environmental assumptions + * - The system must support enough valid priority levels (`RT_THREAD_PRIORITY_MAX`) to accommodate `TEST_LEVEL_COUNTS`. + * - Run the test case from the msh prompt: + * `utest_run core.scheduler_sem` + * + * Expected Results: + * - The console should print character patterns (e.g., `*0*1...`) indicating thread activity on specific CPUs. + * - The final load statistics per CPU should be printed. + * - Final Output: `[ PASSED ] [ result ] testcase (core.scheduler_sem)` + */ + #define __RT_IPC_SOURCE__ #include diff --git a/src/utest/sched_thread_tc.c b/src/utest/sched_thread_tc.c index 42fedea2f3e..9c3f74eef9b 100644 --- a/src/utest/sched_thread_tc.c +++ b/src/utest/sched_thread_tc.c @@ -6,7 +6,58 @@ * Change Logs: * Date Author Notes * 2024-01-25 Shell init ver. + * 2025-12-12 lhxj Add standardized utest documentation block */ + +/** + * Test Case Name: Scheduler Thread Stability Test (core.scheduler_thread) + * + * Test Objectives: + * - Verify the stability of the scheduler during intensive context switching. + * - Test the interaction between `rt_thread_suspend` and `rt_thread_resume` within critical sections. + * - Verify scheduler robustness in multi-core environments (using `RT_CPUS_NR`) ensuring no deadlocks or race conditions occur during thread state transitions. + * - List specific functions or APIs to be tested: + * - rt_thread_create + * - rt_thread_startup + * - rt_thread_suspend + * - rt_thread_resume + * - rt_enter_critical / rt_exit_critical_safe + * - rt_atomic_add + * + * Test Scenarios: + * - **Multi-threaded Ping-Pong Context Switching:** + * 1. Initialize a semaphore `_thr_exit_sem` for completion synchronization. + * 2. Create `TEST_THREAD_COUNT` pairs of threads (based on `RT_CPUS_NR`). + * 3. Each thread pair performs a "ping-pong" operation in a loop (100,000 iterations): + * - Thread A enters critical section, suspends self, resumes Thread B, exits critical section. + * - Thread B enters critical section, suspends self, resumes Thread A, exits critical section. + * 4. An atomic counter `_progress_counter` tracks execution progress, triggering `uassert_true` at intervals. + * 5. The main test thread waits for all worker threads to signal completion via the semaphore. + * + * Verification Metrics: + * - **Pass:** All created threads complete their execution loops without system hangs or crashes. + * - **Pass:** The progress counter increments as expected, validating thread execution flow. + * + * Dependencies: + * - Hardware requirements (e.g., specific peripherals) + * - No specific peripherals required. + * (This is met by the qemu-virt64-riscv BSP). + * - Software configuration (e.g., kernel options, driver initialization) + * - `RT_USING_UTEST` must be enabled (`RT-Thread Utestcases`). + * - `Scheduler Test` must be enabled (`RT-Thread Utestcases` -> `Kernel Core` -> 'Scheduler Test'). + * - (Optional) Enable SMP for parallel testing: + * - Go to `RT-Thread Kernel` -> `Enable SMP (Symmetric multiprocessing)`. + * - Set `Number of CPUs` to > 1 (e.g., 4). + * - Environmental assumptions + * - `UTEST_THR_STACK_SIZE` is sufficient for the test threads. + * - Run the test case from the msh prompt: + * `utest_run core.scheduler_thread` + * + * Expected Results: + * - The test proceeds through multiple loops of thread suspension and resumption. + * - Final Output: `[ PASSED ] [ result ] testcase (core.scheduler_thread)` + */ + #define __RT_KERNEL_SOURCE__ #include #include "utest.h" diff --git a/src/utest/sched_timed_mtx_tc.c b/src/utest/sched_timed_mtx_tc.c index 363b152df2f..1b4b24b6d48 100644 --- a/src/utest/sched_timed_mtx_tc.c +++ b/src/utest/sched_timed_mtx_tc.c @@ -6,7 +6,54 @@ * Change Logs: * Date Author Notes * 2024-01-25 Shell init ver. + * 2025-12-12 lhxj Add standardized utest documentation block */ + +/** + * Test Case Name: Timed Mutex Race Condition Test (core.scheduler_timed_mtx) + * + * Test Objectives: + * - Verify mutex behavior when a timeout race condition occurs between the timeout timer (scheduler) and mutex release. + * - Ensure strict round-robin ownership (Producer <-> Consumer) is maintained despite timeouts. + * - Validate that `rt_mutex_take_interruptible` correctly handles timeouts returning `-RT_ETIMEOUT`. + * - Ensure a thread does not hold the mutex if it reports a timeout. + * - List specific functions or APIs to be tested: + * - rt_mutex_take_interruptible + * - rt_mutex_take + * - rt_mutex_release + * - rt_tick_get + * + * Test Scenarios: + * - **Timeout vs Release Race:** + * 1. Create a Producer thread and a Consumer thread. + * 2. Producer acquires the mutex, aligns execution to the system tick edge (`_wait_until_edge`) with random latency, and releases the mutex. + * 3. Consumer attempts to acquire the mutex with a short timeout (1 tick) using `rt_mutex_take_interruptible`. + * 4. Verify that if Consumer times out, it does not hold the mutex. + * 5. Verify that if Consumer acquires the mutex, strict ownership order (Producer -> Consumer) was followed using magic flags. + * 6. Repeat for `TEST_LOOP_TICKS`. + * + * Verification Metrics: + * - **Pass:** The mutex ownership sequence (Consumer -> Producer -> Consumer) is never violated. + * - **Pass:** `rt_mutex_get_owner` returns NULL or not the current thread if `rt_mutex_take_interruptible` returns `-RT_ETIMEOUT`. + * - **Pass:** Both threads complete their loops and signal exit without asserting failure. + * + * Dependencies: + * - Hardware requirements (e.g., specific peripherals) + * - No specific hardware requirements. + * (This is met by the qemu-virt64-riscv BSP). + * - Software configuration (e.g., kernel options, driver initialization) + * - `RT_USING_UTEST` must be enabled (`RT-Thread Utestcases`). + * - `Scheduler Test` must be enabled (`RT-Thread Utestcases` -> `Kernel Core` -> 'Scheduler Test'). + * - Environmental assumptions + * - No specific environmental assumptions. + * - Run the test case from the msh prompt: + * `utest_run core.scheduler_timed_mtx` + * + * Expected Results: + * - The test logs "Total failed times: X(in Y)" indicating valid timeouts handled correctly. + * - Final Output: `[ PASSED ] [ result ] testcase (core.scheduler_timed_mtx)` + */ + #define __RT_KERNEL_SOURCE__ #include #include diff --git a/src/utest/sched_timed_sem_tc.c b/src/utest/sched_timed_sem_tc.c index b11b5080b77..147b7c238f4 100644 --- a/src/utest/sched_timed_sem_tc.c +++ b/src/utest/sched_timed_sem_tc.c @@ -6,7 +6,56 @@ * Change Logs: * Date Author Notes * 2024-01-25 Shell init ver. + * 2025-12-12 lhxj Add standardized utest documentation block */ + +/** + * Test Case Name: Scheduler Timed Semaphore Race Test (core.scheduler_timed_sem) + * + * Test Objectives: + * - Verify IPC (Semaphore) behavior under tight timing conditions (tick edge). + * - Stress test the race condition where a timeout routine and a producer thread + * race to wake up a sleeping consumer. + * - Ensure the scheduler handles interruptible semaphore takes correctly without + * returning unexpected error codes during high-contention/edge-case timing. + * - List specific functions or APIs to be tested: + * - rt_sem_take_interruptible + * - rt_sem_release + * - rt_tick_get + * - rt_thread_create + * + * Test Scenarios: + * - **Producer-Consumer Tick Edge Race:** + * 1. Initialize two semaphores (`_ipc_sem`, `_thr_exit_sem`). + * 2. Create two threads: a Producer (priority +1) and a Consumer (priority +1). + * 3. **Producer Loop:** Wait specifically for the RT-Thread tick count to change (tick edge), + * add a small random latency, and then release `_ipc_sem`. + * 4. **Consumer Loop:** Attempt to take `_ipc_sem` with a timeout of exactly 1 tick. + * 5. Track "failed times" (valid timeouts) versus "unexpected errors" (assert failure). + * 6. Run this loop for `TEST_SECONDS` (10 seconds). + * + * Verification Metrics: + * - **Pass:** The test completes the duration without triggering `uassert_true(0)`. + * - **Pass:** Consumer receives either `RT_EOK` (success) or `-RT_ETIMEOUT` (expected race loss). + * - **Fail:** Consumer receives any error code other than `RT_EOK` or `-RT_ETIMEOUT`. + * + * Dependencies: + * - Hardware requirements + * - No specific peripheral required. + * (This is met by the qemu-virt64-riscv BSP). + * - Software configuration + * - `RT_USING_UTEST` must be enabled (`RT-Thread Utestcases`). + * - `Scheduler Test` must be enabled (`RT-Thread Utestcases` -> `Kernel Core` -> 'Scheduler Test'). + * - Environmental assumptions + * - System tick must be running. + * - Run the test case from the msh prompt: + * `utest_run core.scheduler_timed_sem` + * + * Expected Results: + * - The system logs "Total failed times: X(in Y)" (Timeouts are allowed/counted, not fatal). + * - Final Output: `[ PASSED ] [ result ] testcase (core.scheduler_timed_sem)` + */ + #define __RT_KERNEL_SOURCE__ #include #include From 8dad5f5779ae364d6afb53f5f98c9dc15a348537 Mon Sep 17 00:00:00 2001 From: Chuan Date: Sun, 14 Dec 2025 21:57:30 +0800 Subject: [PATCH 12/20] [utest][mm_api]Add standardized documentation for MM API Test --- examples/utest/testcases/mm/mm_api_tc.c | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/examples/utest/testcases/mm/mm_api_tc.c b/examples/utest/testcases/mm/mm_api_tc.c index 6ddb39189de..d7fcdffb00c 100644 --- a/examples/utest/testcases/mm/mm_api_tc.c +++ b/examples/utest/testcases/mm/mm_api_tc.c @@ -7,6 +7,41 @@ * Date Author Notes * 2022-12-14 WangXiaoyao the first version * 2023-03-20 WangXiaoyao Format & add more testcases for API under mm_aspace.h + * 2025-12-14 ChuanN-sudo Add standardized utest documentation block + */ + +/** + * Test Case Name: MM API Test + * + * Test Objectives: + * - Verify I/O remapping functionality with cached memory access. + * - Test memory mapping flag creation and extraction mechanisms. + * - Validate address space management operations. + * - Test core APIs: rt_pages_alloc(), rt_ioremap_cached(), rt_iounmap(), rt_pages_free(), + * rt_pages_free(), MMF_CREATE(), MMF_GET_CNTL(), MMF_GET_ALIGN(). + * + * Test Scenarios: + * - Address Space Test (aspace_tc): Tests memory address space management APIs. + * - I/O Remap Test (ioremap_tc): Allocates physical pages, maps to virtual address with cache, verifies data consistency, and cleans up resources. + * - Flag Test (flag_tc): Creates memory mapping flags with different parameters and validates control bits and alignment values extraction. + * + * Verification Metrics: + * - I/O remapping should correctly map physical to virtual addresses. + * - Cached memory access should maintain data consistency between physical and virtual addresses. + * - Memory mapping flags should correctly encode and decode control bits and alignment values. + * - Flag creation with alignment should set MMF_REQUEST_ALIGN bit and store alignment value. + * - Flag creation without alignment should not set alignment-related bits. + * + Dependencies: + * - Hardware requirements: QEMU emulator or any hardware platform that supports RT-Thread with MMU. + * - Software configuration: + * - RT_UTEST_MM_API must be enabled (enable via: RT-Thread Utestcases -> RT-Thread Utestcases -> Memory Management Subsystem Testcase -> Enable Utest for MM API). + * - RT_USING_SMART must be enabled (enable via: Enable RT-Thread Kernel -> RT-Thread Smart (microkernel on kernel/userland)). + * - Environmental Assumptions: MMU support must be available on the target platform. + + * Expected Results: + * - Final output: "[ PASSED ] [ result ] testcase (testcases.mm.api_tc)" + * - No assertion failures during test execution. */ #include "common.h" From b3429e33604676eea87c04b6921368f7ee5963f7 Mon Sep 17 00:00:00 2001 From: bernard Date: Sat, 13 Dec 2025 21:42:29 +0800 Subject: [PATCH 13/20] [rust] Tidy core defaults and migrate docs to README --- components/rust/{README_cn.md => README_zh.md} | 0 components/rust/core/src/api/libloading.rs | 2 +- components/rust/core/src/lib.rs | 2 +- components/rust/core/src/panic.rs | 2 +- components/rust/core/src/thread.rs | 4 ++-- components/rust/docs/1.tools/{tools.md => README.md} | 0 components/rust/docs/1.tools/{tools_cn.md => README_zh.md} | 0 .../rust/docs/2.applications/{application.md => README.md} | 0 .../docs/2.applications/{application_cn.md => README_zh.md} | 0 .../rust/docs/3.components/{component.md => README.md} | 0 .../docs/3.components/{component_cn.md => README_zh.md} | 0 components/rust/docs/4.modules/{modules.md => README.md} | 0 .../rust/docs/4.modules/{modules_cn.md => README_zh.md} | 0 components/rust/docs/5.rt-macro/{rt-macros.md => README.md} | 0 .../rust/docs/5.rt-macro/{rt-macros_cn.md => README_zh.md} | 0 components/rust/examples/modules/example_lib/src/lib.rs | 6 +++--- 16 files changed, 8 insertions(+), 8 deletions(-) rename components/rust/{README_cn.md => README_zh.md} (100%) rename components/rust/docs/1.tools/{tools.md => README.md} (100%) rename components/rust/docs/1.tools/{tools_cn.md => README_zh.md} (100%) rename components/rust/docs/2.applications/{application.md => README.md} (100%) rename components/rust/docs/2.applications/{application_cn.md => README_zh.md} (100%) rename components/rust/docs/3.components/{component.md => README.md} (100%) rename components/rust/docs/3.components/{component_cn.md => README_zh.md} (100%) rename components/rust/docs/4.modules/{modules.md => README.md} (100%) rename components/rust/docs/4.modules/{modules_cn.md => README_zh.md} (100%) rename components/rust/docs/5.rt-macro/{rt-macros.md => README.md} (100%) rename components/rust/docs/5.rt-macro/{rt-macros_cn.md => README_zh.md} (100%) diff --git a/components/rust/README_cn.md b/components/rust/README_zh.md similarity index 100% rename from components/rust/README_cn.md rename to components/rust/README_zh.md diff --git a/components/rust/core/src/api/libloading.rs b/components/rust/core/src/api/libloading.rs index 438f1fb40b8..90b33cc92d3 100644 --- a/components/rust/core/src/api/libloading.rs +++ b/components/rust/core/src/api/libloading.rs @@ -150,7 +150,7 @@ impl Library { let h = self.handle; forget(self); let rc = libc::dlclose(h); - if rc == 1 { + if rc == 0 { Ok(()) } else { Err(DlError::Close(rc)) diff --git a/components/rust/core/src/lib.rs b/components/rust/core/src/lib.rs index 2787b7240a4..01e4b34102b 100644 --- a/components/rust/core/src/lib.rs +++ b/components/rust/core/src/lib.rs @@ -77,7 +77,7 @@ pub enum RTTError { FileSetLengthErr, FileSyncErr, - FuncUnDefine, + FuncUndefined, } pub type RTResult = Result; diff --git a/components/rust/core/src/panic.rs b/components/rust/core/src/panic.rs index 371f86fdb62..b45ad7d1a34 100644 --- a/components/rust/core/src/panic.rs +++ b/components/rust/core/src/panic.rs @@ -24,7 +24,7 @@ fn panic(info: &core::panic::PanicInfo) -> ! { } #[linkage = "weak"] -#[unsafe(no_mangle)] +#[no_mangle] fn __rust_panic() -> ! { /* Default weak panic handler: loops forever to halt execution. */ print!("Entered weak panic handler: system will halt."); diff --git a/components/rust/core/src/thread.rs b/components/rust/core/src/thread.rs index 35e03f3c3aa..791fd46da7d 100644 --- a/components/rust/core/src/thread.rs +++ b/components/rust/core/src/thread.rs @@ -28,7 +28,7 @@ impl Thread { pub fn new() -> ThreadBuilder { ThreadBuilder { - th_name: "uname".into(), + th_name: "Unnamed".into(), th_stack_size: 4096, th_priority: 10, th_ticks: 10, @@ -151,4 +151,4 @@ impl ThreadBuilder { func, ) } -} \ No newline at end of file +} diff --git a/components/rust/docs/1.tools/tools.md b/components/rust/docs/1.tools/README.md similarity index 100% rename from components/rust/docs/1.tools/tools.md rename to components/rust/docs/1.tools/README.md diff --git a/components/rust/docs/1.tools/tools_cn.md b/components/rust/docs/1.tools/README_zh.md similarity index 100% rename from components/rust/docs/1.tools/tools_cn.md rename to components/rust/docs/1.tools/README_zh.md diff --git a/components/rust/docs/2.applications/application.md b/components/rust/docs/2.applications/README.md similarity index 100% rename from components/rust/docs/2.applications/application.md rename to components/rust/docs/2.applications/README.md diff --git a/components/rust/docs/2.applications/application_cn.md b/components/rust/docs/2.applications/README_zh.md similarity index 100% rename from components/rust/docs/2.applications/application_cn.md rename to components/rust/docs/2.applications/README_zh.md diff --git a/components/rust/docs/3.components/component.md b/components/rust/docs/3.components/README.md similarity index 100% rename from components/rust/docs/3.components/component.md rename to components/rust/docs/3.components/README.md diff --git a/components/rust/docs/3.components/component_cn.md b/components/rust/docs/3.components/README_zh.md similarity index 100% rename from components/rust/docs/3.components/component_cn.md rename to components/rust/docs/3.components/README_zh.md diff --git a/components/rust/docs/4.modules/modules.md b/components/rust/docs/4.modules/README.md similarity index 100% rename from components/rust/docs/4.modules/modules.md rename to components/rust/docs/4.modules/README.md diff --git a/components/rust/docs/4.modules/modules_cn.md b/components/rust/docs/4.modules/README_zh.md similarity index 100% rename from components/rust/docs/4.modules/modules_cn.md rename to components/rust/docs/4.modules/README_zh.md diff --git a/components/rust/docs/5.rt-macro/rt-macros.md b/components/rust/docs/5.rt-macro/README.md similarity index 100% rename from components/rust/docs/5.rt-macro/rt-macros.md rename to components/rust/docs/5.rt-macro/README.md diff --git a/components/rust/docs/5.rt-macro/rt-macros_cn.md b/components/rust/docs/5.rt-macro/README_zh.md similarity index 100% rename from components/rust/docs/5.rt-macro/rt-macros_cn.md rename to components/rust/docs/5.rt-macro/README_zh.md diff --git a/components/rust/examples/modules/example_lib/src/lib.rs b/components/rust/examples/modules/example_lib/src/lib.rs index 5f81c1553fd..79fe384e6ad 100644 --- a/components/rust/examples/modules/example_lib/src/lib.rs +++ b/components/rust/examples/modules/example_lib/src/lib.rs @@ -11,7 +11,7 @@ /* Bring rt-rust's println! macro into scope */ use rt_rust::println; use core::ffi::{c_char, CStr}; -#[unsafe(no_mangle)] +#[no_mangle] pub extern "C" fn rust_mylib_println(s: *const c_char) { if s.is_null() { println!(""); @@ -24,7 +24,7 @@ pub extern "C" fn rust_mylib_println(s: *const c_char) { } } -#[unsafe(no_mangle)] +#[no_mangle] pub extern "C" fn rust_mylib_add(a: usize, b: usize) -> usize { a + b -} \ No newline at end of file +} From 6178907fe0a18faed280795ee02a5bc88a576513 Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Tue, 9 Dec 2025 12:00:48 +0800 Subject: [PATCH 14/20] [finsh][cmd] add 'console' command to config console Signed-off-by: GuEe-GUI <2991707448@qq.com> --- .../applications/console.c | 27 --------- components/finsh/cmd.c | 56 +++++++++++++++++++ 2 files changed, 56 insertions(+), 27 deletions(-) diff --git a/bsp/qemu-virt64-aarch64/applications/console.c b/bsp/qemu-virt64-aarch64/applications/console.c index b69b9b3b978..3f8be481891 100644 --- a/bsp/qemu-virt64-aarch64/applications/console.c +++ b/bsp/qemu-virt64-aarch64/applications/console.c @@ -31,30 +31,3 @@ static int console_init() return status; } INIT_ENV_EXPORT(console_init); - -static int console(int argc, char **argv) -{ - rt_err_t result = RT_EOK; - - if (argc > 1) - { - if (!rt_strcmp(argv[1], "set")) - { - rt_kprintf("console change to %s\n", argv[2]); - rt_console_set_device(argv[2]); - } - else - { - rt_kprintf("Unknown command. Please enter 'console' for help\n"); - result = -RT_ERROR; - } - } - else - { - rt_kprintf("Usage: \n"); - rt_kprintf("console set - change console by name\n"); - result = -RT_ERROR; - } - return result; -} -MSH_CMD_EXPORT(console, set console name); diff --git a/components/finsh/cmd.c b/components/finsh/cmd.c index c88895d6eea..48bbfc833aa 100644 --- a/components/finsh/cmd.c +++ b/components/finsh/cmd.c @@ -32,6 +32,7 @@ * 2022-07-02 Stanley Lwin add list command * 2023-09-15 xqyjlj perf rt_hw_interrupt_disable/enable * 2024-02-09 Bernard fix the version command + * 2023-02-25 GuEe-GUI add console */ #include @@ -60,6 +61,61 @@ static long version(void) } MSH_CMD_EXPORT(version, show RT-Thread version information); +#if defined(RT_USING_DEVICE) && defined(RT_USING_CONSOLE) +#if !defined(RT_USING_POSIX) && defined(RT_USING_POSIX_STDIO) +#include +#endif + +static int console(int argc, char **argv) +{ + if (argc > 1) + { + if (!rt_strcmp(argv[1], "set")) + { + if (argc < 3) + { + goto _help; + } + + rt_kprintf("console change to %s\n", argv[2]); + rt_console_set_device(argv[2]); + +#ifdef RT_USING_POSIX + { + rt_device_t dev = rt_device_find(argv[2]); + + if (dev != RT_NULL) + { + console_set_iodev(dev); + } + } +#elif !defined(RT_USING_POSIX_STDIO) + finsh_set_device(argv[2]); +#else + rt_posix_stdio_init(); +#endif /* RT_USING_POSIX */ + } + else + { + goto _help; + } + } + else + { + goto _help; + } + + return RT_EOK; + +_help: + rt_kprintf("Usage: \n"); + rt_kprintf("console set - change console by name\n"); + + return -RT_ERROR; +} +MSH_CMD_EXPORT(console, console setting); +#endif /* RT_USING_DEVICE && RT_USING_CONSOLE */ + rt_inline void object_split(int len) { while (len--) rt_kprintf("-"); From 3daf62e800f41d1d21c30d227e1629c358bb0f5f Mon Sep 17 00:00:00 2001 From: Yaochenger <1516081466@qq.com> Date: Wed, 9 Jul 2025 15:33:48 +0800 Subject: [PATCH 15/20] [add] add gd32w553h-eval bsp --- .github/ALL_BSP_COMPILE.json | 3 +- bsp/gd32/risc-v/gd32vw553h-eval/.config | 1428 +++++++++++++++++ bsp/gd32/risc-v/gd32vw553h-eval/Kconfig | 12 + bsp/gd32/risc-v/gd32vw553h-eval/README.md | 181 +++ bsp/gd32/risc-v/gd32vw553h-eval/SConscript | 16 + bsp/gd32/risc-v/gd32vw553h-eval/SConstruct | 71 + .../gd32vw553h-eval/applications/SConscript | 11 + .../gd32vw553h-eval/applications/main.c | 35 + bsp/gd32/risc-v/gd32vw553h-eval/board/Kconfig | 90 ++ .../risc-v/gd32vw553h-eval/board/SConscript | 27 + bsp/gd32/risc-v/gd32vw553h-eval/board/board.c | 71 + bsp/gd32/risc-v/gd32vw553h-eval/board/board.h | 24 + .../gd32vw553h-eval/board/gd32vw55x_libopt.h | 63 + .../board/linker_scripts/link.lds | 200 +++ .../risc-v/gd32vw553h-eval/board/trap_gcc.S | 45 + .../risc-v/gd32vw553h-eval/figures/board.png | Bin 0 -> 1011893 bytes .../risc-v/gd32vw553h-eval/figures/env.png | Bin 0 -> 13234 bytes .../gd32vw553h-eval/figures/programmer.png | Bin 0 -> 55778 bytes .../risc-v/gd32vw553h-eval/openocd_gdlink.cfg | 42 + bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.h | 417 +++++ bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py | 73 + bsp/gd32/risc-v/libraries/Kconfig | 6 + .../risc-v/libraries/gd32_drivers/drv_gpio.c | 71 +- .../risc-v/libraries/gd32_drivers/drv_gpio.h | 16 +- .../risc-v/libraries/gd32_drivers/drv_usart.c | 73 +- .../risc-v/libraries/gd32_drivers/drv_usart.h | 23 +- 26 files changed, 2946 insertions(+), 52 deletions(-) create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/.config create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/Kconfig create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/README.md create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/SConscript create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/SConstruct create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/applications/SConscript create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/applications/main.c create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/board/Kconfig create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/board/board.c create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/board/board.h create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/board/gd32vw55x_libopt.h create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/board/linker_scripts/link.lds create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/board/trap_gcc.S create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/figures/board.png create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/figures/env.png create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/figures/programmer.png create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/openocd_gdlink.cfg create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.h create mode 100644 bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py diff --git a/.github/ALL_BSP_COMPILE.json b/.github/ALL_BSP_COMPILE.json index f2703450484..3dae5e30fca 100644 --- a/.github/ALL_BSP_COMPILE.json +++ b/.github/ALL_BSP_COMPILE.json @@ -398,7 +398,8 @@ "k210", "wch/risc-v/ch32v208w-r0", "wch/risc-v/ch32v307v-r1", - "wch/risc-v/yd-ch32v307vct6" + "wch/risc-v/yd-ch32v307vct6", + "gd32/risc-v/gd32vw553h-eval" ] }, { diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/.config b/bsp/gd32/risc-v/gd32vw553h-eval/.config new file mode 100644 index 00000000000..d0575487ef0 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/.config @@ -0,0 +1,1428 @@ + +# +# RT-Thread Kernel +# + +# +# klibc options +# + +# +# rt_vsnprintf options +# +# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set +# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set +# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set +# end of rt_vsnprintf options + +# +# rt_vsscanf options +# +# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set +# end of rt_vsscanf options + +# +# rt_memset options +# +# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set +# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set +# end of rt_memset options + +# +# rt_memcpy options +# +# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set +# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set +# end of rt_memcpy options + +# +# rt_memmove options +# +# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set +# end of rt_memmove options + +# +# rt_memcmp options +# +# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set +# end of rt_memcmp options + +# +# rt_strstr options +# +# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set +# end of rt_strstr options + +# +# rt_strcasecmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set +# end of rt_strcasecmp options + +# +# rt_strncpy options +# +# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set +# end of rt_strncpy options + +# +# rt_strcpy options +# +# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set +# end of rt_strcpy options + +# +# rt_strncmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set +# end of rt_strncmp options + +# +# rt_strcmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set +# end of rt_strcmp options + +# +# rt_strlen options +# +# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set +# end of rt_strlen options + +# +# rt_strnlen options +# +# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set +# end of rt_strnlen options + +# CONFIG_RT_UTEST_TC_USING_KLIBC is not set +# end of klibc options + +CONFIG_RT_NAME_MAX=8 +# CONFIG_RT_USING_ARCH_DATA_TYPE is not set +# CONFIG_RT_USING_NANO is not set +# CONFIG_RT_USING_AMP is not set +# CONFIG_RT_USING_SMP is not set +CONFIG_RT_CPUS_NR=1 +CONFIG_RT_ALIGN_SIZE=8 +# CONFIG_RT_THREAD_PRIORITY_8 is not set +CONFIG_RT_THREAD_PRIORITY_32=y +# CONFIG_RT_THREAD_PRIORITY_256 is not set +CONFIG_RT_THREAD_PRIORITY_MAX=32 +CONFIG_RT_TICK_PER_SECOND=1000 +CONFIG_RT_USING_OVERFLOW_CHECK=y +CONFIG_RT_USING_HOOK=y +CONFIG_RT_HOOK_USING_FUNC_PTR=y +# CONFIG_RT_USING_HOOKLIST is not set +CONFIG_RT_USING_IDLE_HOOK=y +CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 +CONFIG_IDLE_THREAD_STACK_SIZE=1024 +CONFIG_RT_USING_TIMER_SOFT=y +CONFIG_RT_TIMER_THREAD_PRIO=4 +CONFIG_RT_TIMER_THREAD_STACK_SIZE=1024 +# CONFIG_RT_USING_TIMER_ALL_SOFT is not set +# CONFIG_RT_USING_CPU_USAGE_TRACER is not set + +# +# kservice options +# +# CONFIG_RT_USING_TINY_FFS is not set +# end of kservice options + +# CONFIG_RT_USING_DEBUG is not set +# CONFIG_RT_USING_CI_ACTION is not set + +# +# Inter-Thread communication +# +CONFIG_RT_USING_SEMAPHORE=y +CONFIG_RT_USING_MUTEX=y +CONFIG_RT_USING_EVENT=y +CONFIG_RT_USING_MAILBOX=y +CONFIG_RT_USING_MESSAGEQUEUE=y +# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set +# CONFIG_RT_USING_SIGNALS is not set +# end of Inter-Thread communication + +# +# Memory Management +# +CONFIG_RT_USING_MEMPOOL=y +CONFIG_RT_USING_SMALL_MEM=y +# CONFIG_RT_USING_SLAB is not set +# CONFIG_RT_USING_MEMHEAP is not set +CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y +# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set +# CONFIG_RT_USING_SLAB_AS_HEAP is not set +# CONFIG_RT_USING_USERHEAP is not set +# CONFIG_RT_USING_NOHEAP is not set +# CONFIG_RT_USING_MEMTRACE is not set +# CONFIG_RT_USING_HEAP_ISR is not set +CONFIG_RT_USING_HEAP=y +# end of Memory Management + +CONFIG_RT_USING_DEVICE=y +# CONFIG_RT_USING_DEVICE_OPS is not set +# CONFIG_RT_USING_INTERRUPT_INFO is not set +# CONFIG_RT_USING_THREADSAFE_PRINTF is not set +CONFIG_RT_USING_CONSOLE=y +CONFIG_RT_CONSOLEBUF_SIZE=128 +CONFIG_RT_CONSOLE_DEVICE_NAME="uart0" +CONFIG_RT_VER_NUM=0x50201 +# CONFIG_RT_USING_STDC_ATOMIC is not set +CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32 +# end of RT-Thread Kernel + +CONFIG_RT_USING_HW_ATOMIC=y + +# +# RT-Thread Components +# +CONFIG_RT_USING_COMPONENTS_INIT=y +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=4096 +CONFIG_RT_MAIN_THREAD_PRIORITY=10 +# CONFIG_RT_USING_LEGACY is not set +CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y +CONFIG_FINSH_USING_MSH=y +CONFIG_FINSH_THREAD_NAME="tshell" +CONFIG_FINSH_THREAD_PRIORITY=20 +CONFIG_FINSH_THREAD_STACK_SIZE=4096 +CONFIG_FINSH_USING_HISTORY=y +CONFIG_FINSH_HISTORY_LINES=5 +CONFIG_FINSH_USING_SYMTAB=y +CONFIG_FINSH_CMD_SIZE=80 +CONFIG_MSH_USING_BUILT_IN_COMMANDS=y +CONFIG_FINSH_USING_DESCRIPTION=y +# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set +# CONFIG_FINSH_USING_AUTH is not set +CONFIG_FINSH_ARG_MAX=10 +CONFIG_FINSH_USING_OPTION_COMPLETION=y + +# +# DFS: device virtual file system +# +# CONFIG_RT_USING_DFS is not set +# end of DFS: device virtual file system + +# CONFIG_RT_USING_FAL is not set + +# +# Device Drivers +# +# CONFIG_RT_USING_DM is not set +# CONFIG_RT_USING_DEV_BUS is not set +CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_UNAMED_PIPE_NUMBER=64 +# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set +CONFIG_RT_USING_SERIAL=y +CONFIG_RT_USING_SERIAL_V1=y +# CONFIG_RT_USING_SERIAL_V2 is not set +CONFIG_RT_SERIAL_USING_DMA=y +CONFIG_RT_SERIAL_RB_BUFSZ=64 +# CONFIG_RT_USING_SERIAL_BYPASS is not set +# CONFIG_RT_USING_CAN is not set +# CONFIG_RT_USING_CPUTIME is not set +# CONFIG_RT_USING_I2C is not set +# CONFIG_RT_USING_PHY is not set +# CONFIG_RT_USING_PHY_V2 is not set +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +# CONFIG_RT_USING_NULL is not set +# CONFIG_RT_USING_ZERO is not set +# CONFIG_RT_USING_RANDOM is not set +# CONFIG_RT_USING_PWM is not set +# CONFIG_RT_USING_PULSE_ENCODER is not set +# CONFIG_RT_USING_INPUT_CAPTURE is not set +# CONFIG_RT_USING_MTD_NOR is not set +# CONFIG_RT_USING_MTD_NAND is not set +# CONFIG_RT_USING_PM is not set +# CONFIG_RT_USING_RTC is not set +# CONFIG_RT_USING_SDIO is not set +# CONFIG_RT_USING_SPI is not set +# CONFIG_RT_USING_WDT is not set +# CONFIG_RT_USING_AUDIO is not set +# CONFIG_RT_USING_SENSOR is not set +# CONFIG_RT_USING_TOUCH is not set +# CONFIG_RT_USING_LCD is not set +# CONFIG_RT_USING_HWCRYPTO is not set +# CONFIG_RT_USING_WIFI is not set +# CONFIG_RT_USING_BLK is not set +# CONFIG_RT_USING_VIRTIO is not set +CONFIG_RT_USING_PIN=y +# CONFIG_RT_USING_KTIME is not set +# CONFIG_RT_USING_HWTIMER is not set +# CONFIG_RT_USING_CHERRYUSB is not set +# end of Device Drivers + +# +# C/C++ and POSIX layer +# + +# +# ISO-ANSI C layer +# + +# +# Timezone and Daylight Saving Time +# +# CONFIG_RT_LIBC_USING_FULL_TZ_DST is not set +CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y +CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8 +CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0 +CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0 +# end of Timezone and Daylight Saving Time +# end of ISO-ANSI C layer + +# +# POSIX (Portable Operating System Interface) layer +# +# CONFIG_RT_USING_POSIX_FS is not set +# CONFIG_RT_USING_POSIX_DELAY is not set +# CONFIG_RT_USING_POSIX_CLOCK is not set +# CONFIG_RT_USING_POSIX_TIMER is not set +# CONFIG_RT_USING_PTHREADS is not set +# CONFIG_RT_USING_MODULE is not set + +# +# Interprocess Communication (IPC) +# +# CONFIG_RT_USING_POSIX_PIPE is not set +# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set +# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set + +# +# Socket is in the 'Network' category +# +# end of Interprocess Communication (IPC) +# end of POSIX (Portable Operating System Interface) layer + +# CONFIG_RT_USING_CPLUSPLUS is not set +# end of C/C++ and POSIX layer + +# +# Network +# +# CONFIG_RT_USING_SAL is not set +# CONFIG_RT_USING_NETDEV is not set +# CONFIG_RT_USING_LWIP is not set +# CONFIG_RT_USING_AT is not set +# end of Network + +# +# Memory protection +# +# CONFIG_RT_USING_MEM_PROTECTION is not set +# CONFIG_RT_USING_HW_STACK_GUARD is not set +# end of Memory protection + +# +# Utilities +# +# CONFIG_RT_USING_RYM is not set +# CONFIG_RT_USING_ULOG is not set +# CONFIG_RT_USING_UTEST is not set +# CONFIG_RT_USING_VAR_EXPORT is not set +# CONFIG_RT_USING_RESOURCE_ID is not set +# CONFIG_RT_USING_ADT is not set +# CONFIG_RT_USING_RT_LINK is not set +# end of Utilities + +# CONFIG_RT_USING_VBUS is not set + +# +# Using USB legacy version +# +# CONFIG_RT_USING_USB_HOST is not set +# CONFIG_RT_USING_USB_DEVICE is not set +# end of Using USB legacy version + +# CONFIG_RT_USING_FDT is not set +# end of RT-Thread Components + +# +# RT-Thread Utestcases +# +# CONFIG_RT_USING_UTESTCASES is not set +# end of RT-Thread Utestcases + +# +# RT-Thread online packages +# + +# +# IoT - internet of things +# +# CONFIG_PKG_USING_LORAWAN_DRIVER is not set +# CONFIG_PKG_USING_PAHOMQTT is not set +# CONFIG_PKG_USING_UMQTT is not set +# CONFIG_PKG_USING_WEBCLIENT is not set +# CONFIG_PKG_USING_WEBNET is not set +# CONFIG_PKG_USING_MONGOOSE is not set +# CONFIG_PKG_USING_MYMQTT is not set +# CONFIG_PKG_USING_KAWAII_MQTT is not set +# CONFIG_PKG_USING_BC28_MQTT is not set +# CONFIG_PKG_USING_WEBTERMINAL is not set +# CONFIG_PKG_USING_FREEMODBUS is not set +# CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set +# CONFIG_PKG_USING_ESP_HOSTED is not set + +# +# Wi-Fi +# + +# +# Marvell WiFi +# +# CONFIG_PKG_USING_WLANMARVELL is not set +# end of Marvell WiFi + +# +# Wiced WiFi +# +# CONFIG_PKG_USING_WLAN_WICED is not set +# end of Wiced WiFi + +# CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi +# end of Wi-Fi + +# CONFIG_PKG_USING_COAP is not set +# CONFIG_PKG_USING_NOPOLL is not set +# CONFIG_PKG_USING_NETUTILS is not set +# CONFIG_PKG_USING_CMUX is not set +# CONFIG_PKG_USING_PPP_DEVICE is not set +# CONFIG_PKG_USING_AT_DEVICE is not set +# CONFIG_PKG_USING_ATSRV_SOCKET is not set +# CONFIG_PKG_USING_WIZNET is not set +# CONFIG_PKG_USING_ZB_COORDINATOR is not set + +# +# IoT Cloud +# +# CONFIG_PKG_USING_ONENET is not set +# CONFIG_PKG_USING_GAGENT_CLOUD is not set +# CONFIG_PKG_USING_ALI_IOTKIT is not set +# CONFIG_PKG_USING_AZURE is not set +# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set +# CONFIG_PKG_USING_JIOT-C-SDK is not set +# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set +# CONFIG_PKG_USING_JOYLINK is not set +# CONFIG_PKG_USING_IOTSHARP_SDK is not set +# end of IoT Cloud + +# CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set +# CONFIG_PKG_USING_OTA_DOWNLOADER is not set +# CONFIG_PKG_USING_IPMSG is not set +# CONFIG_PKG_USING_LSSDP is not set +# CONFIG_PKG_USING_AIRKISS_OPEN is not set +# CONFIG_PKG_USING_LIBRWS is not set +# CONFIG_PKG_USING_TCPSERVER is not set +# CONFIG_PKG_USING_PROTOBUF_C is not set +# CONFIG_PKG_USING_DLT645 is not set +# CONFIG_PKG_USING_QXWZ is not set +# CONFIG_PKG_USING_SMTP_CLIENT is not set +# CONFIG_PKG_USING_ABUP_FOTA is not set +# CONFIG_PKG_USING_LIBCURL2RTT is not set +# CONFIG_PKG_USING_CAPNP is not set +# CONFIG_PKG_USING_AGILE_TELNET is not set +# CONFIG_PKG_USING_NMEALIB is not set +# CONFIG_PKG_USING_PDULIB is not set +# CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set +# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set +# CONFIG_PKG_USING_WAYZ_IOTKIT is not set +# CONFIG_PKG_USING_MAVLINK is not set +# CONFIG_PKG_USING_BSAL is not set +# CONFIG_PKG_USING_AGILE_MODBUS is not set +# CONFIG_PKG_USING_AGILE_FTP is not set +# CONFIG_PKG_USING_EMBEDDEDPROTO is not set +# CONFIG_PKG_USING_RT_LINK_HW is not set +# CONFIG_PKG_USING_RYANMQTT is not set +# CONFIG_PKG_USING_RYANW5500 is not set +# CONFIG_PKG_USING_LORA_PKT_FWD is not set +# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set +# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set +# CONFIG_PKG_USING_HM is not set +# CONFIG_PKG_USING_SMALL_MODBUS is not set +# CONFIG_PKG_USING_NET_SERVER is not set +# CONFIG_PKG_USING_ZFTP is not set +# CONFIG_PKG_USING_WOL is not set +# CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set +# CONFIG_PKG_USING_PNET is not set +# CONFIG_PKG_USING_OPENER is not set +# CONFIG_PKG_USING_FREEMQTT is not set +# end of IoT - internet of things + +# +# security packages +# +# CONFIG_PKG_USING_MBEDTLS is not set +# CONFIG_PKG_USING_LIBSODIUM is not set +# CONFIG_PKG_USING_LIBHYDROGEN is not set +# CONFIG_PKG_USING_TINYCRYPT is not set +# CONFIG_PKG_USING_TFM is not set +# CONFIG_PKG_USING_YD_CRYPTO is not set +# end of security packages + +# +# language packages +# + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set +# CONFIG_PKG_USING_PARSON is not set +# CONFIG_PKG_USING_RYAN_JSON is not set +# end of JSON: JavaScript Object Notation, a lightweight data-interchange format + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set +# end of XML: Extensible Markup Language + +# CONFIG_PKG_USING_LUATOS_SOC is not set +# CONFIG_PKG_USING_LUA is not set +# CONFIG_PKG_USING_JERRYSCRIPT is not set +# CONFIG_PKG_USING_MICROPYTHON is not set +# CONFIG_PKG_USING_PIKASCRIPT is not set +# CONFIG_PKG_USING_RTT_RUST is not set +# end of language packages + +# +# multimedia packages +# + +# +# LVGL: powerful and easy-to-use embedded GUI library +# +# CONFIG_PKG_USING_LVGL is not set +# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set +# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set +# end of LVGL: powerful and easy-to-use embedded GUI library + +# +# u8g2: a monochrome graphic library +# +# CONFIG_PKG_USING_U8G2_OFFICIAL is not set +# CONFIG_PKG_USING_U8G2 is not set +# end of u8g2: a monochrome graphic library + +# CONFIG_PKG_USING_OPENMV is not set +# CONFIG_PKG_USING_MUPDF is not set +# CONFIG_PKG_USING_STEMWIN is not set +# CONFIG_PKG_USING_WAVPLAYER is not set +# CONFIG_PKG_USING_TJPGD is not set +# CONFIG_PKG_USING_PDFGEN is not set +# CONFIG_PKG_USING_HELIX is not set +# CONFIG_PKG_USING_AZUREGUIX is not set +# CONFIG_PKG_USING_TOUCHGFX2RTT is not set +# CONFIG_PKG_USING_NUEMWIN is not set +# CONFIG_PKG_USING_MP3PLAYER is not set +# CONFIG_PKG_USING_TINYJPEG is not set +# CONFIG_PKG_USING_UGUI is not set +# CONFIG_PKG_USING_MCURSES is not set +# CONFIG_PKG_USING_TERMBOX is not set +# CONFIG_PKG_USING_VT100 is not set +# CONFIG_PKG_USING_QRCODE is not set +# CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_3GPP_AMRNB is not set +# end of multimedia packages + +# +# tools packages +# +# CONFIG_PKG_USING_CMBACKTRACE is not set +# CONFIG_PKG_USING_MCOREDUMP is not set +# CONFIG_PKG_USING_EASYFLASH is not set +# CONFIG_PKG_USING_EASYLOGGER is not set +# CONFIG_PKG_USING_SYSTEMVIEW is not set +# CONFIG_PKG_USING_SEGGER_RTT is not set +# CONFIG_PKG_USING_RTT_AUTO_EXE_CMD is not set +# CONFIG_PKG_USING_RDB is not set +# CONFIG_PKG_USING_ULOG_EASYFLASH is not set +# CONFIG_PKG_USING_LOGMGR is not set +# CONFIG_PKG_USING_ADBD is not set +# CONFIG_PKG_USING_COREMARK is not set +# CONFIG_PKG_USING_DHRYSTONE is not set +# CONFIG_PKG_USING_MEMORYPERF is not set +# CONFIG_PKG_USING_NR_MICRO_SHELL is not set +# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set +# CONFIG_PKG_USING_LUNAR_CALENDAR is not set +# CONFIG_PKG_USING_BS8116A is not set +# CONFIG_PKG_USING_GPS_RMC is not set +# CONFIG_PKG_USING_URLENCODE is not set +# CONFIG_PKG_USING_UMCN is not set +# CONFIG_PKG_USING_LWRB2RTT is not set +# CONFIG_PKG_USING_CPU_USAGE is not set +# CONFIG_PKG_USING_GBK2UTF8 is not set +# CONFIG_PKG_USING_VCONSOLE is not set +# CONFIG_PKG_USING_KDB is not set +# CONFIG_PKG_USING_WAMR is not set +# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set +# CONFIG_PKG_USING_LWLOG is not set +# CONFIG_PKG_USING_ANV_TRACE is not set +# CONFIG_PKG_USING_ANV_MEMLEAK is not set +# CONFIG_PKG_USING_ANV_TESTSUIT is not set +# CONFIG_PKG_USING_ANV_BENCH is not set +# CONFIG_PKG_USING_DEVMEM is not set +# CONFIG_PKG_USING_REGEX is not set +# CONFIG_PKG_USING_MEM_SANDBOX is not set +# CONFIG_PKG_USING_SOLAR_TERMS is not set +# CONFIG_PKG_USING_GAN_ZHI is not set +# CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set +# CONFIG_PKG_USING_HASH_MATCH is not set +# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set +# CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set +# CONFIG_PKG_USING_RVBACKTRACE is not set +# CONFIG_PKG_USING_HPATCHLITE is not set +# CONFIG_PKG_USING_THREAD_METRIC is not set +# CONFIG_PKG_USING_UORB is not set +# CONFIG_PKG_USING_RT_TUNNEL is not set +# CONFIG_PKG_USING_VIRTUAL_TERMINAL is not set +# end of tools packages + +# +# system packages +# + +# +# enhanced kernel services +# +# CONFIG_PKG_USING_RT_MEMCPY_CM is not set +# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set +# end of enhanced kernel services + +# CONFIG_PKG_USING_AUNITY is not set + +# +# acceleration: Assembly language or algorithmic acceleration packages +# +# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set +# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set +# CONFIG_PKG_USING_QFPLIB_M3 is not set +# end of acceleration: Assembly language or algorithmic acceleration packages + +# +# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard +# +# CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_NN is not set +# CONFIG_PKG_USING_CMSIS_RTOS1 is not set +# CONFIG_PKG_USING_CMSIS_RTOS2 is not set +# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard + +# +# Micrium: Micrium software products porting for RT-Thread +# +# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set +# CONFIG_PKG_USING_UCOSII_WRAPPER is not set +# CONFIG_PKG_USING_UC_CRC is not set +# CONFIG_PKG_USING_UC_CLK is not set +# CONFIG_PKG_USING_UC_COMMON is not set +# CONFIG_PKG_USING_UC_MODBUS is not set +# end of Micrium: Micrium software products porting for RT-Thread + +# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set +# CONFIG_PKG_USING_CAIRO is not set +# CONFIG_PKG_USING_PIXMAN is not set +# CONFIG_PKG_USING_PARTITION is not set +# CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set +# CONFIG_PKG_USING_FLASHDB is not set +# CONFIG_PKG_USING_SQLITE is not set +# CONFIG_PKG_USING_RTI is not set +# CONFIG_PKG_USING_DFS_YAFFS is not set +# CONFIG_PKG_USING_LITTLEFS is not set +# CONFIG_PKG_USING_DFS_JFFS2 is not set +# CONFIG_PKG_USING_DFS_UFFS is not set +# CONFIG_PKG_USING_LWEXT4 is not set +# CONFIG_PKG_USING_THREAD_POOL is not set +# CONFIG_PKG_USING_ROBOTS is not set +# CONFIG_PKG_USING_EV is not set +# CONFIG_PKG_USING_SYSWATCH is not set +# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set +# CONFIG_PKG_USING_PLCCORE is not set +# CONFIG_PKG_USING_RAMDISK is not set +# CONFIG_PKG_USING_MININI is not set +# CONFIG_PKG_USING_QBOOT is not set +# CONFIG_PKG_USING_PPOOL is not set +# CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set +# CONFIG_PKG_USING_LPM is not set +# CONFIG_PKG_USING_TLSF is not set +# CONFIG_PKG_USING_EVENT_RECORDER is not set +# CONFIG_PKG_USING_ARM_2D is not set +# CONFIG_PKG_USING_MCUBOOT is not set +# CONFIG_PKG_USING_TINYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set +# CONFIG_PKG_USING_TFDB is not set +# CONFIG_PKG_USING_QPC is not set +# CONFIG_PKG_USING_AGILE_UPGRADE is not set +# CONFIG_PKG_USING_FLASH_BLOB is not set +# CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_UART_FRAMEWORK is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_RMP is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set +# CONFIG_PKG_USING_HEARTBEAT is not set +# CONFIG_PKG_USING_MICRO_ROS_RTTHREAD_PACKAGE is not set +# CONFIG_PKG_USING_CHERRYECAT is not set +# end of system packages + +# +# peripheral libraries and drivers +# + +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32F0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F1_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F1_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F2_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F2_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F3_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F3_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F7_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F7_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32G0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32G0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32G4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32G4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H7_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H7_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H7RS_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H7RS_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32U5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32U5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# CONFIG_PKG_USING_STM32WL_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32WL_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32WB_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32MP1_M4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32MP1_M4_CMSIS_DRIVER is not set +# end of STM32 HAL & SDK Drivers + +# +# Infineon HAL Packages +# +# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set +# CONFIG_PKG_USING_INFINEON_CMSIS is not set +# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set +# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set +# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set +# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set +# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set +# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set +# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set +# CONFIG_PKG_USING_INFINEON_USBDEV is not set +# end of Infineon HAL Packages + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_RP2350_SDK is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# CONFIG_PKG_USING_MM32 is not set + +# +# WCH HAL & SDK Drivers +# +# CONFIG_PKG_USING_CH32V20x_SDK is not set +# CONFIG_PKG_USING_CH32V307_SDK is not set +# end of WCH HAL & SDK Drivers + +# +# AT32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_AT32A403A_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A403A_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_CMSIS_DRIVER is not set +# end of AT32 HAL & SDK Drivers + +# +# HC32 DDL Drivers +# +# CONFIG_PKG_USING_HC32F3_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_HC32F3_SERIES_DRIVER is not set +# CONFIG_PKG_USING_HC32F4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_HC32F4_SERIES_DRIVER is not set +# end of HC32 DDL Drivers + +# +# NXP HAL & SDK Drivers +# +# CONFIG_PKG_USING_NXP_MCX_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_NXP_MCX_SERIES_DRIVER is not set +# CONFIG_PKG_USING_NXP_LPC_DRIVER is not set +# CONFIG_PKG_USING_NXP_LPC55S_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMX6SX_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMX6UL_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMXRT_DRIVER is not set +# end of NXP HAL & SDK Drivers + +# +# NUVOTON Drivers +# +# CONFIG_PKG_USING_NUVOTON_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_NUVOTON_SERIES_DRIVER is not set +# CONFIG_PKG_USING_NUVOTON_ARM926_LIB is not set +# end of NUVOTON Drivers + +# +# GD32 Drivers +# +# CONFIG_PKG_USING_GD32_ARM_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_GD32_ARM_SERIES_DRIVER is not set +CONFIG_PKG_USING_GD32_RISCV_SERIES_DRIVER=y +CONFIG_PKG_GD32_RISCV_SERIES_DRIVER_PATH="/packages/peripherals/hal-sdk/gd32/gd32-riscv-series" +CONFIG_PKG_USING_GD32_RISCV_SERIES_DRIVER_LATEST_VERSION=y +CONFIG_PKG_GD32_RISCV_SERIES_DRIVER_VER="latest" +# end of GD32 Drivers + +# +# HPMicro SDK +# +# CONFIG_PKG_USING_HPM_SDK is not set +# end of HPMicro SDK +# end of HAL & SDK Drivers + +# +# sensors drivers +# +# CONFIG_PKG_USING_LSM6DSM is not set +# CONFIG_PKG_USING_LSM6DSL is not set +# CONFIG_PKG_USING_LPS22HB is not set +# CONFIG_PKG_USING_HTS221 is not set +# CONFIG_PKG_USING_LSM303AGR is not set +# CONFIG_PKG_USING_BME280 is not set +# CONFIG_PKG_USING_BME680 is not set +# CONFIG_PKG_USING_BMA400 is not set +# CONFIG_PKG_USING_BMI160_BMX160 is not set +# CONFIG_PKG_USING_SPL0601 is not set +# CONFIG_PKG_USING_MS5805 is not set +# CONFIG_PKG_USING_DA270 is not set +# CONFIG_PKG_USING_DF220 is not set +# CONFIG_PKG_USING_HSHCAL001 is not set +# CONFIG_PKG_USING_BH1750 is not set +# CONFIG_PKG_USING_MPU6XXX is not set +# CONFIG_PKG_USING_AHT10 is not set +# CONFIG_PKG_USING_AP3216C is not set +# CONFIG_PKG_USING_TSL4531 is not set +# CONFIG_PKG_USING_DS18B20 is not set +# CONFIG_PKG_USING_DHT11 is not set +# CONFIG_PKG_USING_DHTXX is not set +# CONFIG_PKG_USING_GY271 is not set +# CONFIG_PKG_USING_GP2Y10 is not set +# CONFIG_PKG_USING_SGP30 is not set +# CONFIG_PKG_USING_HDC1000 is not set +# CONFIG_PKG_USING_BMP180 is not set +# CONFIG_PKG_USING_BMP280 is not set +# CONFIG_PKG_USING_SHTC1 is not set +# CONFIG_PKG_USING_BMI088 is not set +# CONFIG_PKG_USING_HMC5883 is not set +# CONFIG_PKG_USING_MAX6675 is not set +# CONFIG_PKG_USING_MAX31855 is not set +# CONFIG_PKG_USING_TMP1075 is not set +# CONFIG_PKG_USING_SR04 is not set +# CONFIG_PKG_USING_CCS811 is not set +# CONFIG_PKG_USING_PMSXX is not set +# CONFIG_PKG_USING_RT3020 is not set +# CONFIG_PKG_USING_MLX90632 is not set +# CONFIG_PKG_USING_MLX90382 is not set +# CONFIG_PKG_USING_MLX90393 is not set +# CONFIG_PKG_USING_MLX90392 is not set +# CONFIG_PKG_USING_MLX90394 is not set +# CONFIG_PKG_USING_MLX90396 is not set +# CONFIG_PKG_USING_MLX90397 is not set +# CONFIG_PKG_USING_MS5611 is not set +# CONFIG_PKG_USING_MAX31865 is not set +# CONFIG_PKG_USING_VL53L0X is not set +# CONFIG_PKG_USING_INA260 is not set +# CONFIG_PKG_USING_MAX30102 is not set +# CONFIG_PKG_USING_INA226 is not set +# CONFIG_PKG_USING_LIS2DH12 is not set +# CONFIG_PKG_USING_HS300X is not set +# CONFIG_PKG_USING_ZMOD4410 is not set +# CONFIG_PKG_USING_ISL29035 is not set +# CONFIG_PKG_USING_MMC3680KJ is not set +# CONFIG_PKG_USING_QMP6989 is not set +# CONFIG_PKG_USING_BALANCE is not set +# CONFIG_PKG_USING_SHT2X is not set +# CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set +# CONFIG_PKG_USING_AD7746 is not set +# CONFIG_PKG_USING_ADT74XX is not set +# CONFIG_PKG_USING_MAX17048 is not set +# CONFIG_PKG_USING_AS7341 is not set +# CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_ICM20608 is not set +# CONFIG_PKG_USING_PAJ7620 is not set +# CONFIG_PKG_USING_STHS34PF80 is not set +# CONFIG_PKG_USING_P3T1755 is not set +# CONFIG_PKG_USING_QMI8658 is not set +# CONFIG_PKG_USING_ICM20948 is not set +# end of sensors drivers + +# +# touch drivers +# +# CONFIG_PKG_USING_GT9147 is not set +# CONFIG_PKG_USING_GT1151 is not set +# CONFIG_PKG_USING_GT917S is not set +# CONFIG_PKG_USING_GT911 is not set +# CONFIG_PKG_USING_FT6206 is not set +# CONFIG_PKG_USING_FT5426 is not set +# CONFIG_PKG_USING_FT6236 is not set +# CONFIG_PKG_USING_XPT2046_TOUCH is not set +# CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set +# end of touch drivers + +# CONFIG_PKG_USING_REALTEK_AMEBA is not set +# CONFIG_PKG_USING_BUTTON is not set +# CONFIG_PKG_USING_PCF8574 is not set +# CONFIG_PKG_USING_SX12XX is not set +# CONFIG_PKG_USING_SIGNAL_LED is not set +# CONFIG_PKG_USING_LEDBLINK is not set +# CONFIG_PKG_USING_LITTLED is not set +# CONFIG_PKG_USING_LKDGUI is not set +# CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set +# CONFIG_PKG_USING_AGILE_BUTTON is not set +# CONFIG_PKG_USING_AGILE_LED is not set +# CONFIG_PKG_USING_AT24CXX is not set +# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set +# CONFIG_PKG_USING_PCA9685 is not set +# CONFIG_PKG_USING_ILI9341 is not set +# CONFIG_PKG_USING_I2C_TOOLS is not set +# CONFIG_PKG_USING_NRF24L01 is not set +# CONFIG_PKG_USING_RPLIDAR is not set +# CONFIG_PKG_USING_AS608 is not set +# CONFIG_PKG_USING_RC522 is not set +# CONFIG_PKG_USING_WS2812B is not set +# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set +# CONFIG_PKG_USING_MULTI_RTIMER is not set +# CONFIG_PKG_USING_MAX7219 is not set +# CONFIG_PKG_USING_BEEP is not set +# CONFIG_PKG_USING_EASYBLINK is not set +# CONFIG_PKG_USING_PMS_SERIES is not set +# CONFIG_PKG_USING_CAN_YMODEM is not set +# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set +# CONFIG_PKG_USING_QLED is not set +# CONFIG_PKG_USING_AGILE_CONSOLE is not set +# CONFIG_PKG_USING_LD3320 is not set +# CONFIG_PKG_USING_WK2124 is not set +# CONFIG_PKG_USING_LY68L6400 is not set +# CONFIG_PKG_USING_DM9051 is not set +# CONFIG_PKG_USING_SSD1306 is not set +# CONFIG_PKG_USING_QKEY is not set +# CONFIG_PKG_USING_RS485 is not set +# CONFIG_PKG_USING_RS232 is not set +# CONFIG_PKG_USING_NES is not set +# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set +# CONFIG_PKG_USING_VDEVICE is not set +# CONFIG_PKG_USING_SGM706 is not set +# CONFIG_PKG_USING_RDA58XX is not set +# CONFIG_PKG_USING_LIBNFC is not set +# CONFIG_PKG_USING_MFOC is not set +# CONFIG_PKG_USING_TMC51XX is not set +# CONFIG_PKG_USING_TCA9534 is not set +# CONFIG_PKG_USING_KOBUKI is not set +# CONFIG_PKG_USING_ROSSERIAL is not set +# CONFIG_PKG_USING_MICRO_ROS is not set +# CONFIG_PKG_USING_MCP23008 is not set +# CONFIG_PKG_USING_MISAKA_AT24CXX is not set +# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set +# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set +# CONFIG_PKG_USING_SOFT_SERIAL is not set +# CONFIG_PKG_USING_MB85RS16 is not set +# CONFIG_PKG_USING_RFM300 is not set +# CONFIG_PKG_USING_IO_INPUT_FILTER is not set +# CONFIG_PKG_USING_LRF_NV7LIDAR is not set +# CONFIG_PKG_USING_AIP650 is not set +# CONFIG_PKG_USING_FINGERPRINT is not set +# CONFIG_PKG_USING_BT_ECB02C is not set +# CONFIG_PKG_USING_UAT is not set +# CONFIG_PKG_USING_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set +# CONFIG_PKG_USING_BT_MX02 is not set +# CONFIG_PKG_USING_GC9A01 is not set +# CONFIG_PKG_USING_IK485 is not set +# CONFIG_PKG_USING_SERVO is not set +# CONFIG_PKG_USING_SEAN_WS2812B is not set +# CONFIG_PKG_USING_IC74HC165 is not set +# CONFIG_PKG_USING_IST8310 is not set +# CONFIG_PKG_USING_ST7789_SPI is not set +# CONFIG_PKG_USING_SPI_TOOLS is not set +# end of peripheral libraries and drivers + +# +# AI packages +# +# CONFIG_PKG_USING_LIBANN is not set +# CONFIG_PKG_USING_NNOM is not set +# CONFIG_PKG_USING_ONNX_BACKEND is not set +# CONFIG_PKG_USING_ONNX_PARSER is not set +# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set +# CONFIG_PKG_USING_ELAPACK is not set +# CONFIG_PKG_USING_ULAPACK is not set +# CONFIG_PKG_USING_QUEST is not set +# CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set +# CONFIG_PKG_USING_LLMCHAT is not set +# end of AI packages + +# +# Signal Processing and Control Algorithm Packages +# +# CONFIG_PKG_USING_APID is not set +# CONFIG_PKG_USING_FIRE_PID_CURVE is not set +# CONFIG_PKG_USING_QPID is not set +# CONFIG_PKG_USING_UKAL is not set +# CONFIG_PKG_USING_DIGITALCTRL is not set +# CONFIG_PKG_USING_KISSFFT is not set +# end of Signal Processing and Control Algorithm Packages + +# +# miscellaneous packages +# + +# +# project laboratory +# +# end of project laboratory + +# +# samples: kernel and components samples +# +# CONFIG_PKG_USING_KERNEL_SAMPLES is not set +# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set +# CONFIG_PKG_USING_NETWORK_SAMPLES is not set +# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set +# end of samples: kernel and components samples + +# +# entertainment: terminal games and other interesting software packages +# +# CONFIG_PKG_USING_CMATRIX is not set +# CONFIG_PKG_USING_SL is not set +# CONFIG_PKG_USING_CAL is not set +# CONFIG_PKG_USING_ACLOCK is not set +# CONFIG_PKG_USING_THREES is not set +# CONFIG_PKG_USING_2048 is not set +# CONFIG_PKG_USING_SNAKE is not set +# CONFIG_PKG_USING_TETRIS is not set +# CONFIG_PKG_USING_DONUT is not set +# CONFIG_PKG_USING_COWSAY is not set +# CONFIG_PKG_USING_MORSE is not set +# end of entertainment: terminal games and other interesting software packages + +# CONFIG_PKG_USING_LIBCSV is not set +# CONFIG_PKG_USING_OPTPARSE is not set +# CONFIG_PKG_USING_FASTLZ is not set +# CONFIG_PKG_USING_MINILZO is not set +# CONFIG_PKG_USING_QUICKLZ is not set +# CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set +# CONFIG_PKG_USING_MULTIBUTTON is not set +# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set +# CONFIG_PKG_USING_CANFESTIVAL is not set +# CONFIG_PKG_USING_ZLIB is not set +# CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set +# CONFIG_PKG_USING_DSTR is not set +# CONFIG_PKG_USING_TINYFRAME is not set +# CONFIG_PKG_USING_KENDRYTE_DEMO is not set +# CONFIG_PKG_USING_UPACKER is not set +# CONFIG_PKG_USING_UPARAM is not set +# CONFIG_PKG_USING_HELLO is not set +# CONFIG_PKG_USING_VI is not set +# CONFIG_PKG_USING_KI is not set +# CONFIG_PKG_USING_ARMv7M_DWT is not set +# CONFIG_PKG_USING_CRCLIB is not set +# CONFIG_PKG_USING_LIBCRC is not set +# CONFIG_PKG_USING_LWGPS is not set +# CONFIG_PKG_USING_STATE_MACHINE is not set +# CONFIG_PKG_USING_DESIGN_PATTERN is not set +# CONFIG_PKG_USING_CONTROLLER is not set +# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set +# CONFIG_PKG_USING_SLCAN2RTT is not set +# CONFIG_PKG_USING_SOEM is not set +# CONFIG_PKG_USING_QPARAM is not set +# CONFIG_PKG_USING_CorevMCU_CLI is not set +# CONFIG_PKG_USING_DRMP is not set +# end of miscellaneous packages + +# +# Arduino libraries +# +# CONFIG_PKG_USING_RTDUINO is not set + +# +# Projects and Demos +# +# CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_RTDUINO_SENSORFUSION_SHIELD is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set +# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set +# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set +# end of Projects and Demos + +# +# Sensors +# +# CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90614 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS1 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AHTX0 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS0 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP280 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADT7410 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME680 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9808 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4728 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA219 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR390 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL345 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DHT is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9600 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM6DS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO055 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX1704X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMC56X3 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90393 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90395 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ICM20X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DPS310 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTS221 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT4X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT31 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL343 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME280 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS726X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AMG88XX is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2320 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2315 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR329_LTR303 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP3XX is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MS8607 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS2MDL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303DLH_MAG is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LC709203F is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CAP1188 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CCS811 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_NAU7802 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS331 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS2X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS35HW is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303_ACCEL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3DH is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8591 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL3115A2 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPR121 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPRLS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPU6050 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCT2075 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PM25AQI is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_EMC2101 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXAS21002C is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SCD30 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXOS8700 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HMC5883_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP30 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP006 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TLA202X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCS34725 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI7021 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI1145 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP40 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHTC3 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HDC1000 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP117 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSC2007 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2561 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2591_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VCNL4040 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6070 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6075 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML7700 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LIS3DHTR is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_DHT is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL335 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL345 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BME280 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BMP280 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_H3LIS331DL is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MMA7660 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_TSL2561 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_PAJ7620 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_VL53L0X is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ITG3200 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SHT31 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HP20X is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_DRV2605L is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BBM150 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HMC5883L is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LSM303DLH is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_TCS3414CS is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MP503 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BMP085 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HIGHTEMP is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_VEML6070 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SI1145 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SHT35 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_AT42QT1070 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LSM6DS3 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HDC1000 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HM3301 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set +# end of Sensors + +# +# Display +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set +# CONFIG_PKG_USING_SEEED_TM1637 is not set +# end of Display + +# +# Timing +# +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set +# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set +# CONFIG_PKG_USING_ARDUINO_TICKER is not set +# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set +# end of Timing + +# +# Data Processing +# +# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set +# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set +# end of Data Processing + +# +# Data Storage +# + +# +# Communication +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set +# end of Communication + +# +# Device Control +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TPA2016 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DRV2605 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set +# end of Device Control + +# +# Other +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set +# end of Other + +# +# Signal IO +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BUSIO is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCA8418 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP23017 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADS1X15 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AW9523 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set +# end of Signal IO + +# +# Uncategorized +# +# end of Arduino libraries +# end of RT-Thread online packages + +CONFIG_SOC_FAMILY_GD32=y +CONFIG_SOC_GD32VW553H=y + +# +# Hardware Drivers Config +# +CONFIG_SOC_SERIES_GD32VW55x=y + +# +# Onboard Peripheral Drivers +# + +# +# On-chip Peripheral Drivers +# +CONFIG_BSP_USING_GPIO=y +CONFIG_BSP_USING_UART=y +CONFIG_BSP_USING_UART0=y +# CONFIG_BSP_UART0_RX_USING_DMA is not set +# CONFIG_BSP_USING_UART1 is not set +# CONFIG_BSP_USING_UART2 is not set +# CONFIG_BSP_USING_UART3 is not set +# CONFIG_BSP_USING_UART4 is not set +# end of On-chip Peripheral Drivers + +# +# Board extended module Drivers +# +# end of Hardware Drivers Config diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/Kconfig b/bsp/gd32/risc-v/gd32vw553h-eval/Kconfig new file mode 100644 index 00000000000..07edfefc341 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/Kconfig @@ -0,0 +1,12 @@ +mainmenu "RT-Thread Configuration" + +BSP_DIR := . + +RTT_DIR := ../../../.. + +PKGS_DIR := packages + +source "$(RTT_DIR)/Kconfig" +osource "$PKGS_DIR/Kconfig" +rsource "../libraries/Kconfig" +rsource "board/Kconfig" diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/README.md b/bsp/gd32/risc-v/gd32vw553h-eval/README.md new file mode 100644 index 00000000000..53589e4c007 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/README.md @@ -0,0 +1,181 @@ +# GD32VW553H_EVAL 开发板BSP说明 + +## 1 简介 + +GD32VW553H_EVAL是-兆易创新推出的一款GD32VW系列的评估板。开发板外观如下图所示: + +![board](figures/board.png) + +GD32VW553系列双模无线MCU,支持Wi-Fi 6及Bluetooth LE 5.2无线连接,集成了高达4MB Flash及320KB SRAM,另有32KB可配置指令高速缓存(I-Cache),大幅提升了CPU处理效率。不仅具备出色的无线性能,芯片还配置了丰富的通用有线接口,包含3个U(S)ART、2个I2C、1个SPI以及1个四线制QSPI等, 以及多达29个可编程 GPIO 管脚。内置2个32位通用定时器、2个16位通用定时器、4个16位基本定时器、1个PWM高级定时器和1个12位ADC。供电电压1.8V - 3.6V,并提供了85℃ - 105℃宽温选择,以满足工控互联、照明设备以及插座面板等高温场景应用所需。 + +面向实时处理和高效通信需求,GD32VW553系列MCU采用了全新的开源指令集架构RISC-V处理器内核,主频可达160MHz,还配备了高级DSP硬件加速器、双精度浮点单元(FPU)以及指令扩展接口等资源,以出色的微架构设计实现了极佳的能效比,并提供了灵活的可扩展性。 + +## 2 快速上手 + +### 2.1 环境准备 + +#### 2.1.1 工具链 + +首先需要准备BSP编译所需的工具链,[工具链下载链接](https://www.gigadevice.com.cn/product/mcu/mcus-product-selector/gd32vw553hmq6),在该链接下载应用软件选项中的GD32 Embedded Builder。 + +工具链的相对路径如下: + +> GD32EmbeddedBuilder_v1.5.2.30854\Tools\RISC-V Embedded GCC\8.2.0-2.2-20190521-0004\bin + +#### 2.1.2 下载工具 + +GD32VW553可以使用GD官方工具GD32AllInOneProgrammer下载,[GD32AllInOneProgrammer下载链接](https://www.gd32mcu.com/cn/download?kw=GD32+All-In-One+Programmer&lan=cn),编译出的固件可使用该软件下载。 + +#### 2.1.3 RT-Thread ENV工具 + +RT-Thread的BSP可以使用官方env工具编译,env使用请自行学习,[env下载链接](https://www.rt-thread.org/download.html#download-rt-thread-env-tool)。 + +#### 2.2 固件编译 + +使用USB数据线连接板载的GD-Link与串口。 + +在BSP根路径下使用env工具打开BSP,示例如下: + +![board](figures/env.png) + +然后执行pkgs --update命令添加当前BSP所需要的驱动库,示例如下(如果长时间未使用env,可首先 + +行pkgs --upgrade更新软件包的链接索引) + +```powershell +(.venv) RTT@RSH-PC0001 E:\rt-thread\bsp\gd32\risc-v\gd32vw553h-eval +$ pkgs --upgrade +Error message:[Errno 2] No such file or directory: 'E:\\env-windows-v2.0.0\\env-windows\\tools\\bin\\..\\..\\tools\\scripts\\cmds\\.config' +open .config failed +[Use Github server - auto decision based on IP location] +Begin to upgrade env packages. +remote: Enumerating objects: 768, done. +remote: Counting objects: 100% (374/374), done. +remote: Compressing objects: 100% (16/16), done. +Receiving objects: 96% (738/768) +Receiving objects: 100% (768/768), 142.23 KiB | 5.69 MiB/s, done. +Resolving deltas: 100% (462/462), completed with 70 local objects. +From https://github.com/RT-Thread/packages + * branch HEAD -> FETCH_HEAD +==============================> Env packages upgrade done +(.venv) RTT@RSH-PC0001 E:\rt-thread\bsp\gd32\risc-v\gd32vw553h-eval +$ pkgs --update +``` + +接下来需要设置工具链字段,示例如下(使用时将下述路径调整为自己的工具链路径): + +```powershell +(.venv) RTT@RSH-PC0001 E:\rt-thread\bsp\gd32\risc-v\gd32vw553h-eval +$ set RTT_EXEC_PATH=E:\GD32\GD32VW5\GD32EmbeddedBuilder_v1.5.4_Rel\Tools\RISC-V Embedded GCC\8.2.0-2.2-20190521-0004\bin +``` + +接下来执行scons -j128命令编译工程,示例如下: + +```powershell +(.venv) RTT@RSH-PC0001 E:\rt-thread\bsp\gd32\risc-v\gd32vw553h-eval +$ scons -j128 +``` + +成功编译会输出下述日志,并在BSP根路径生成**rtthread.bin**固件,该固件即下文需要烧录的固件。 + +```powershell +LINK rtthread.elf +Memory region Used Size Region Size %age Used + flash: 66388 B 4 MB 1.58% + ram: 288 KB 288 KB 100.00% +riscv-none-embed-objcopy -O binary rtthread.elf rtthread.bin +riscv-none-embed-size rtthread.elf + text data bss dec hex filename + 65152 1200 7612 73964 120ec rtthread.elf +scons: done building targets. +``` + +#### 2.3 固件烧录 + +固件烧录需要使用上述的GD32AllInOneProgrammer软件,烧录说明位于烧录软件下的Doc文件夹,或在线搜索使用方法,下述是烧录的示例: + +![board](figures/programmer.png) + +> 需要注意的是使用上述软件烧录时需要将boot1置为高电平,烧录结束后重新设置为低电平,手动调整板载的boot跳线帽。 + +#### 2.4 运行结果 + +烧录完毕后,使用串口连接自己的串口终端软件,即可通过串口与开发板交互,示例如下: + +```shell + \ | / +- RT - Thread Operating System + / | \ 5.2.1 build Dec 12 2025 14:51:49 + 2006 - 2024 Copyright by RT-Thread team +Hello GD32VW553H +msh > +msh >ps +thread pri status sp stack size max used left tick error tcb addr +-------- --- ------- ---------- ---------- ------ ---------- ------- ---------- +tshell 20 running 0x000002d0 0x00001000 31% 0x00000009 OK 0x20002598 +tidle0 31 ready 0x00000220 0x00000400 53% 0x00000019 OK 0x20000654 +timer 4 suspend 0x00000290 0x00000400 64% 0x00000009 EINTRPT 0x20000ba8 +main 10 suspend 0x00000280 0x00001000 17% 0x00000013 EINTRPT 0x200012b8 +msh > +``` + +#### 2.5 配置工程 + + BSP 默认只开启了 GPIO 和 串口0的功能,如果需使用高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下: + +1. 在 bsp 下打开 env 工具。 +2. 输入`menuconfig`命令配置工程,配置好之后保存退出。 +3. 输入`pkgs --update`命令更新软件包。 +4. 输入`scons `命令重新编译工程。 + +## 3 调试下载(VSCode) + +首先在BSP根目录下执行下述命令,生成VSCode工程所需文件。 + +> scons --target=vs + +在VSCode安装扩展插件Cortex-Debug,版本v1.4.4。 + +完成上述工作后,点击运行和调试选项,创建一个launch.json配置文件,配置文件示例如下: + +```json +{ + "version": "0.2.0", + "configurations": + [ + { + "name": "Cortex Debug", + "cwd": "${workspaceFolder}", + "executable": "${workspaceFolder}/rtthread.elf", + "request": "launch", + "type": "cortex-debug", + "servertype": "openocd", + "serverpath": "E:/GD32/GD32VW5/Tools/GD32EmbeddedBuilder_v1.5.2.30854/Tools/OpenOCD/xpack-openocd-0.11.0-3/bin/openocd", + "configFiles": + [ + "${workspaceFolder}/openocd_gdlink.cfg" + ], + "runToEntryPoint": "main", + "showDevDebugOutput": "raw", + "toolchainPrefix": "E:/GD32/GD32VW5/Tools/GD32EmbeddedBuilder_v1.5.2.30854/Tools/RISC-V Embedded GCC/8.2.0-2.2-20190521-0004/bin/riscv-none-embed" + } + ] +} +``` + +上述文件中的部分字段需要根据用户环境进行修改,格式需与示例一致: + +- "serverpath”:该字段需要改为用户的openocd所在路径,openocd工具位于GD32EmbeddedBuilder工具包中。 +- "toolchainPrefix":该字段需修改为用户的工具链所在路径,工具链位于GD32EmbeddedBuilder工具包中。 + +完成上述配置后即可点击调试选项进行调试,调试时boot管脚均置为低电平即可,调试时同样会进行固件下载。 + +## 4 注意事项 + +- Cortex-Debug插件优先选用v1.4.4版本,高版本可能会出现与GDB版本不匹配的问题。 + +## 联系人信息 + +维护人: + +- [MuChenger](https://github.com/MuChenger), 邮箱:<1516081466@qq.com> \ No newline at end of file diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/SConscript b/bsp/gd32/risc-v/gd32vw553h-eval/SConscript new file mode 100644 index 00000000000..945e23289ad --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/SConscript @@ -0,0 +1,16 @@ +# for module compiling +import os +Import('RTT_ROOT') +from building import * + +cwd = str(Dir('#')) + +objs = [] +list = os.listdir(cwd) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) + +Return('objs') diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/SConstruct b/bsp/gd32/risc-v/gd32vw553h-eval/SConstruct new file mode 100644 index 00000000000..0b74a2510a3 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/SConstruct @@ -0,0 +1,71 @@ +import os +import sys +import rtconfig + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.normpath(os.getcwd() + '/../../../..') + +sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] +try: + from building import * +except: + print('Cannot found RT-Thread root directory, please check RTT_ROOT') + print(RTT_ROOT) + exit(-1) + +def bsp_pkg_check(): + import subprocess + + check_paths = [ + os.path.join("packages", "gd32-riscv-series-latest") + ] + + need_update = not all(os.path.exists(p) for p in check_paths) + + if need_update: + print("\n===============================================================================") + print("Dependency packages missing, please running 'pkgs --update'...") + print("If no packages are fetched, run 'pkgs --upgrade' first, then 'pkgs --update'...") + print("===============================================================================") + exit(1) + +RegisterPreBuildingAction(bsp_pkg_check) + +TARGET = 'rtthread.' + rtconfig.TARGET_EXT + +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) +env['ASCOM'] = env['ASPPCOM'] + +Export('RTT_ROOT') +Export('rtconfig') + +SDK_ROOT = os.path.abspath('./') + +if os.path.exists(SDK_ROOT + '/libraries'): + libraries_path_prefix = SDK_ROOT + '/libraries' +else: + libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries' + +SDK_LIB = libraries_path_prefix +Export('SDK_LIB') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT) + +gd32_library = 'GD32VW55x_Firmware_Library' +rtconfig.BSP_LIBRARY_TYPE = gd32_library + +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'gd32_drivers', 'SConscript'))) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/applications/SConscript b/bsp/gd32/risc-v/gd32vw553h-eval/applications/SConscript new file mode 100644 index 00000000000..ef1c39fd832 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/applications/SConscript @@ -0,0 +1,11 @@ +Import('RTT_ROOT') +Import('rtconfig') +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd, ] + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/applications/main.c b/bsp/gd32/risc-v/gd32vw553h-eval/applications/main.c new file mode 100644 index 00000000000..706c3d03bb6 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/applications/main.c @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-06-04 BruceOu first implementation + * 2025-07-10 WangShun fix for GD32VW553H_EVAL + */ + +#include +#include +#include +#include + +/* LED1 ~ LED3 pin: PA4 PA5 PA6 */ +#define LED1_PIN GET_PIN(A, 4) + +int main(void) +{ + rt_kprintf("Hello GD32VW553H\n"); + /* set LED1 pin mode to output */ + rt_pin_mode(LED1_PIN, PIN_MODE_OUTPUT); + + while (1) + { + rt_pin_write(LED1_PIN, PIN_HIGH); + rt_thread_mdelay(500); + rt_pin_write(LED1_PIN, PIN_LOW); + rt_thread_mdelay(500); + } + + return RT_EOK; +} diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/board/Kconfig b/bsp/gd32/risc-v/gd32vw553h-eval/board/Kconfig new file mode 100644 index 00000000000..6bb5df41373 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/board/Kconfig @@ -0,0 +1,90 @@ +menu "Hardware Drivers Config" + +config SOC_SERIES_GD32VW55x + bool + default y + +config SOC_GD32VW553H + bool + select SOC_SERIES_GD32VW55x + select RT_USING_COMPONENTS_INIT + select RT_USING_USER_MAIN + default y + +menu "Onboard Peripheral Drivers" + +endmenu + +menu "On-chip Peripheral Drivers" + + config BSP_USING_GPIO + bool "Enable GPIO" + select RT_USING_PIN + default n + + menuconfig BSP_USING_UART + bool "Enable UART" + default n + select RT_USING_SERIAL + if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default n + + config BSP_UART0_RX_USING_DMA + bool "Enable UART0 RX DMA" + depends on BSP_USING_UART0 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART1 + bool "Enable UART1" + default n + + config BSP_UART1_RX_USING_DMA + bool "Enable UART1 RX DMA" + depends on BSP_USING_UART1 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART3 + bool "Enable UART3" + default n + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART3 + select RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default n + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 + select RT_SERIAL_USING_DMA + default n + endif + + source "$(BSP_DIR)/../libraries/gd32_drivers/Kconfig" + +endmenu + +menu "Board extended module Drivers" + +endmenu + +endmenu + diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript b/bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript new file mode 100644 index 00000000000..71fadebe66f --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/board/SConscript @@ -0,0 +1,27 @@ +import os +import rtconfig +from building import * + +Import('SDK_LIB') + +cwd = GetCurrentDir() + +# add general drivers +src = Split(''' +board.c +trap_gcc.S +''') + +path = [cwd] + +# add startup txt path +startup_path_prefix = os.getcwd() + '/../' + +if rtconfig.PLATFORM in ['gcc']: + src += [startup_path_prefix + '/packages/gd32-riscv-series-latest/GD32VW55x/RISCV/env_Eclipse/start.S'] + src += [startup_path_prefix + '/packages/gd32-riscv-series-latest/GD32VW55x/RISCV/env_Eclipse/entry.S'] + +CPPDEFINES = ['GD32VW553H_EVAL'] +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) + +Return('group') diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/board/board.c b/bsp/gd32/risc-v/gd32vw553h-eval/board/board.c new file mode 100644 index 00000000000..7f9307fdb91 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/board/board.c @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-06-04 BruceOu first implementation + */ + +#include +#include +#include +#include "board.h" + +#ifdef RT_USING_SERIAL +#include +#endif + +/* System Tick Configuration */ +void systick_config(void) +{ + SysTimer_SetControlValue(SysTimer_MTIMECTL_CMPCLREN_Msk); + SysTimer_SetCompareValue(((uint32_t) SystemCoreClock / 4) / RT_TICK_PER_SECOND); + __ECLIC_SetTrigIRQ(CLIC_INT_TMR, ECLIC_POSTIVE_EDGE_TRIGGER); + eclic_irq_enable(CLIC_INT_TMR, 0, 0); +} + +void rt_hw_board_init(void) +{ +extern void _init(void); + _init(); + systick_config(); + + /* USART driver initialization is open by default */ +#ifdef RT_USING_SERIAL + rt_hw_usart_init(); +#endif + + /* Set the shell console output device */ +#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE) + rt_console_set_device(RT_CONSOLE_DEVICE_NAME); +#endif + + /* Board underlying hardware initialization */ +#ifdef RT_USING_COMPONENTS_INIT + rt_components_board_init(); +#endif + +#ifdef RT_USING_HEAP + rt_system_heap_init((void *) HEAP_BEGIN, (void *) HEAP_END); +#endif + +} + + void eclic_mtip_handler(void) + { + /* clear value */ + ECLIC_ClearPendingIRQ(CLIC_INT_TMR); + SysTimer_SetLoadValue(0); + + /* enter interrupt */ + rt_interrupt_enter(); + /* tick increase */ + rt_tick_increase(); + + /* leave interrupt */ + rt_interrupt_leave(); + } + +/******************** end of file *******************/ diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/board/board.h b/bsp/gd32/risc-v/gd32vw553h-eval/board/board.h new file mode 100644 index 00000000000..a34e184df76 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/board/board.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2006-2025, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-06-04 BruceOu first implementation + */ + +#ifndef __BOARD__ +#define __BOARD__ +#include "gd32vw55x.h" +#include "drv_gpio.h" +extern void *_end; +extern void *_heap_end; +#define HEAP_BEGIN &_end +#define HEAP_END &_heap_end + +void rt_hw_board_init(void); + +#endif /* __BOARD__ */ + +/******************** end of file *******************/ diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/board/gd32vw55x_libopt.h b/bsp/gd32/risc-v/gd32vw553h-eval/board/gd32vw55x_libopt.h new file mode 100644 index 00000000000..77347a31d13 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/board/gd32vw55x_libopt.h @@ -0,0 +1,63 @@ +/*! + \file gd32vw55x_libopt.h + \brief library optional for gd32vw55x + + \version 2025-02-12, V1.4.0, demo for GD32VW55x +*/ + +/* + Copyright (c) 2024, GigaDevice Semiconductor Inc. + + Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGE. +*/ + +#ifndef GD32VW55X_LIBOPT_H +#define GD32VW55X_LIBOPT_H + +#include "gd32vw55x_adc.h" +#include "gd32vw55x_cau.h" +#include "gd32vw55x_crc.h" +#include "gd32vw55x_dbg.h" +#include "gd32vw55x_dma.h" +#include "gd32vw55x_eclic.h" +#include "gd32vw55x_efuse.h" +#include "gd32vw55x_exti.h" +#include "gd32vw55x_fmc.h" +#include "gd32vw55x_fwdgt.h" +#include "gd32vw55x_gpio.h" +#include "gd32vw55x_hau.h" +#include "gd32vw55x_i2c.h" +#include "gd32vw55x_pkcau.h" +#include "gd32vw55x_pmu.h" +#include "gd32vw55x_qspi.h" +#include "gd32vw55x_rcu.h" +#include "gd32vw55x_rtc.h" +#include "gd32vw55x_spi.h" +#include "gd32vw55x_syscfg.h" +#include "gd32vw55x_timer.h" +#include "gd32vw55x_trng.h" +#include "gd32vw55x_usart.h" +#include "gd32vw55x_wwdgt.h" + +#endif /* GD32VW55X_LIBOPT_H */ diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/board/linker_scripts/link.lds b/bsp/gd32/risc-v/gd32vw553h-eval/board/linker_scripts/link.lds new file mode 100644 index 00000000000..82516919c27 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/board/linker_scripts/link.lds @@ -0,0 +1,200 @@ +OUTPUT_ARCH( "riscv" ) + +ENTRY( _start ) + +MEMORY +{ + /* Run in FLASH */ + flash (rxai!w) : ORIGIN = 0x08000000, LENGTH = 4096k + ram (wxa!ri) : ORIGIN = 0x20000000, LENGTH = 288K + + /* Run in RAM */ +/* flash (rxai!w) : ORIGIN = 0x20000000, LENGTH = 32k + ram (wxa!ri) : ORIGIN = 0x20008000, LENGTH = 256K +*/ +} + + +SECTIONS +{ + __stack_size = DEFINED(__stack_size) ? __stack_size : 4K; + + + .init : + { + KEEP (*(SORT_NONE(.init))) + } >flash AT>flash + + .ilalign : + { + . = ALIGN(4); + PROVIDE( _ilm_lma = . ); + } >flash AT>flash + + .ialign : + { + PROVIDE( _ilm = . ); + } >flash AT>flash + + .text : + { + *(.rodata .rodata.*) + *(.text.unlikely .text.unlikely.*) + *(.text.startup .text.startup.*) + *(.text .text.*) + *(.gnu.linkonce.t.*) + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + . = ALIGN(4); + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + . = ALIGN(4); + + /* section information for modules */ + . = ALIGN(4); + __rtmsymtab_start = .; + KEEP(*(RTMSymTab)) + __rtmsymtab_end = .; + } >flash AT>flash + + .fini : + { + KEEP (*(SORT_NONE(.fini))) + } >flash AT>flash + + . = ALIGN(4); + + PROVIDE (__etext = .); + PROVIDE (_etext = .);/*0x80022c8*/ + PROVIDE (etext = .);/*0x80022c8*/ + PROVIDE( _eilm = . ); + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >flash AT>flash + + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) + KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) + PROVIDE_HIDDEN (__init_array_end = .); + } >flash AT>flash + + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) + KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >flash AT>flash + + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin.o(.ctors)) + KEEP (*crtbegin?.o(.ctors)) + /* We don't want to include the .ctor section from + the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } >flash AT>flash + + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*crtbegin?.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } >flash AT>flash + + . = ALIGN(4); + PROVIDE( _eilm = . ); + + .lalign : + { + . = ALIGN(4); + PROVIDE( _data_lma = . ); + } >flash AT>flash + + .dalign : + { + . = ALIGN(4); + PROVIDE( _data = . ); + } >ram AT>flash + + + .data : + { + *(.rdata) + + *(.gnu.linkonce.r.*) + *(.data .data.*) + *(.gnu.linkonce.d.*) + . = ALIGN(8); + PROVIDE( __global_pointer$ = . + 0x800); + *(.sdata .sdata.*) + *(.gnu.linkonce.s.*) + . = ALIGN(8); + *(.srodata.cst16) + *(.srodata.cst8) + *(.srodata.cst4) + *(.srodata.cst2) + *(.srodata .srodata.*) + } >ram AT>flash + + . = ALIGN(4); + PROVIDE( _edata = . ); + PROVIDE( edata = . ); + + PROVIDE( _fbss = . ); /*0X200052A0 0X200002A0*/ + PROVIDE( __bss_start = . ); + .bss : + { + *(.sbss*) + *(.gnu.linkonce.sb.*) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + } >ram AT>ram + + . = ALIGN(8); + PROVIDE( _end = . ); /*0X2000,0340*/ + PROVIDE( end = . ); + + .stack ORIGIN(ram) + LENGTH(ram) - __stack_size : + { + PROVIDE( _heap_end = . ); + . = __stack_size; + PROVIDE( _sp = . ); + PROVIDE( __rt_rvstack = .); + } >ram AT>ram +} diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/board/trap_gcc.S b/bsp/gd32/risc-v/gd32vw553h-eval/board/trap_gcc.S new file mode 100644 index 00000000000..3e6e070ae44 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/board/trap_gcc.S @@ -0,0 +1,45 @@ +#include "cpuport.h" +#include "riscv_encoding.h" + +.macro SAVE_CSR_CONTEXT + csrrwi x0, CSR_PUSHMCAUSE, 11 + csrrwi x0, CSR_PUSHMEPC, 12 + csrrwi x0, CSR_PUSHMSUBM, 13 +.endm + +.macro RESTORE_CSR_CONTEXT + LOAD x5, 13*REGBYTES(sp) + csrw CSR_MSUBM, x5 + LOAD x5, 12*REGBYTES(sp) + csrw CSR_MEPC, x5 + LOAD x5, 11*REGBYTES(sp) + csrw CSR_MCAUSE, x5 +.endm + +.macro DISABLE_MIE + csrc CSR_MSTATUS, MSTATUS_MIE +.endm + + .globl rt_hw_do_after_save_above + .type rt_hw_do_after_save_above,@function +rt_hw_do_after_save_above: + addi sp, sp, -4 + STORE ra, 0 * REGBYTES(sp) + csrr a0, mcause + csrr a1, mepc + mv a2, sp + + SAVE_CSR_CONTEXT + + csrrw ra, CSR_JALMNXTI, ra + + + DISABLE_MIE + RESTORE_CSR_CONTEXT + + li t0, 0x08 + csrc mstatus, t0 + + LOAD ra, 0 * REGBYTES(sp) + addi sp, sp, 4 + ret diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/figures/board.png b/bsp/gd32/risc-v/gd32vw553h-eval/figures/board.png new file mode 100644 index 0000000000000000000000000000000000000000..39b3dcc0b7d1998d3df2c36c9d369ae22ba123e6 GIT binary patch literal 1011893 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 _dJ4!D{1N^{1(t}!+n?1tLu-XZ+`J_ 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%0A}Dy}nj5$E3h)9r;iz% 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

_ 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

1QnnqkY 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%0D%{Hji0g$l2}@b3462VdZNvE4~4 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

&NWYf=U+D2_b3T9igw2n< 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

0wOtW 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 z∈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≺Oh3$ub_=noR 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

Aq=IT03aiXXyKkCE=A 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

-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%0D`1iJ#T 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

|aKqk)u zhh@TlD8o8X@T_neR~+pbe68dI#wrUG!2P4{w&e;(Y<4iNOiZEpAkUHgBWd@Zdty6> z%8aX6nM~t!a(Y&m;wZ2vPrPkEl|jCP{KQJVtpu;j)B2`V_+I7=`fVsjIvMY}m!@&p zIFe>L8RGZ8@Xa)e_08eko?$->@%pGU+aajCw2W;X$V9^KVHJJ}WyUoAHFWYgqn`~F zV?$eq@(E>>HGwexwO5Yee_}B02d2m9bt!wnllqF7r~h?!Z^7RJybdj&`^IG0!E zrS9E#a-<>5%}X;hYBC^$g=bP{P>v)4%@)a@9FgPwuA)moek6Z2LC8H>cz!YvU%B2f z?uaHA8cE94=>qJ@PyoZC35o=!B&&m(H`Xc6DCMct+ZRF>J|d9`U-zp){tZiZn2-Xi zam=APcEilKHNq0tUSL*)oE8+T)bW$=TcR6))(>q&b5q)@9`?O|pXpNC*LGUlh8xs^ zOdHXDo@;#t5Yxq1o~qA9yOpr$D!=L)-@ut2^?6qpOaWFji13LOFZL)6^ zl{9(0%DCpbDQMcJ`a)^s12-M~$#)&JUF3?nyL7iN2^zt2b~1gPQwZh|+7m+VTeh>` zo|WZa`qf`gf9!M`Ag}Z2kuKRo&99G%n^w*Go!SJtE-B+9FNI&2a1cu>4|jr z!5!(zC*O%se*iw2!~$fDBMT?eorg!$@BpjwRL!k0n(@!iBYPkOGr7-f4Q~aXSU>u! z0<+4N&i2LhtN-~&(!m3qgn;6qjXnF*tXS{aJCp{#-IiWt>p&O6Y&g|K7@wTNI)e7o zks@RRwiYH@>*!BRff>aPtLbmO|88Uj_F#}_>5&KDp85xon;2)b3hCLoHH}XWq+{@97nU>g zj8!w%UFDeVV|%0gq0%BN2k{GkQtlMTPxg1Wp=drt-3L-1NLsIPwu>Fchs3+z@s{-E zuY5Iq>bdWxU88K1VXO3D_bBzkaUnh<9Spp{E4&=dy4j9$sfxGIGQOlK?*6%FNRD)CG$vJ|-BYAnjlA3=9 zTwho{SPak=D25K@=AM|83D9ol<$#}^Jo!>l8R4YF&M2C1)MfdZNH@U1WI>Ny8&hYz zUti>#r8n`-7_5y6elnR+v_q+CV=n)OZHO|jX5vGE3dw-fZHQ`2B1J`EwtGR1}X|1nisoPuZ}+J)#+w&7pEv)v~R~%!HGUmRm*!XyV`oim~6f9$h7J!`eGz5<6{O|tg)g# zYsk4KU=`Hw&Br{f$~PH5+gpb})<%KdiTw)p>D^B~oqpg$KbBs2 z{)H?^lD_a?;dkNro`Hfu%CsqI@^e+-CdiWWm4u~D%5(mWG!zrrZP}VMKLtt! z2Oi4pnzTkV`YThuz{I_2j^1qd|UtJJDCD`~j_eR^=gJu3Ta@iSXXi*$@;a6oqfD-QIU22pRcQBxUpjvo zfeG{4(d`HwOPCbTBEXIzg*jKmOrAr{U4a}N)>OAQz5fT_$Ey8YI)3csbo$IG1PTTG znGnuH*hDzbxH^w()~(RU-=KxHt1524RH@+6b|VP(`wtulq3PPS%ix5mJbS3!6W`^& zTsrotQ>W5rKKl%5u3}*`mrk5KMZKkitDw#aX=&QESe^uJ5JKFJ5Q-EPM%9&hKDUzs zvHSa7wLg6LFhU>mVdkBB%-51297=+>?bN{>nx$bfvXZHB4}l@r^V`neRbh1@l$lnO zbCm|23QAR*8g8A-SR`!eA%0YVb|nE^oZH(nor4=zwLSON)75?p2_*p4l6#Bt3m^oT zCx1MzTyyCo2e+qR`PsjmMz{8*6W{%II(Pb9`s`=Eo_bi>{_YFUhd}&}w>`oN`Nj0L z@0>|f69~Hqb_#i#@Y5*lubxVKcMK!cKNYL=*Dk$8U1rndwM!vL4h;^cj%{t}%GC)L zl{xWXCimT_GwtmPb5=Hqopqr7z;$|ID*fzV`tfw{J%`f7*r{~o5<(z?=`2EPYU@pR z9@!3k=hIc30L&mn4`V{!j_`ir%2XQMg8vNYru7FLMLk@lpGns^!te2i?`36qANaGH zybEg!%IQ`}XGL2JjJd`3bk`lb)0S6Gr)R$OEmo*^!2gUQ;3a;6BlzifZ*FcJI$lj5 zc>2Ng_(N|=*Djn*GgFsB*`*+l<|OsAWntHrZmf(o??=%x0}PHuluxa3?gJ21MgYDm z^ONIaX$Nic*hBYg2%nZ_a0-qkL4Qww+P=3xT|M_aN5vgUKlS53i1KYI{kvzr!7+@x z(=y)W^-UqJDr)7SE_oa}%uHP4ILw~(Fn-hajIyN}D-Ch#>2n*9M_DeUJ-d&jhwuN% zH1dakkUswTucQ&OcBmACU$f&rWiQ_aI!?!VDW{MvqU?M69gn2Dj_k(A!nJhoUHj;t z9gH8GJhBa^j+~_N!2OS;=f3>a^x0>=mbS2JKhJgz1^PI3g)vO?{f;hpl=gH}%>N&* zTNdmkl7owCCk16*+hKm_O86qeyJr^;?O{*-V^5{IZM)J8rbT@;-4a?O8?Vb3ULG@O z0MMcHIJrHT{zG6bO}$*f+#D|!nC8qy70~6^ z@Rs`qKE`ZtnE^xsmwM(6k{fJ4s@kts$gn za;sqLWW{m=9(fD@H(?iqtVp@{H&TcSmy@{?7Xbk;-<5A^XB`Wi@|&|dSr0y_a4}cG zr9f!;HM>^<1Ki95XAgI!AWX4Pbh+p!i}E*0ga4TaEg2pTKke|TB}!!Tzgxm zOvF||vmby86k!TVM#a%d)#}a?6N3fNQl`&&xd)&o`Ya_OXDI+_=_kfm`9=MK6Qf4; zNWD66>NJnwlf#WKmm&GhoGV+^t>ULfstRYHZ3p*?OF!>jlnAfU3YUZlM~G2BkPTtX zg;~O4Zbse2wp@jG4a<1tIIT_M{a|Q?u;tlK&VQ`A?YDs4ZyT$M?jKjM_d0X>Oq{`1zL^=j@-RB9?nzI*_eaydefx;hY}$F?9B0pug&^(< zt*gEE@q$M<5JMo>WLtVkXHA&382I`(zK*B;?dj}U%#5#GNe@5#2>IIC0&qD5{Y7|Y z4zuzu&)g>5mX+@IaO7<2FOIYu57Ca&L*BFQ!5>!N#*-HGE7FG&BKXJs%9whqFmNm& zeF*8?12y7=E&pg*?iFQ-11qq?igfa|+6GCDa)t&X9ZC=8^^3Dp9LvY{BlgVScXUg7 z=;#xX=Vw0rBk6M={{v1XxR8dskr{yZ;Jx>yhweFnEC6g^ff_ig=$Q=XXQL=#Ca#`C zv4J`N*!gsI>>P18C}hRH8+l?YTP22BJ?_;}B{U%<(QxkzQ*0!aKoP_XU zocQhDJIIRfSAcycoj>zRn7S_@6i!Vqq}}@tr@edk1!}_q?>h9f=w(QxPj^1@R zoxgB7ow-0AdWLN!U_w8dFdTi;+6zmV-ealo#1n5z!yP!2JU7Lv^hNv)pu9jKs-wyQ z>fN!mH+5kJ&^7Crz-m5CF^9ZT#>|; zBWY!JjO`PX;E&0FAJ#Fz+;?~zZGJu-d*Kwq{bBqNjHhpL8bT+>gN7s7pr&w9*inb2 zCC84r^p>|AL;*KKyK!0tbbjUKucmDrm$`fQUMz05Vb!xOec{<}roDTH(*1YuNM|li zQ5R2F;B*NX$zgFBx^}d)jheoA!+CVz@%{gGTLgQ>`4H}D5MO%k<4H@LL)t%_diG#$ z^!Vc`?bwOe%R$(S&c;Bau}yfqhwzTa4ipYRaXCgsNPcv9DwpZXRll!?trt$gQBFzc zuY-R!ndHG9Wun@54A3zixX0e}OW8Zci^>;842IT*!j^oA#Fb0V!yfkq5u>a7c;Q5a z321~{NCn~sKP6eC$Qz_Lx}>$(H|%o6cE-2rT7y%mV5Ey_3U@is?=l5h1twzFhUFaf za52cQuX?EWIi?x9Hg7ZT_S^+E){>;EZoPb8m;{%GY%)$05#r3zyy}3>Y)lPil{k3S zq^+5oU~cBF27XPpb>mtKj_TDIqSUuFRfZh&@V3Csnb#B>0VT~kl?Kq)c88R##+bc{Wc{jvICcv(>@0zvsLJeBJgKv$K>V_b!E}$=Ya}T#Lc8#)kh+0&L0?Xi}*kmK4d8E;%^*@H^)rl9mWX3&(c5F?Q-+1ha{R&jaXdX<URo}I1H>;it z=^CcP(Jw@mVkKSh2KQdMzZoM*^E@&XAND&EPNG0_1wQIY<)!Htzw`xGfd>%ac7@}* z^WZ936tKG3BRw#%6&x__-HL!hy~Dg2+PeUyqd?D)9~s$-kdmF(xfMa2+{4_X>Gdot zq$pEV+J#^b-Fpx+$FSfyefkuZ2&Y-)#cF};ASUJ>$ERW;_F=Q%9CC7mBHI)o_?(=> zJ*u2&j&K$j&6XF`babc3al>sJFS%4&w6h}WmWP;^)9-SB15w)CPqy~p*7is6l?Gaw zWaoF4BR$Nt(o-}YGA zzh_U{H`-``O)^JY{XnBO6@W6z&Vf7ZX_Q~-DtU14cfKp_JFq|Pz)Sm?vy*8WOON(W zd@?X}sU)%XJy>{{e*pXy)@LU#V|j2HVYUs0!Nqj!mFM9DtO;m)`@@kt?uY+J(w6N9 z(mNh`Absu&-$-MV@|WJ@wWeT{gSI3`Y1Wnw?%Bab zcA+G=8-couz5njY7(kF7pF&{g2+8nk;tF_tgu6&Tno1AdcK}Q2*)(zOYU*pBO($MC zhZ5~LO0{$88m8_C_p?3Zkw_0`da5@UY)8hksG?l`nFwJlP{`~(&Y5E_dO1ikCm+d~2X=Vuv1e8Sjud%ISkG0#bQ6QEv!@eQ!Hm^M1D#zxyRng6a-xqgK z^VTm{=l$ylDr!dJU_lSvu_x_+;_=jb01$wwh@lOIY%U@w^;>qbw(LJpf%Fw8^6_jxpJQs7WA#yGLVnNXiQp)B0~Im zF$MaR<#0+yP!+ElqX4&wy=m$g8PgI_kF4D{A=Cn|dn;ZUx9cW*Z6iTD+PG22Twhz> zE7u%aIih(%&k|>>FOggi!<(1+;<+B!h+dDLwv+Hov~H$G?ioNI$O?XVk>hP&+gjr{4=yTliRFzi>SquKgAptHpKf`Oukz2CXJ0sTOnt0p3 z;z7bd>fr;`J(tA zg0?LH8h8r6TtRCdn!H_N4BPlxQ{=`;*NqW&)I9)Y8XJ~rZkCNpZ0mu;%d z&9YnbzPhK?oCNm4OhVhZ9-Au**o_L`I7fqjOFhf@1rR4`@vhb<)aX{~5O8v%XM6~VLMj?HvJhAbk9TGz z*b^Vt0Y>w#)EjvS$lT}h^Tb}0ZgFrWm)pEzg;QN-611x#ZgmBsji+XKK`WBkvm8Z4 zD32-LM}Lz>4Ln84Pb7<+PAnDb73kfPx6IO4SPwuCy;OHaIEf;Qf&!UEhmYqes}SiR zt*e+Jcp;>Nv|e64@3hTdQNI3Cty9Tv5nj>VzRhawiSFbhTq1BAG`LfOrVS}(1U2L zu_BGYU_ISmKQ%QOelEnX3t?N6`vvx4t8{qRQ}0Z7+;Io1e*3}{TOr&d>#mK>VnVF5 zt}U^ZW?E-uuN-5g^&+dK1ECDC%s%I~;Ov~yejS!M2vJ*6T+Fh4z@xsx(g6WhM|Wq> zo?-R2FIMu!L(2eHpH&_>=hOk%k^()nU-Ecp%(rJ?mPM3ZD+;Jwp|pVDF+Vjx-h|FJ zLh!$|0~h<7Jmxr`txq5@X^nIB*7nuMMOFsD!?dr;2!)~$g1Ptj>V+9sOtDziY6Ins z+XfWyWghoktK@L&gjNq8E!Nf5pZ4rIoW}8H|I2^#|4fIT_;UKdqxYr{zVm@}H>T(Z z4(!0O9`&HX`*BjZh{=7=kgcoJLCS$HTR2Ii5AW&%KHX(otuR22`OlI@pb)$E)nkAH<}a ztq=5(!QLU9z#+3BkgvGXk0ZHnf9)&eTSx~FA5Ehp?7Q#2m?nU!<*rIKck9UW)Izlj z0{3~0$njWDy?Sv5If7%x^K2_wVe5drI*DT7bD#SJ_${QvM{u^s*sya;Uu+HOpd+hP z@pAMMhe0e@_KfaES-|Qu0`xfE`#ZYeeQ>moy2t$t%As=?&!)$peku(hG*80QZZ**N zLHL0HR~1F=(8K;TfRBTIXnXe5D_BnBX8?Hv?Pq}00R>+a7aAqRbKLDY)-x%n3`AfCDaUCd$$?lw?bVDqcx;7bZ9^s zd~~+qK&DClJTHv!-U{P%!6>E;`~@LXR7J&4z1Y?wRz2Me6IosqwF<`C$4r^c&}VJl z+ZqB2u@ck(+Qdu}Wm@rFL)F_t%TiyvT>UaW53aS0^#mK-7kJI+R=CaZH|B0NewhyR zh8Ub~uCCS~@&`dn-gu~0j^~)f)q-yFHuqKG=DVs@n=Q5mJ~Xd~*#u;_FWINc)x68` zktgCyjOCe;c*DH~Zsv;u#Ykc2=g3LgM!p;z-?{JC5|=nZ7XT$Jeu3hos##O+tpk%M zXR73>XR9!2f#5@}%B^t~&aHtr_Y@#%NaUJJg`mWyfJNWid~!+9yz2MO(3`)r{Pkd! zcCR8^k{Gv9zJkGx;!C>KzbyqBSpv$hVFJ%r@U|0d6_iSTe#IrKT;7GX_hXejZ)vmlDHyV%h-owHsN_?ql_vHd zK1{IW)dExnUXG3ef{yY2C5`nc8<#=C(CJ+;fEA zVi#AH*7`~xKa>m#dB1&l{fAavOPp|oP~jHEPF5dPjJRiBL2>WC1L=2u>tClk?>?ID zx$mCzC!hF4`mqoHR2skm))Z+-grGt}(tu(uSpm$IbA?6~U>*Y({*Ay)!Q1`K{#tL_ zJPW4e*uSyL znn9j$554Vj_UuKJ9eZeJeHg%dz*(T3VFh{xb*4Hb&&1)zy}})=(95gVFL;%3+c)Y< z`rNkUqYi~9<2{9JqvAvJc@+{KjTY(x`<7{=Dhfd0CqO!q^Y=yCR$o{O-I}+@%02Y< z7&!Swv8WB7TG_cFJfY75%)0j;I2d&L{FlF(p8fovrF}bk(uaTa{pr2$es|hF+K0lT zpZfNuDFk@1iZWd3RWH-UR+bB#956X?H4U*U-iyOG;d;V|${O({)*;|3doJ?T0|CY-r!nd}V`va7A)F|BVu#M>+L?!_?AVD%dhI^6$dHeh z<~!K>F$69H(1>U1(~Y9)D$Wdb__}-FogvsCK72TJU8DnBXHCL%%Hu;6o5-DHJ#NJ@jBYfB9jXSXNW~9N}KHCNGaWFhEjFUh31;vfLHaxO3{rQjlboy6GoP4#5-U7+RM2tDKk%wt(P1LHvB5EHcYT4!V+4UaZQq1Kr8$T-C+7!qT6@7 zy5c;qhikNbRcbLGY(YY_tIk+(UK8IEu=$7l;#-aA=JUU{DWOa?iES;XHC&oX!|Pwx zk(5!@jnZxuetpO-v4Dt4MI*4l+=#};m$>?U13-oc;u-alrk1A!Rav5ZCy9o)T;^#8 z#@#B0st@|ow3N~UX44P3U7UCcD8p*p)KO_bT!l^}{I$5Ttol3dwJ78DhS_Z0)g=?N zab!;1NK*Ba8>O!madUh^>VRG4x`}dXMc&%&%^@84ie~h}z;`v$tDo1RXTMZfRv2@Y zGw-XXk0HdYutMqH%GlzjP|D;KiIwu~gU&8;Uv%|8g#HN0Wn{cENkefgQxj;oxtf>} z9t@wMDjG$vY|x?_V|cH3f~Ues97SlJDytKIuSUO#yv-7FB;U1;tRUrFK|!85JD*Tx z1ZK-fYk37Jm!b1LC)QJ}V9!B=1q8;cIP8syY5)L007*naREe5mrFw-4t>(7fJ9n^e zAEAo5mJa!rv?>7REPLH2G5zgerK_9rMsQrG@qRz>^a9?-ul}~6a?r)S$SzvMI2ZL0 z`%;%ow@i^7R+89`QXzg3`rJRRRMUw7Gl2QL^|cPRvw2))--5aN!;e3b{@us^Fr8y1 zaFV^cr_P)TJ(14!CMNajj)FteS@LKx;VSLcfxZw@77;iU^qqq_M!O}_)#KQ&?usPy zvBFoGYckFuU^1ESCXKwHP&Mxv<5)OoPTz}w7+Vj3dGgrFSou{@GM|lZU4%449Te<$ zVP)XHc~@TDLZh(Uj^L<(uFz;Z=Pf4CoN{MTB#cj9!vp?3L9erz5T8R>lFqJ13%`R! zFAF(;X)N_`-HR~R%hAwSBhXUvjEbH7kyipOyGGnQFZEI}AUiAMy8J0zc~GT_j@i5- zEdZ=fen&>JRx|REJcOUDjHYyy61L;w>>Li#y4c6QH53)LgY#hPYJcwHqu_6N@xdUT z(%9cll@AEWu5u3!VXBP-v@y@4js({$?p0wGuU1O55P&_kRqa1aH;xZd6o0(b1#&g$_*njdE@fiCim zG*IZYEyc$(+t1U8wZyVH>)M^Lh0;@^u!ODDmlMC&9=+lchyQ99;p7d@_$-FrQUMpBSbVDO6p<_dp81@A%p7zjI zYK`Pc{d2fqKj!>0v^d(J{G+c3=a&2SA5P0N96QMhzm`XyP_m2d7BeU+uAyw}?i+yj zJJaFAN63Q$j$`k7*zS$44ti{-&D{zETv-$x<^AX*QQD2aO#l6Q-4?;##)!cpUK(Ag z7Y*9px4wm!&`!)N)GE@j^hsN6g?om-Dt*qk9swPQH-8lf=85LJPS!fyl5bV=MtyR) zgMv?tp%y{Ht?r>RIr0 zqExu9$xE6jKcmx#j;yu(_IWSyU3;w?xHj23A<`zpt`)XUx;G|>)^(s?gIY5@4_DX6 zu94lFS5KUm={Zd~!g3sKySleZQXv<*ZujVoH` z_VJ-sh3ZAt3gC5q$|$|gh2DnZZnj-0a{V!5BV0Dqqndex@0yR6*7DSR*eJZ2BHz6} z4YOHn#L4kFu!>CFH6MsIaARoEmrTKp6Gnvs1%T+&g!2e|X>J$++!-dwY=)oVTcrEA z^>7>)Kasq8Ebt=;9tEt22Kvtx;Wh69yw6PrgNh+hO&C+e|}-L!n7 zw2UCh^Xw!zrQi_-`;~>K@@Sga*2ml^R=im`^F$!U<1Cm_CjVA>j>+y66Zdh1sc8h4 z2?Uw8t)r>$z|qvnq*zD9)5Kq6)pwSaV~-4U4{<*$Y+E?8YRkSuVX`}qfPaN^uVlMpk;;wx*LmtcUQ-vvbF22ykVk*W(IR3K;MHX9cft z7zbR1);U&drLnNA)7EX{4&4w*GqxN(*YEErl+R@p2DNg z3XQ@P!@OOGd*;bgtk$o%twF(_PxiwApTLhxZeg`XHjs6T2I3*=Nu7hoO<@AbNLo;l z&w_ucW0;QEhYeEK$^d-Ls$%; zR}jXWb7bN}=>cr-=Me0);kBL+N=tXj>P-iC?N48S@k09D-}oQX5B-&Q;ZtEC-FE=r z1(;@cyDG23!1M@(y_DTg*_SV#C!Dj-5r+GrVFxR^!aZ~5YRwl`T;rK=aKAQ|{Ws)xOljN5martb>&`oImbf?gx1H7J1%%-) z4}j-m-Q*j`7)S}fv;UlZ?OSPc%bKLkS5Qc}?PFvMc)Ai#9!QiPdiddV=`u$@PDywA zVKqM4PPSXL4{bD0V*A%3TwDs|?E5!~8Yy;-JQ~rB8*Q0yf_I8D|Ed|1jqC(!kaCt2qAK&dC7`TONf%MTt#qPbL@A=;!FtO_{j`tP5;}V930}||fGuaxLK?`bsDe;xUEsLFBlMvz zd`oZ=g<~_cf(4^pY?+_|{ZgM8!zfugyXp5AUqQIK(%V7~9R3+ratepGIjaf4#s^w;eX?5obAHbf@s#%W&fL7YsmpF?rDi$Tc& zKa0P)V@cT6d{tX}G#HX=+%R9<42Bb&i(j zl6>`VP=r8%^PgAg95Xh11yY+$oGVYskGx zatCUGA1Mh}u#fYXnVc!ySzZ>Tpc?ar4Axb7`UbG#beaI0Y1$NqGx!k93tAQ(_z>W` zn;*CQIr$Wrqmq}9%o0MaG>c#-sib96DiUSIQ#{16Rs_j~V5TNK@5Mbr0yy&o=R%~4 z3jtVcG?OJb1Z&&YG8dWn#u@HR;HMA_##t>KLvUF^kRLvJPwL&aBaI^reC@=U^xfm9 z(*?{~FJgA8M53V5he_)k9;scayYJ{7tm^f!y0$9~@7|fFE^>qzt8haI_(Ra5m&vVD z9@eR;gL9u;Kj~UQgSi2tEvSmxMvP=b<6e&{76eGZdoKpkn z0CevCzFV*U|L;aO2{6dwtRK+-t5@OHty{Okt-5t9moC?tB9jyQ0d^|~*+p~G-i)v_ z$hWjMz58?H?oF1mnox5r`^|4~$Ox9@x^&7ZpzdLWFL1+*(UsnV~C zyF$hwG*PfuX!aJRuxgLsFnEHq)a(X3VfRk}9+6awz+F)5&z*dC(^VnYfSf!ygK+(O zfoVNi$5UA}F`szAL%&w9>tivZ7h!12wk_#b&if^dl`TjQJa8vF#q8cAEGc|R)VOL6 zoB$ZY`!E)`XCUZ^g9i3|JVWh5g=f@z*)5*V{8(zaGu(y{giU>DrfE0Na90a2;638; z3=eb%Z`n3Tg;10q>ZB@z@WtD3$Cw&VRxz``;n11D{3lSnfDs%^!@-FPIy=$)Yegk} zkfRV@`Pao=;c8e|OP1U8YJoJd3$1}ZcU%WqcpBjDbr;7phAE#%8$#V&p>fD>)YN;h zT`+U@g0%5{Gt;hp$J37P18L#RrSOuAJHVr^ZE4>9?rjO)IB@MX*QUoFeIR||>t9Z{ z-E=(yKUVTFzIe&S8@Tf9f-uOqbjkAc!nS>Jc3zDet=Fs89y`%2(qwHC@4Cl&Jd0k- z&R(9L-~43Sx#iiknjQZZ&V+Z-X8PfekACcfL7TgNaDVFWK1n$|27qk_-txBn%rrDE zbX!NA$K0{*ORH9`O^-jaH@&d=>2&Tov^D626ry+T+?qc9^S{E)3`;Q1w~58MUh2LV z0>VG!UK9^6FPtpjM;i+0Gev*)G-%h#u8o_Hwj-u4`t39AC$AoYFt$U)AoUrL)_ zl(z0U5cMLzYq!9~wgJy_Ku^>+$U}Umrylwj4Gb=w&k=^sJ!#YCXVQx0E8tUh=viFc z#aZ^1tCpr4ZhT8R)OjLp-}@5%4t>rH78k+OM@BvuI_vL``^cn8%xt2cizj52;D6FXqUrlC$nI0 zB}Si3eZhkH@of_-@5;OWnlzvuO(~C8Iw1iH^a>12f4`@~Itu2-QT1wB}b&Qj)&RyFz+`7nOo@vZw;u9EdQyibWYiASw^ z2oDeyoa|qKn>gc9#cF`2zk~S8Az%SaQpG8G;A1Bjlh|4h*8uv*;4G8KT2@t&8_T0t zpd1bn=05}qUeIlLRVLvC&*(5j|5_Y*ZK9s1itDTP0H4HRkgfPNUceH7|JHG1T$32{mL5 z&k-EW!@>_pkHn!!M10ldW869S#?OoF5Zx=9#-%)m=wM%py!+1v# zM%qv-o{8$~fu57;@dqDGo3`yt-R#C4M;KBKeFoP&IVb5SpFV`iVFZ?*<#l|Vkwi|NWEJ>)$XoeUG+*$7h# zpwNPkHi1+Y zb6JBb#8=;Qm zu~4I>_|7A!SF<2<2!n+eT`-#d^}qhD^tPMck{*2E9)$g#bophMri(UgzyRFAbj%g7 zsVtU2EAKgvyntn$*k0_fwEduQ?`y+6(7hlQzOKIRZPfodZbLW{v^>dziFG;*PRdFOwk}3C1KY)tFmi|Og-b6w zi`BTH^oyVQ<@C~~XVM@1r+>?C_Og((F1`HnbnET6rykCopTwGfS6456D_7qk09(IV zD+eB?s+%~@BW+KjMd4ANZJgDA@4K%{H{bHs^auaff54Lce%kj;v=o-4U;WHy(sKHt zum8P5`r4Pji0uQ6 zRnk8VaQx=>TR)X7LAL_CE!D?1RWd?=6B3a_dLFd`|Ih; z&RW8f7w7Dk%%u-`n6|ttwXvYt%}oYB|EZr%H@@{P(7rP*=Q_>JEb5#*!D2!519>cg zsDP*5DZE-H@dV48uV1!>+-KXz`N+SzA~<~BTtBamU~ieF02NQa9D}!1p$o>_21Qs< zsgX>2)St$XAao=EEYV`6o67dAjf104EMOWK1Cos*!-~AZS%(;vH8wk97+#N)Q|DhR z*^V$qUc6Lc((-@E0FRun(rwgWr-{~fp zAYSm9wbhvOL^UyypYV$RM97q|+y;Zr1qFjhQeqVE*YpOMG(7ERB9zA^Hi{4@uN%uI z4>cytIE>|s3?-tCja(%(yyT|WxRRWbN0sbVyrNw)m}jJOo>Bkel~K=71KB|3v~vk| zs>&B7DrIeiD>S|vx{4b7oQ7Z01^p`ils4l*)DjiPD@G_0&*VK0=(x`_f%Hmo1N2y? zsU^u|EESTyjh`2Pa=qFA7WBfE0R~s)6vPum<)8f~`mIHpC~yM5dcG3`p6V5dkM}mu zS9r!n$-MRoX$&SmCu{yGpeYQxa~kJxncDUB@dNkDywNfqVz92rxuCbul>4Au{A@K4Aqjmk^$RPTYNBG0?Eg0K7`R5gPDgo{)i= z!hnXyxkOCcogVRIxb7Tk!MdO6aSyZZ6HGk2!F|bwjj0J$;QOC=Dn0SSi>U{}=L81H zh7ovXafO;wjY0mLlh|i8VNJUkfzwh9BFrpbcOjOnXQsO!x+fhux*}b3?pbNUnsZan z?(J?yh-E|KmSP=Ws39suc^;```1P^f%wWFa48$`TOa- zb5|nRp}LJ)u&VXq)2&r)(yd;zCWN>igm8ICZ2%XEqV7T34WIJFu0Dc92rn!uyoVja zbJwm#Fg%d9ZOK=K-FweHF~1XrYQ-9XlSdT(EVJb?O#kL)&g^1+ybS?Yb>qH%?n`GU zKJ%|e#N4GP5r2}(mgpQ+K5-Gmx$80nj^kM0_u2N+&UDu5WgMND#X`uGw2iyWr&G7* zE#w#lX%U@?roLpo{G1#fLq}x50RZ4 zZt{{-YlYP?jK~5~q=&xKIO?JLvswwEVFN(RAA)VQ!7k~9l_^TJ?Qtz6Cb%&~oG*&|P++u!qnv~u-1X&?3^=FFKDG}y*Y_EwGy^vUd$`6z<# zAjfH}DGgtGbH)flx;){PdB={PNY8BAoX%deI6eCGv*`o3ygR+;_V=bczjtR^&MgiL z7cNfQuws7zjf(z((bU=56^j)vvM6xdrv)t#%rx9N;5B$0^XOu?dn&~K{txa?|NPf} zIsMTe|7m*k!3V?O-Msk=<81%YP0vvu9-XEV!F9;ahqkAE3S7K%pP})^Cg|-kq1kAj z?B+_#x4r%CX~V_;D&6;kyV1&-lNQXG&%(n{`u4ZK3!P44II{z70@{RiFWbn0IAYO7 z{^!r@^E9}3_NqnLooG&%vxsrk)mL*{!BgoN3kY+t<+f_&S)ewJ;}i4H+}N02*m)R! zz{n%@>;fGm4frnZ*skn1b8f+nIgGrszKU&)r+Vd&H|Ou`C)iW|7*nNN)tBV;x{5H4 zYBhpo;=UZo>QU`&6zKh<1E=GO4&BV6(*rD>hKyhpP6)Y*SI@5oz3w%ED-Rqn8~OIq zsh2bLzC)mg6N6F4feU;$*5cK@UfyL3821FOkx^#Y{5?U|;1ei~15x6S z1N-VfCn~poKD_B-Ga|(gd}_5fCM~|>aLqv8fM4=;g|mi-t~WaG8hq-FiP5XdPrM;V zJ*`0Xd6}oyCX5%UUncV3T~KaI6_K1AfNGSkI07|1ptI3c_W#ZzOyMxQ9}#4s`*V8k%snei~=26*hP6+J#WGFN9}tnT;Xln4m)g1#vf2rXZMSp)w2j z?yhUS-ZS9?ESzlLzKtDntct^XGiS|YmwtM37yY@-&#}vkP|e+BTCn$#_wr*Is<|Cl z&FSdKs@*IUxTuf~rWwWk)=Z-ij$IgtQpmrCQBDMm9_|Krf#ZGeeS7Laz&Sx(H*u|4 zJNKDuMg9;%*^8*7H?;t(;+f1=3Qj;_3LJa~Ck1(lqrZZ;=iy@^M#S|uVbDiMeu4`L zaKR!LFNh$1#_&5FQIX7b-P(l?3QNL`v+B%$J>FpHq_2-E-Cn6imcdWLazQ3`bKytf zdNd&FCU~BmUIa}{vqc%q-&F;13vB|+Da8OJEW=fEpN7zU0!AUwlmY#q9`E=VYZzIpPbdcTu=U#dkA(!J32&2cimwrDM;YV1M=wk6~RC^Hc zs2Ut%>kSGZ%0f;{>S7mu4huTpz4y^{*AE^^x8D2?G}z~H{`)9GdS}|V|1dlM8XCmt zAHu2zoALVsNIwPxo3Viec~e@NvqePrEus->fe7P z?cNVucB~JfzTVZ{M>m01je@vGOL&JS5_~uc4b;~0g1M8_#Vl}sao67T>;KcgO8>(@ z{>8L-+1c10=wd;zCv9fYWDmk~n%a&AfJcTXY1Ef(AKszvz2>|byftE{p~fzE%A2{t z0=jG54bj5luMpU+J-NL}Z$`Gnl#v#h7k4ZC_dRXOG_jolffJ~61c*j${#zW4* zC2&HF$0vF9-xGi@jVfqbp^*nABj?6lGR%#xv6Q(1*2-8SzTR)}iuw%vCn!XfpR}y{ z2ow0f{{5{o`H+$!u@&)@;XSjdy4jdq7hmN39kfWm8Sh7J8{l|Nb|9&~bok`r6gY#O#sQRKg?{X#BgU@VA(>oSpco@S~>^csh0^H=Ty}NwX zqbs^9kX5jEp?ntiW*_A)XG^to<*Ky)va8dxKe!`(?pt@I58r-kTCw4(w14vxX&U#U zw@gO`mU&g2VMa)?eloh0*JAT0&T)LwomJ*t=A+=ou~{b2U_cyc?B7)Ih&qN;UU%2b zq}`pp*|X<>SxVbE8@y!6vdB}zVvDeleuQ(kn>N3YR;*Z&_CLLyEBv_5jGf{m1KycV z+1ZVKfn8H~WzE}s6b?OC@1$Kz{NfnLBrCdvVK0PF=W7~4JJQ*io_XeJ1f_vc$+tXO z5ErQ|=;EmOrf!5U*L!FNxERB(a+!-(ED^$}yVss0mk=QY5Z5#QS=h#20_B^&dKGHz z2$~4?s@-qAg#Sw_dWb%dhA7RHIUBaSOjD1ImQ;5l8RCA zkHs$hLpXOaI3#~?_U(p0iDF(Q;e#6jN)8A?UY-_ihHYGFYkfw^fun#Q{6KsKIj{N4 zyY=LcpF9$8(t78(I0i3BE9vRZE(<35d*^!8pBRLCxViHe|Je_=TxMKrXMh04NesnJ zf!U_P6GyvFgmKCB>(*f`Z)f_Q|N6Of<;Dx(g{f)Ro}*kV*NXjyK2*`s{y|hY!H#s3 zf;|foLmY7_8bAuXR92|fw?fmdo}sjQ^|@GxKbF3J$GvI8g`DX|J0VS(onCxtFTB^! z0>Ba4D+@*Zd0Yrdxe{(Qs!iX8{eVH_lLbpxu**J@jvv^SX12_ZTM_>JukT1p7IsJu z(xUyqVnsj4YIbpjpY{~;RfC!EYWAp&p{%PRI6Zgx|@wRurEv*2*gDmzPJ-8PehNEfWyteeCOnu{%Bc!Y=9w zdm9+#oWd1>E>_CcKKA*6zHOx8AvZ#5k#a~>hyJE}b3U(+U|$hHl1aQE20s#}BANBp zK&0$j4b8+l^|7;3^?n2+2wr`WckC7P9e7C(11F5G$O{6Goz}=$SmDW=coCuaHNJIE z{Nzr`u#BgZjc)GD)N-ngLlrIKI1#ULP6H?z#j@qp4FNTXWBmeOBiHaBA3pY5TKYt1 zoSl>Y8a42UG?Ql_%!oG;(vw1;AfRO7dmJoj=3`?jWz7vMymK9nNd$lzj7XIu{uq9P z9<{tD%FwdpPQuBeh~`?)Wt=F*Y5NJ{W%HgKQm#h;)cAg)xMol?F(chR<(5@C)0lR-D4f8(Bpq?zyWs8v!9j5b+iHxY<&5UbA$aAet#N$_gHrNKW^jsKn; z@&qLTwd`Bt=n7oe~GHxEaV`3_>i5@bJysL0ulskqx+|gbM z&x7MQ7?IS#sXXowX44c{for0>&-3s9mJ z{+Sfis}5+yp}2ip7@zXiUBY!&PZia1bTPa2T0GyeV`o~#)kVg4tnX*1tBtG1hM54y zz2H^||KmEO?4Xymgc*JjZv508{?uC}%TWxdzB7K&Ka`4Q>{fUP!3RIBf@hmOsO~ZW z&q6)<1JhXfjZ4@CemF90e5)r%a4|qvw8e;$=L3p}{YW0&7$?(^SRZ8{Zo&F{$J})9 zQ=8NMPj5-n=gdicsI&`VxS148c0&yofH^mCs@z^3HHCA(PGSd`mkgtZ>Q40_!qABR zZCqo8F!IOWyeoYg73O)1SEv4ioI_=jtze^yvIeum^5E?$N*!pyjWOx5ORo_RQ3e&xpWsZV`8tzNSdL2M{J z`Xs8!JGs&dBW?Y_aHqI`7rWOCsU7anBMA0zjg?v*VIdspK;wDVhy0|`JcW7Rs_`pa zG=rEs_D8XHE^jTEKc73f_hUV~BY3Zqolk}Mb~Gg*0XzJ8*WY3*yefqDVURGas3Wvl zhkcw8mNXQVyz@0*NO!?2ctpkI-S3Q-`Lc-^SHx+!&#UkD@7Waw!B(zX69SvU^R}&9 z*=gpQG4hxR{d!r*(ayk#ycyF9Yh0m>9ap3&1^e*kCy#?7O)bPAfm>X7qA#k|W#+wD z2q2!j)3suguh~Q4WJZ;-Bj#>*yPti`KiH|S#aQU%q5f8jH zTqjK(hlHiy2=n%^4#&7APX4p4hMx;-0Vm@#je4Aiy7?5&Q)^K1FuTd~7A#}oXar%G zg%C1#C))O}N_;bRB&NUv(@0kA{{(2iL!KVr4yyDh}oaf+k?M&*;E90BY`TG=f7rHU&lyCQpo<+0nI4)RMs2K+pvV_EEn)E1i3Z26s0x-ilL9i=}; z7b$1garj$}Cyejy-QSxI9@-iksrFS`m>*;jKn;fhHIk@<8A#`Y9QPP>K@jHg5RD5_ z9+w#&p??5}UarNP$+`L~F1`#+1lr*63^aeZCU6KV|L{S#nnElpy3iKd7cP`w*wMy6 z%EF0tuWG*wdCg5T=t~CEoG&WwV_;i!F;h>gB=_nXc2x(W6cJm}`TqLCHl z<8OH3Ff994emNv!<&H|mrt!m6-u*bLU{5EkpMO?NtVY7Tp3$+Fi*Lf>dXNBK5Xf&= zj-#V1c~z6IIzx$N!&4!c)3Ex*fT_BTtABR-U08q=S5qn)|N3fBj?ex_=g)lFd z76M8Ksc||_DWj>%6Lrv#SJanq@hkC5+%tX)x5^+ejc=jU9O2481$u=W2xL4dq0#;O ziGJ!d%{71K2n(SxRY1f;zY%`Bvm>B@E?aO=`)8P)!M!$)np1JQhJWdP1>EI#U z(}8WA26&C1G2Sv!bF5_N&wH2WqxGioGKCB$p`HhwiF=scKLsfl(A^czV_m&4j!{0P z{fFCc9sK%^KYl{csuDO=25gm%c=#)*C@{I(s;mRJr5_^Lw{s2Han9I|I(Y_!GmB`W z2s~c@XP%N%Sk8Ccs}~IyCiEcV9DC;mu_+gumfF z?@xnR&>KRKP_i9 zbEm+@Jgc#m-oo8oo$R{1W9#E_0>Hu-Uh~Jf{P2Za@KnH*_CrH1ZiqK(#yrwXzK4w9 zHOkd$N7Fsuzngl)I(}ce2dEEaWIXDy5ciDrZzc?L~!GRi$`&{%$y2N04&$j<}_ z_~w)6#3Tx&?AJk*ycL{zg>SHC1m`%=PKnF1MVZW9oHeL%_3u6(n5F6R0lV!A*2nvRht>6_X6#r%<6|tO%|c^hb{psY zEjoW%a35vCV(=(JEY{SU0W>vmYevO;fV~76IcqtBO|EF1KUNl=;!d8 zZruQH0DSvhpaMs4cbEm9_LIZJ89&WR)3Ea1W*aao9n{svmAIiPT0 z4`EfgNH8eB-~+3YpS=|Al|`6o?7|NY&SOz4A9b*9TmTbsr13Ev>{w z4Zv$S<*`v0d}KB7l|5ZxYN0--U~PXIHWrpGT$&zvRqesA$?U z8WP-+p|+4PGB1m_@baIy<_s!7KY7Bt`U##4B=ir@9O+H=`}zp>wo)F)#yXKEAWQ_x z5IV}ADIvFw+D?c@E2E4c)Q_M-B16KKM7O4S@%A6wh8q|#vi;RaT)B}?_45h54Bt*M zIxSUjqDAZPQ{MTj{N~QZ^yVq1`QJ(IscgY`jb9pcafRE}H&tuOfEGnCb3h9{f9p|y zOdm{aV0psX@Ll{TdK0Z4bK)|LNoM@`tEUKE) zh&s+WwmeaV<6@lAr}&KpSrOy(p~z!}ehyGR(#SzF1~A~)-K=8DjPaEBsVEri+$ow3 z4&9A-Mp(cY;|-tJVOGJlSF{DcswhroBKjEEh5K@{JV;k~l!P^ilRIovI||@WyYxB~A9rl>ZXF-SsXgwbup4E#eT5iQbO?O- zD9}yfmz2>JZ<6?BON}}*gapQmfvj@pEc0*1n~0}88B(NRr4dFgBs_EOIxo82MDYIj)O!BimXXIym$(G1MDKo6|+3y+LVcI#QS ztA?;qcEaMbqP%efd;4+RE+FWmkP-rr5^gkP`f+e#njdc?$C1DgI7|ZE$QWpmfm2>f z4$kp5K4JWMe%qa`K_=$XYLs2UF4TSp*v0B%l0J1Q>gi0#AAMqT8sS=}E+*Ce%%oxm zl|1|>-M})6Z!Xc10^6{taolcl%$muLG!tg@UFrK&nFS7K^iLvCwG#Fc>c2liW%b?b z&rJi;y^s65=_iHn1l;qt(YNF0F0(keJm^{45!7O{5kSCmLs$PyCiw^x?Pvys+A!e? zTp$Wt~5q24yI0Ju#uz6|o3p+#L z$#T2K?1ZBxg@)Ih*JV1mBR`$Veh515A`{2RUZdzZEdNM*d1>BU&RugBw*y?}bIX8t zUW;H`yQ=Vq&;&TnRe?k4_kRDk5n8pQ)Rp${J&;~}Zd>~Lx4swjzUq>7>6Uk0i%S1) zcJ|qIMVPz%vMaf+?1^;fz;+g>I+z2pvq+v={}$&ijzhTE05z~)PMuKCoyR-V4<6c_ zZhqHw*cMm>7N|oj*!7=Cy+;nGSsYDhpUJU|!<^w}=e2(jSnSw(JYgyVti>Euu%uk0 zmGB=LCh{NrTr@+dHF!dPa5tF1pbs^}!pSH+p*48vWPL|pg^))8>4Ag)aH!ma9qqA6 zi|a7>jPppld=F;YR(4Ot1z6V()Q|Q!QgxBni469*4TZ3==SiDiS z#IaD#0{JD*oy*hErk@?@F0Ni|nu74p0#noIJXE{En}wmQ5fTVTJ)XVdJPasmQ63%y z{n!9EZZy8!HoYm!TLWl@X^4KUiF#7#R;c#&1oL$9XW;^jGQz{+eiF4AjbF~-=7-?% zAU1La68&JjWcGxlsen1LWf{rq>5vEH|?7g{Cz5w!i~HM|Biv=O>O~ zb)N-7ciD&024ZOr7YiA{okE`U8cJ`0n^!nuT>_f}s>DMh1bC+;%1YiI(Za&f$ze5z zSO9aiz(0u#9clDw2K?r+ls0J6B3;l#ngXr^1N52XviYT5X$iM&*k|<&aI}Jjgk0tW z7#W?Kc5;UQ+~wB>AG$_5Ol3(P4WO4tu8eWUcEXd#GT!m^=Kgto1pA5x6A|Q8zv5Hg zjRb`9(eUkrw7_Wx?}XInCfh4@Db>l&4j5JOyb&?BnN z_ry=`Jo2FL;2m#|6Rjmam8a;o=4iB9p$6M;Ty7<3XjzRd)xIZ}iQLL9=s_7e_+ zCU|n$gl?bW;On0|1cEL2M&7|Jfej%A!@4Vc8nOy{MUHt;_pGpS+?jHMDVC9@4k}{j zAL#?IXczWjIx7lP^s=7|6-&NLdx&@eAh(GIfIsohI_{I8`ic=sx`s-qyb66XW0ZL1 zEnxrNsOMCCCeP_~3YpVYv(NZ7*@W`=|Rpdi#{Y@8b$kcLwjx0Mzd}nxgWsMblXom_H*{EJl zZv^}GNMk2o!B8l&{pLsbKINUi@^A424*ijn+o=c_3f}Ijc?b0Xz`cKYKa)&#H*mmedkY2cOeyGWR z<*&b<&O3i?y6J6Ku=9#QJ=C4LkM^cr+jgbj{m;LX-v9pF(yh0?Jw5lr^Xb8d9uGe8 zT=m9_FHUPQcKGBI&$3`}1gq!Xt<9B$?8vV?YdPx2)5G{!i}nBzCa%8fs`Q8d_rFhn z^x4m*MT^f4UPI1?o`|&UCO2d7YtC#0Db%x%_Y9`F923yg+!U`Zqhf{>Y*?sjMvEZo z+e+du_cxg<#G z1*o6AX-N4k2*@!g^ zkb+DB4q^pGqTfWshsP`nKftw*k#PC#@eDs*9dQ9eUb5{PkDn;Br9kqc%yLwoD^bzr z5OlT7F6gPHW1Sd#8d@2)DeeoTP0j=q;c6YA4bX?ijhalgCur_hapX58p*>W7LCac- zH;v7eQAyA98YiK}j=uL*oM2r|wctsxV@4rqV>^JAlc zyz;s})@h#L)WPOFVpu4hK|L_|B{O6lm&_Sm7JhXm5vZe!u4fgGl>o$56f z%D6~%;NcQ>v~!|`0O5OFobs6m>UwAyz=~kcvUCh$8D2on{gY)EEBmVox;WM$RXN}> z7IzJOVtk4T_)M;zaf0g;{n5DgkozhJe;`03zlAkEpA26*HRNu5W9Gof<8}Qpt48n* zS)Xw}zyV#J4Aeo}2~Z>IxonkRW55|^mb1zHc7{n`r|7Rls8>!SpVSKvzm-R?vdznGLW)~jXUf`j>H;aScv5K2Ciyv2)us!%)8x2(=y z23({>^KUlSH2vs>t?4+{w&!;&;hedX+YCGZ1_dJTJa@^?Npg#{(#HPLGtJS@(0_Vf zwiWt!Vxj)U1N+ih>sO~~2)8{wN5PKsxMVZLBzY=*YjhKQo3@FKk-%S}g8H&w>B5lz z^m)`JZfVtv5UAR$2K1zilkC`~!#x$1Y3KbT2rq}Z4(zI>E7Q3fE>2H9{X}~3kq6i@ zx0lB-AoIAMUQ~oJK1~1NCCOj;#GEu^~wEM4s-72gg+bDlXj}!4{+Z8 zD1PfX6Wxxb{XHRguUo%9{l>reO#1Bq^LuIY^H-*Yi#xcQt0OI2yd+(E)kWz){`UWp zzW3elq$i$yj75hYG$OQ;-iI~vgQ>Nx1A(tSU4k*ZeftkUM^(g8KgOc^SHJS5u+;u5 z|M(X|c$|S&=h5Rw(}D%_(iN9qk$(8#8`mv1O(uP(jJNHxtZNd#r+zKfC`OZQ}1Gnh(&*J-vs0i)U53xfqiYSHy(A`$I zGaXN1o4ATkqj4G_^a!ea6!a!hsNfS%*v$w~A?O1mvI0zG4F5)aKWh&$%tv*6@GxG~ z8_4yu<2#4^H=(t%YfEREfBrnmi(G;qU{lVJXW;TD*u;ow4F8;+ zkBoBGKD0fuubif!C|{`~(8SRUF)@W(Gr1K08lPS65L$&TU+1)b8J=^5mPGYjcr0=d zmLIeRT$HK)(Q<&m0#6C%ZTiN)hM;hYf$?*GIkd$0OHG=Bv(R%1bJ>eKr^>(C&ualO zJcqUW)vH#g`DlqSvm%02iDnvFCX&14pKB`PV$6b*aT=czujJi`tMN={Sf+O!j^A)o zgq1V}2Hp|hyh@mUlRfrD5s_EMm9~#CZ=0bC&<;?0z<#`X1Zr6IiT>qHhYb-C**XCs-bkz#CEx%%kNNTL85F4o}{KjQq1n`bkfLbyf z;~wMNn;2C$!R1_6tk%=X*|42Fs}g2-tV9VW^49V9&ySS?h3-*rxns_gBWtGwzB-JA zBm2Z8hf&W#NxsOPfZvA8hq9|eWOnYOehX8&L-WPbnv zKmbWZK~w-`ToP9O3c8-^h61eTaBko>zJTzX}=Mls=MZOl+8WjkX3Bu367jShLgSt=l0oO;^yg2(Ue$0_fYkFf^=i;BRZ2QiGvhZV=Sxl#ob#X$A+o}zl|1@^S=s?(nb5|J{#5uuk zv{tjHg=O!(>94;0^>o!$SJEdji{p;?Vb1b4a~8UfKB}o%m3AiHnAO&ZUM`p$EO~K3 zJn_tb;)Sd5lLEbEHC$ZsCJdi^t9jYZ)n&a}58t<+Hv%&P>j4CE4STiDn3w+SPd}e7 zzT|ui?akuO`2*>LKlRh;`fIOXjyE;ke#0-M_kZ%nbisv}qndm;UCe#io{#Rv3j4fy z)6<$YYtT5E5mz~`SiUsDudWNI$suZ)0I$=Z;`Q4 zoluKszf5_f#&}2n4S&VXwBLldFcR|?cC};S1K-$9wyxYkW?UU{Cl>lOp(3pyHHR^? zgX;m+cyK%sE{sCH@Fs8T!WxkNd3+$V_)q@zq;Fy&%RI#)#)W90xetg^TQ~7Z=H%-pVy2`1q_hr6TOM%(9RIZg zVBchzIk<@7F1FMFl=VZsa_T(7RE@V?SXXg`kp;9z9(p)EziD&2;f8C{f<<$=l99QG zT?9q3?rlXv)9sT}=j914N4Tf}R4y*e?b0}6V;&i!j9Dpd4zo|wr;^`*k!z5C17Gv3 zmzHuwypp28&v+4)a*_w&GLEJsZk3@&B}}gnKb5}4KDUe2NN-ITM0+CVLuBZiF%n|- zEw6?E1K)Iy9P;CTstRb#Sf&WZfY|lMP>*4lk7rh*--w2S2e6_cR5fH+9lVu2#v=z- zbr=9A__0ALq}iZd!9K`2Esd`%;=atbHqJp|Y(ltNP3>m|KJo}S=G^%A3K>n1_uqS+ zDFvi=rn4^lC!g%Azkj)ttk;t^DHL1Q#(EmSg0e?s zmM>dII#hs}u%2Y++OuwX;C`ioTGtK@=33RAZ!*e0;XUq$kjBbxtZV5Vv2$wsl`#6m z1lY2O>zp}l>{#`Nx?W5o%qjmj=NdniOiNbf+qXQ~g#~G?KZ~o^iZwnH@xLW18cG%* zyMbmI)&1|dv4MKo?ACqFj-Jy5!yq7Dg6dK%NRhT0})RFa+dAEY;D?4#CI!ik#`B#`X z5*)X*%E_%iMhwP!=N0-DfyMlEJML?&Dlb0d9dLK@U+D=902p}zOEvsZ#igyQ4yrZ# znRDl)W1Lw%*4xLf>@5894k%maF$XI36mI~=0##Ms;71Y8Ma<~vS^X)1i?c#)nb=Q3 zSe}Y%eHVTM>=ZY*x1n-}U6L<(vlkmMmJwBIp2j&UdnCF)e-VYj>m_EVy_#`Nw|Y7VbIUMcOTC z*;&g&)qdBm{c#_CFB%VObHw#r%s%FFhWYUyJ)U-9kZ;|(wdv+tZ%yEzt7Zg}f0 z>HZ%+5c5aHnM3TH?%cI2eegpcN*gy^2%X%8ZcgW}!tMfBlC{rSn9f?cB+W(m+Od~8 zDE10et@g}#@GbErNG`cf+uI%n%V}Bu;`MHLIBS?rH;eGz1$t`C-aFJo2P%Zr+iph)l(17qFtz8qYl1& z#qxBRTLFIk|M>lM%k`I~bI(18x?p_7_~MD4W8ARNim|s@Ad&e&O#^Ya4UAIHO)VU` zt7d?+XR#1MS^H0-dC=X<0!|Bc)IwAe(61-}%NsCt%;SY4k7(;dzHqb7_>RpQZydtr zmx7|{)TB_=e!5oc(YmnR!iD$|hpQTAAWXKhkR=@3KZvj(MB5`*SwJ4^# zAjV@|Mc(9@`=4A+HJya-kvW=QX#GrQ(T>j$@@*Tz*VLUxCN-uv8*Ky^_H(`2#|hiE zIV&w*a~XX2V7mXwKTQ{3crJ1c*Yt4=h`j~cjYn))$bgT;(Z)}e1BV8R+gk-ftI0)9 z1$$t+2x=c=J(^BC5N@v6zguR|1kZdd!MT|WG0xkhxqM^>*2`4deQc0e7tr5hCHY1) z=6KYl3lsjyaxODiUm6V^9_l4O`a2h6$WqqGr9h51p5gn6dgJww$dC_T#<=JNZg>gTr4NRIhj@RcUe7*u&D4- zVKyq_%2=jrc>FA|8@y{y?gXlUlYml#T*};0 zxd@|2#Ncgxoyk*pqGTLA6!i|w$SCtno!9iN@~An_EYCB+Z?d>GGS%v&j#i`zT1=LD zGJl{Jct$zhVoCE%xO)1k9^z~%Zrd|W$6CyAeFdEzVDhe+lT6)CGOg?qp0UmKz4Gj{ z)AHrZ*-=@*pfw{s_~3&WXnF}tw;eHP0Jh?foND~9;dVk%?~Mhl5*Gd`^&Knf6_8qW zj|W=5qfC;32?l+M;2qF&k*m~!015m&&BwuS4rf*S*bQ_?DkitQ&8Ofw29$MgN6Xu6 ztQxhFeCL*gXH`Fj2TIlV7&vd_#{~K5B|fM7l)5s00cRP@Q}?Sp8^TH)-!-1Bc@j~g z#4D(iLncX|sTzQ45VE5o?YNLrJ|~MxqZuFMcdqxbA!kazOzeOL#0FS}a3X1$3Cg2h z0|Decf}Hp%Xol7sZ~fc}?CHtJMx0C*;aTA%1WO}jW(;A)zTNNeA}q4^&A$-Ljc*(t zruCs4za7ov4b8K8(%umnfjP~HY)#{_DE67E4)55#BOU1KP8Tj%kcKeo#^eSJtvO?6xb9Tyj@?iSngx4=9O_KV z)}shO9iIP2AUnZiJ!1P~o(QLLhq)@_PPBpLNkt98S@ZKLXXoLg@B(P1Tc9{BYsCaF30@7Wz;Yu2twmtJ}W_%v}g|8cGo zvv7%P9~U6pO-WBb^)z_)rJfT5(5gMP%*0y0mf0ERytBI*{v1YFnSwwF8KdvEZ*#nq zC43qeWc-fZc!k{%yr2{F)gf^1L(RUash#5)2vdZOI{pC2dD1KdLXTziV%1&E2mKW0 ztSiT>LBp^V^4cN(Bwt+)z zBrd~H+zgCW_P`$}I3}@p!Q6C&8v?c;>`XH$@A_qnpkq@ybhL}R>1U;F`wz!r#O(HI zY2KW6v@d3*1D)I~!F6^QtX&)J_`yv((^npRiZ;oj%KSxX@m!9n96g@eIbyMR{+zTG zLz1mCn$p6#vtyA!?U85p?@i|~UcmkF9G7UCK|8abq(6YiMn~B^8Dvp`d+Vb+f>-R9 zT+kf#ng{C48^x9^f*zFBV^@c{l2RFJ4m6p!V6j~hu;f#1PxQjJF7k4`ka6NLbvPT| z)aHR25#97*i=pix1|W}MH=~_OvfXQ}^7!#%X~EoC9IIIz8k^E`7sn7zLc7`{16uk1 z;I4hvBD{GWKVgDBorFD*lWM0$(?jU1(5vS}E-tqHlP_p9{PW}aK#p8{zA|HSBESXB6abDq3{Wu8`P203{ zk=j$iiB;a{2XZ}TTHCf=xzDhDc~;k3EPA*$$-9hQtv`I^2yd0Xc;pwKDoy^F_%~1U zs<4K#l>CAU6@Iy}#;v#};@1L$PXZDXhnOf=RFqE-AL(SGmHV~QN8~&*Uj@bu`BxZ? zc^Tgwu(H?~#}9xR{2Bb8Y2ME0^Dre#9afKOA`&yzZUI{Pnamj55K}N$*c|f4T;gq1$_Lvwz)RDj^4nA$@ zxgA%?2O&vXXi%V-O_h(Y^5-}k{VqVl`aP3x1%)F_KHJ*ngsQu9a2K~!HFomtZk+vA zJPkktCf}KFGoR)-Ija0xqU)2(AFir?v)f+X$*7g$qMTp0L$Nl!-{xf-a{Pb%@yF6x zXRW}Z`8>uHG0PQd9AleEKd+in1w9g54skV@Ig9GQrLT&6;}Jl+*iGECpL^VwuB^rw z=00qn+ZRSV1ZIptW+Wl`FI9wV*@#wy=_FdelGeG2!mZyS=z`ZY`ksD-h?58oGuV+G z1_ufR*h)ACe!!{nFu(j~#=>@&o*hVqBl=m@UbUb;4Wa!c3yK=^YEs~*eu-G6%`iQ; zZE0LQaq-bWh3jFjG^T8370)q*@zAGbcNsigz_m{^+_L-FS6bF0*i%%VjH3%L`pa`} z&a}272#}A9NYY;oE{z`>Uv+G+ykjLIg#Bp<2PaU~UodZW`ltW&*H{>COM7-7;7Yv1 zSo!B(Z+3u3j&)OBtf@1P@T_*9i&9#4V+Z&+XYmKEceX!!yHBRAyZ6Ly<*}Z=v}Nn= zvd6f9#V8j7QU#zWUX)bL+OWbn#MD&0D#f99sY`h(PE56FuDZ&2BN84nqh= zqtb-(n5%PR7m1?O(mMD6dRQvH!$@9)X8v}(X{M~wWr!OL1~@`7wXYfL;|RD&XQ7P& z-GYwPs}6bp#K|o93QF4h=Uhsja`FSX>ahakN#gipUDRr;io$Cebc*qv@Tf9>h36Pf z{Db}7F{fIAp!tK%ThhP(wVzG5-||)jd=_cYz<=oBr_+D=FMpiYtX!Es`SG8L1(N^p zJAagxEnA2Y#PibiH{6iE{he>8W5wXc3TJ^c6+!FTJ|uS*~O znUAo@KQl0Nhx^`pe~`ZM?K{(_e&%D$?-!&$_{0Ck{qAVzqP~5@bysur_E`GiV~?k| z-FR*Kxu5%FYC+n3;klR6Uw+{m>A+#EzjM#}^*3xxpZVoar#`Iq|BHi%(*r+zD1H5J zzMDSt^PfoPakQYj=VZF;d-tS2`SY)&`3T#;_Y40hJ@Leo>Cq>*u*h>V-FWSlz_^j) z8$XO=gxYghzHCYQ#0Njb@s2ywakNQpyzByG5VSmg`U7DLp&N~&KCJM6n2NmIVvS^n>rG4HvCTXRlsK*MSv!>{)E)-uJJ5{f>0jiY4i{|L0##OO`H) z9rhpIcVAp3_nA-sYI^X22h#WNdpP}*kAEn=h|$O$yLP8v{FzVESGS@CcrZQn)Klp@ z_dS$m%$m+32{&UjwWR~huWozi6=~J#<>?z=`w~KTPpH@Td9xXO`m-PSKw7bEMcT_E z*WccGcY6A{=hH{te{1^W_1Dq=9Y{a8|Kaq^mhCJmbs*HY#G*`dvqycjT``nyeb+nE zh1BnhFTRvM_m^Kvmt1&$n!8{L+Ay0~C|F22&rgT2Z*kMcYoebXL^j*DZCkqU{vWas zf{{RW^Y9 zbUJniu{uwWl7)LahN>!HUKa!e6P=6|r(gA#I~&8S$sEVui5~}L)jYELjk^o3Hu+Xn z&W)c=@B@zudU22UFL=ml;hq?qF}|l8Z%m?sfN0^af96=P3g(y$ zY9BTD*=7wYPr)Gv5*q29BrsVcl61~= zBrRctPyy~1s72$1E!RT`$HK45B>b2(GHFw-?=1}SwpFbbyMlY*&@-I1WRfS0f_p)# z;T?58CcK)2h$ne9WEZJ&)M_On3RHQUQrIl%SWi z&A@Br=i9C_pRdd`G+EBKjz}$j1+#=iwiS%Xd7y3he9hDrI~vzzTkuq~q&v z+;>HcTtr(%Fd$SRApg&(LvPD3)U*$xym zeZ)DkCLiIN-I#^^D8FGPzerZ)Z3_M>UNt1sz+JZP(sh;PO?Kv!QG5pn8g zmvgX#IS^N44YOnK8P*}JP7m8Tp&DC+`rtdZ>cud2gmEw%3!Eaa0B_zE9_A$BgpYOj zR(1|Uy%v9;V#`Qe6*_&FoqF-I{>)1{Q|JiK?L`5;1;K>P7z9?d|VKKljN`q-|TaBE&bR9ou)LqeqVh zK2b*IEz?*W@%;Z_sCiS)pj=i-woY9wk{6_bWsM_gE@*H+y46s|(x_wRu`W6o*PY=J zu6R?p55b)s=uzw-jH*7ZS~E1%^7#zUv$H6qT@2^ISr~VY6PZ$c`2-xSGbcas@TUIC z7cs+~=kGa2SaGjngqB+N1~=e=pZsWz^kc&Sgwon|XQgEerg4}3OA+?g8!m$8A51-H zOl;V&D6K#D7RWo4e(4jxnQpuNt?51Qy*#a5yDJuUmpVBx#^r$Gt>JJB9HcT zrZ3)cXS(G*?@AY)w=DH_arBMyt>b2j`7__1I$EcscfI{Oc6hmZbMQmy-~6XPNFTcW z*7WIr_|epTygwa8a9nftS!u}}Znt1#f9b-7>4J0DAw<6f+joQK;D+Txrj3`Z$DRbofM(4|AOGn4 z(rq`t6HS1&bm_%w*x^s&YcGt~I7hSNHBSa_CT|eTw z$2lHpX-!*>phd8ZIoFNnr`7or6gtpNI7p!JM zqb-g|-TvO&(w!{g{Kmigz4YzR{G(W;TZA^pObvGOTzk!x*vwdxKL5qPPK&53H7h&< zRn62QPWj2a>aS1X;QaMw{QU_L>@zVH)MG&8{L!caTI{%brh*QwqIq=M(E&(*Dj+%p z+;%9s=>ki|M5jk3<+Nv3S`Rzz+z--o}7dqKX!7t!z~OFo(8|{ zBW9NSjd;YwzwzMnppe7NH*jc(n|K>1=VOs_p1$i5gjI#r zd^7$9s)KFzsUp0QFEYxs$v8&47?-*D`d1@tL@i}{Ipj>3!>d<(M_Vh&tGD6SPCQXh z1ut4kwA~yOlZ7f?EXe^)B5wy zkBPGrCwJ`4D=;F1T>gy1DZkr2kCJ(#dlEcfvv=e% z7K&a$%dy^*c~9s^x`#1sxjU{@9}ht7!yM=enVCfQ@&BHJA^Oa{0mjtaFw0c zEW8;v&ffzh#zo;}B$%AS%SDi=+H$~-3^P7P&2-{h{~DV0@C;6FsKyY4;TS&xzUh^E ztMkYRa9*9Js;iG}CZ-zkRsV^s%v(o!$jDqt5oHj9Rt#gKYTdvtGc&k@lX5%4DtOAwR^%%Q-u0VC*YAjwB&?_0PlRw9r13j)Z^PSI)11r zFcm?)9~F1i?mY`E&F0K*P2c#&ces8IYxN!TQU|KSeFMAGFoJwX$4usgE-a7-ycnwB zRT(_)P;f487b&K-YNSvC4Wq_?Bz^N+-$?UWKv=M7UYa$#9rgZBcIPdpXSXpr$Zq|B znupW4A)u9AZfGX0G&@iP`(Scls+#W{*{ffhpi2{cAYc1f2O7kaMSh+OKL*Tm#q4)kLH_^o8Gag`d zv*14)`g-^I&F_3`nuF^40LL_Le&=P6hyp3>@7i_-O1U4RzAK6bFV78B)`RVx>ypQlW7 z5QG<^Q80v-i<%)4A5KiGDWj_AZP*!58)nD$z07sn*c}e zue$t-bpHA0qt~C%+H>VJ%TO-_}S?n{LBXewpvV=U$izg4|lOa zGL&}g*qJW9?9%k!Ti=m3@B2E}Akr4mBsphJYx>fcznU()WHpN|tJ3m?bJN+&7o?TT z=Ob`WN!zyWO<(=$H`3)BFHJYzcvZS$;~H$Lr1Ur6{0^E!v(m;Zu0!Ku1IL8ASYXqL z=k&B?`_ApYR}z2_cw=ND7XIcXW~W)5prH(=MnB8SyfQLF+#~BB3D1fufS*wtGkQ9 zXakOcgpS)YyQ&n~DGjK`WOVbYKCyGWu z9x#l{sx|{p*`09kTi{t9I@?{lc80Jgh#8zIbMoZGz&LsE7q5v66O#^tYV;tVJh0_S znFD*MauO%<29n%4=JE5CEQ;rtn6KkU#)4&yfEjcG2j7mnnS%(b4ZJxR)SR6h0 zi&rgr=9k)MgF~n$&-s;TF37C$*XztnfcU|5uNx> z;96MeUBvmu#SWq@$O+PRTgo3EHO3m-l5)P0v0!;}d9yp`qo2r`GIplQB&9@}>>Wh{ zc13sT66NPzT#ZS^+wh!QJtUJ$yaHeqAYA{Oig(pMd>b#~R{r@rqQy^R?#8b_govvM z@R+WIy0}u@IrI(q4cy1UB~y!i>NBAysAqqF1AogGUUmOc4t)y!>hN>CAa3!Lp8Ttm zN(ec%@8T-aYwt1bt>jt@eFaBVl0c{6^a@D|T8+^g-LH_`3N9e(<(~uq5$pAm^dZdS7eZ)ck_E{K3-CmYEOYG{rCv88P(7}& zG63Y^Rk!ec`|FsSh0;8ZaIO}CekON{tA^@=q4DZvG&K*&vtQRO@z3j-u27#dpRwgRQmg27D}macq~B5DAB640c-y^tv0;dQ6biz7!u!m$6t(2p+#1k}%Knb6FQoPBSEc(**N_so9O17nx!|1&WDrtz>Ro_aj(-M5{y z*NfBq#dFi~W1MA2W8m=a{b0*|+iVAqLPs|zG;lZMA_pNZ2-|&7b+LPCIi#n%@$pAI z>(MdNIGPZXmlXJ2%n+V+=uwI3s5{#ThOj9Ri#o)OO%d*vb2nbC1L+++51qXiet57i z7A>ffOlOFvigVTu0IO%t$4p0C!>g<{PG{T>u4bDx zYfgG;$3BG1{pl@NUY%Od;*&*ZceJEi-g|30+B99FVnB{^ZRMrbI+yu zmtVrJ`8uvj+?oFBFFv2%dj0ii2CPio{a2-Dzi`5;n?eaWhjr#mr z{%ippt>>AN)+}4fVh_@=^~hCzGdMnCJF%V1n-Bc(hiN84`NbDsLfW&_*6n+$#Tw?6+o3o^5lH$@!n zJeb-sy!U6H`&@eVi6_!8{?b3B9<1XbZj1P8`ofnv9&pxr7T1=iox2Y~pXTUyEt{7h zXbkkyOD;(r;B{c%KE5FdW%4$M_uY1DoW~zzL8EaH8E!p8reQ;7vW_A`0t9Zg{vNX^Op{u$>^%WS->5aKBsEJA@H;uli?^9L3fK+l}Eq&lgnM|I*=O|G0JEHXetQ5BjfyI z?h=XeF#s_MXtJZ=+X2a)d5f*;ooaFp#JDrdjP;M5 zhrkfuz_m)2!4fx;XBgFouwud*VZb0=fH%CNr5ZN7S&80%@IZQ&0Y>YvJ}%DX__>ZF z8``e$OzO9|2RwdYj{?%<5hmXlA?KO%w^;IER89bh=zQ}oWidEBDnQjlN}%#UB-3pg zeaN7=GY{&YK?YdD?T_*kz{y_PWIi)Z`KuzG@(MU&l`{(LVy8`d#8XE;*A>Mv&ni9$ zL>(4dWb97K<}^Hl@>RS>x1`QEL|qg}cxB(>@$zq4Zw-zyYcPdf!7pVBUKrEJa+I=5 zRZpMmEpnC~fl#i8iI4+>95twnv(PYn`FXhlSy4QZBls5lvv1>X6|vFFB8~@cH1jLb zUoP(gt5!xmCP^4@GVew*qUD(W=C%@Tw<@~}Zu;9VpJ0OKb$1GCL+k)q1<`j_xJ8+9 z=QfEWgN$NC`AR(!pfhKY9l55+-!O8t-NZO;?vCqmRLNsL2u0-Y`0j$RnG7QMw6S9u z*Qb@{hW{xKUc$~lrsOMk6&V*0vONAVN-4UG2NSYH7%;Nq(2 z=4TB9;8`vUZCPx~j%6-j2TaBtt@4rt{AoQH4*pAH%RLexfWai|J1O0F{8) z5DO8J2mY~3?Hd|KUx3?ml#Il-wA?4eh%LUF+b=i*JJ+Af&7N>2uFC>ZH2W^BZnr7L zY{!o=9lq#c{BDK*gX~boV!U$!K<07+1^NL#zU{SehCAqCzQB|Y#&IFZqgh^GI8FKh zM-4CY^~`w_7TA|9V>fiLgDb)AP7gmegk|E8Q(fGvbRcI~;Aj$K!eG)Q%K)^Ze1u*1W_JErDPc#P>i~)0#MN!8%PaKv4?tVg#1FC~JD;=UN4h)@J_U8- z^TEC;ZQZ&p?c8$!!4;fQuOG#5o}2ebrcN-)({fo*{it^e7j;i0=Q-1eBabu9A)bc_ zq%nNQoJjxZ-k^sD4rgGPF7?9`EIbU7poKDo;X~SiZPkSf`6mbnPlTIneVq47Uo|!= z59k75>Mr;}qK7*NOK*It57SFU=T?@Xgjp!+3p|mQsh~D+NNL-P+o9QDdgi%p>6)wG zifTEuJ&vHtwr?wXUtZC`-cx6 zO5J?-VWe=!_O0pIQ4C0e$(q*o)CGS`LG@&A>oknO%}Q5aetBxcMi260>O!kxJSR|Oj z4*Idq!SuxAn-Mg3VBg{-8WA0->u66}xojm`05gL=v)jG?a4tt)oY%HeH)sc7xNhFO zS@^fG=;HCxwpd8=`nH)IF=?MUHNEp)x1~oh^!@oSd^z2I`|at1HD{+|Xa*eX;#x<@ zsrJLs?qlqPKhIT+7pIkLR-}tJp3jc;@{Q?lzk4_K2M(~4 zzLdU4O@iL^iI05{8XU#AOP-(;fFbj^@F6l%+l5w$E%yTX$@O z7f`OCy*%^Glj+(kuBM*Xhy4l}!?xxoYfGzF8gmSW<3UZF&0l}snza6W_~5BWIMy)= z?b_3-<#XVD7rLnK!ic_Q%>T}w*F~_GHn#n;!aLR8o0S;bdz_!M0lR8Q#5@_Dn2-*7 zF(C3Qv2E-VJ%TS4(^w}l_?Li&gpnJ-q7L%XpGQdCYx@p>H~*qU zr5FbCWExn+EWif*$lEfw=s_d~0Mo|63QieESM@m4f_8)}bW#! zWw}<4K9T=o*p6roWcr|Fbgz<^LPrwaYXZ)>3|D;BwC7uJl zmW5S6(>RSZ_l&&;)P(3Rh0_YpodcLL}jyUEme0xUx z6uhHIMv3f%8UP}`?#NvjJXsTgIKhj;5gZFz3?}lDW3Nx}njHWWM^ic|2gYO)JY+-& zBTqSTHcsGyEAr>VvRQ^WZ%Q6cNP;)yPr^KFY2INN$@1{uHkK#onP!$%T$<%c^6~mO zh5T-G-sFqCcoR7SF+V|fyo6BNxFO=gZ-r+S4*cvghHif&G5i8T3>wkKEw|xDsj~Cs z;)PGReFw8-AN!lYrHWA1j9)y!jz_pW0FXa}w!Q-|2P|QLHE^TP!9N!DGO8eu9f4a0 z72PToL8Ymz>mWC6OQU_s+>aCm`6Ot8GOXWzwuAVrqRyF!YH|ni61ZoLTE1B znBdw+1uF8ZqL;9YLZ+pD^;~nmDsR^OiR@<)1T#F_8$vB-*V{0dG|+#P7@X}z;2Ipj zVz=#8W`>d(N1-W5*hjFBMOzbU>{#)36v{;rGhrLw@s@c<@T+wT1b!q_GxcZu+qp=WbL2N%33HY|ZOyju-BgfJ* z41Bd20X$pTO|iQ4EfqgZmhU!w$v5LMwSMLojHj+{PVZ=QHzF<_mY^ z6);?+l5VP2YgyjK2zSICw=^!;fdF#Bg&WgCRKuej6uz$?A)GmjHi8sXG}71${N8@9 zT%(L9pmA*>iZYhIgc4_ZTK*W1p$)h-Q%7Furv`&{FM~88)O!pAG6mJ8vvc#Q+$%rI z?yq(1;>K|AaGKk`An0oRVU7owp9>-8A)Zlg>M>teDL}^$D=}9mzc_&(_~|x)tf4)L zaZp>NkGYXSwXrX^X)6wG_%s{-y7O-zX4iWKSCwHMo-50q-n1vp?AV4qhx5}WjKytv z@x^pAXRQ}4n~!|ao}PPtPg--%IjO5}M*7|V`nh!O>Q(9b>u*SN=C-nEG$&1m{@=g< zv2@*AZ^Za@Z+i5RAE7aEG+lkgrD^wp6KU7BE$J9W)~>wl3e@BmrE|{RfGT@uT8-NL z?tMo&E-}Ck@C^yOacSG0<5*fh#u@en=~}GzKl=EyY0E9QU~ukGdgkdD(e&?0kNoKu z)AaVAL;GV{df&U3q%He;(<6^P_5X4ACO~>!*MZ*ceQ$I(8XEx+JHS=oB8rQwh13#h zY>#AnOgpljaqNm+am|!7sbnf1PoHUJiSpdHUt*g1 zeK-N8${+mO&y-vD-ct77ahtw291II(gc160zxZ>~gCEBng7 z`;-5x{Kr54v*pKr=5H{HKU>_QZXDsmiidKUeKS7yXJ05k4zKUpwXwAJuPPG=h*cQc zH!}^NneOGKSC2wJ_=0xH&Jy7y+_-9(WAwgV-gEaI1wTU>Si7nGDN9ba?7XqOYwx?t z`Zd>K7kuq!!R?$4FvnZ=fe0*`S1V1 z|HLwh4&)!3@_DiYW%W{4$!lJahBtoVg&#lhuL{ZVchGO!f5Y{C;|p;@FeAWXQgDS6 z*NT&2b)J^Tqq2@2JBrX&V77AHO9z{sjG#~qwLey5D_Cl3S-0)nxFPEkbbn_!g)j~G(XupDlFmZ{D|_|iFO zZBp>7ufWAJ5*AYlc{a@YP}zw#!TZWR`9|3CnA7j$Ti~N&WBum8L?YXv`578KP6qO7 z)QJKs6qNjy@#Htdlis29n#O;Y1;;|dp>5Dc0+!!^X`18_A;~Z1Z%Us@$FpGpJ)UWY z`4;i{nsI<7A18Jh!?ZDTg+RY091RTfCOLoBThODTcfhE=M|tDfvJ*X?g_HGenDyZF zOv6-KQ#Pfnib@YU%auHspt^~?brP3weTY0VpTIT3{kHOt(tHaACF0|h#ujIr_v}FZ^*!INer@_51aBlUS=NwQ zBtCx3u$A`!NMxN$K?Cj@K3lKfT28UK(#7#h<$9hyFWQ~R-M~zP%l^ndBp_8hqf9VF z2cHf-Wr%&V$C%kK$B|j$VA;8>FXdIfW*s}NInM5e7uqm>-55;6-<|Ar%0=6WbZjsO zo_r+7C8oCC!ZhIiSR32tIoeqma!KA0&n5W*lQ(EX`(FU>HVn#3M-P{=XP+snXxonF z+22iK;JG*00%h!E3hVKU7t3qsI28lKashc0JO@vKp#=(^$-L4SCeMoZB#nPoJ!%Ov z0H)ZaY8C5cQS#y4qeqW21@=7abbHG%_&cT6GWWBN_^v(MOZTM<{9P=)0B}@z8ADE| zsFu4%so8rhm3`_wo}<;FsX6OEHmQ}>Y$MB6i<@Yi|J4anCFE7N#dRwmF#;7dQviHBj zNa8Ahwlh*c%WnE}>{337F~)X*@a7!yA=ai-F8f&Z7dPZp9-6T{uAVa$js)-lPxmgc zPd42}cGaJln5Jxu;CJ;SPdm#P$CM2)h1+yaf0j=c7D>Y*4NAf63G_EwfE<_dCfi5F z?vby~FrD$1X^FDCFGS9^w4a2wL2~N{a$>}VG!*~=@)kX8&{oHmv~os=RbrnZZA}+> zhm)Ndk>Dl&3Bqv8FYl(VXdnr=#K~~mu<_$V^s99o1Lf;%Po^U(POri8!YhZ$qu+kI zwDqhi=cZcYh``_e%;#CQaE#IAo^t&BTzTlx$8q8_8)LqMo$n8n$DVi&1009QY+L#C zmmZDL`^ytc<{NexZEfOOKU92aiXbXI^-vJo)sq-~bJX z|J?qA<sYn1oMN8=j}LtO@n<>3U^}y6Mvxb!oH%i=?0e}z*|+~?HaXtLG8dM= zuo>Y+>fr?C)0SM4KiELsO-vtq;_0%PeGIl-zY!VM&3gT#oKo^!In25A=a}vA5RRI0 zmI?Is53zp*gE;N9Dd-{YXTjn0*)cXEyuj}J=gMuj-oPFJ+Y0`ykVnCHik)akw5jlr zXL~SAo#UN&>E!wTFV?!)VDbOO)aR3@55*A+NW2DF>~Py?xH;1Morwj_D*?cRFWyMs zPz*CD!-a8)Os8Q7U}xcb#F4mMie!bcJ$We3hC!E9+*JfHNP$<6 zsQE2Cw{*?{2M@6Hk7NutxzVC z@%SFtQvMwAwPUcj;11kwJ^pk$&fxHD&ro9MShKTAI4Wg&h3!-XyF{lRu<0B-$TKi7 zZ!UlBlEhadL&MR!ar2!tK*-nWfX1pE15&E1N1D+2GsVYy2UELH52G_P9^{X5>h0H= z6LcjX^NtZwaU`L%@PGcPoEV4P;E~$PZh*9E#ygUc&b))B@g3SlIw1g(Fw10lj1P6< zQi;sGBT{5teTtj>reJh~71#c?z_(5li<1E=o(jCHM1ik}P;Top_y#T1phakJy~(q7 z@Z#4Q^=7?@5%KxnPThEAS+ZPFV#?6!S~%!6#|V{EK%GHhJqg!~C_%F*B)p+QmUZY9 zN9u`u;B4}%6bBO|HMv6@FOjXnYk=ugNxU*r#;c=R&b;6em`xt^%5w401k&dvok7v| z@|$suB)sM}XP*>-@zpq7gh_Khg>g;ZH6HOX-~h~jQgBTmw#4)CL&#n)~QBOV%fsYu2%ucq;QXfJudYlXh? zTKyQ=mLMJ(FFr(?q>s64>CScl06+jqL_t(#SVRik0~T>Ih4m%;j1~_(TL+CWKKUH! zs=&O}i85`*@!4?YZSrb3S)%RvEoFysDp1uuI6S^bEXyE*L?T6nYeM#We$1!l=bE0) zG3)OQ8UnZRT!X0YW?BE$q+5w15mw&nr{+4U%M{-P)O?wodJho(P)2X!5@G%}o-<+2 zW~fV$*-H({lg5N?O(zt69BnQ}P%$Xm*^JgbYm^n%Z?s={#VgCMyx|)>?PzV^Ku_7w zvj(O9G6vfWUlJqZYlwt#%Clld!(V4XYrq4h$PnGNn?_io4>BmR6?f}gCss~tmmicr zUdnZOtrE*YdlNTu_aV`a_%>UOQi>NcPna6{uBGk<&s`fgmWQ5y8Drn`xS3f7N>0mn zaKQFyUuhi$J%A%@>o2p=sfM1#i>*`Ix1kJopcHqZ1p7R|ZqTh5atqAqot(H>w(j8A zJ{+EHj&4&9@$<6$N#OuSc{2~|34#VLp$GML#j|`Hqrj#T2JfjLCw>)JK3FrtOdX|e zHBl8&E#XtX^Erc?8^Msixb3UeB+#eh5}@h8q}*D+dr>0J5a&wjSN z>*ia_G&3r0U>}61o_`HP`~qv!H#5k#Tz>PPeWu*KYX?gk)-ZkhEcje5qoX5b=lUIS zT;ad?{XZ}3Is4r`6j($N4x7V&`2w`xL{6=xfAIS9!mAgdze_in0)FyL`N}{3gR*1o z>au}d<;QTowH?3^W}3M2=5t^EQhE0+yV-euOF6|L-#nw-owPHj^?&V=C)r(o4bF%G zX2uLKYJ92ur@#8&mis?=TiL#K8@$+y{yD-l_NDT_e)DRAEW_QJz^q1h%O`F)8 zU~qf+>{nhYUw&wRS;tHmov_2JhjEN#FFeEM2Mah!W@wx8UR>T~Xch7A~or(&Bq;xaAt%IxI zqhj)hUt_%emxhua-{@Es-gFx0n65L&t`42-BswV*g4hsiuyg{ru3M(`=#((%_-Ka| zMzTE!aiv>4z4s1PopXjRiwSbV5F$oU25_OFkz+viczc5gz#-e zgV2z+L$L!;0HR z4BUy;d_8W)PQYpM8g}6UCLfR9@e=Ru?%sfHr>lb@X{0iQ@)CI2iAD7I5w4fq7qcON z*TFQL;7P-wogHRO$}U62g&3gdbsc+;-w97a3+8+kp41 zBf~?108*{|nr)p=J(?D0Dg#ufORPaOj>4BP^OA=0cxUjaN?vYsBu+$(j>*{vGZjyT z(O=Os;+Uy82&@Xv5Z|S5O{<6)`5Dc$ep9&*y3^L`%JUs!#=DeCCquT$gpyg=hJ{hn z6DBcBq1Vyk9z}_=@+zM3-Be!Yn@@E*a;)G)gvcY2tKw%cznRVv$VfnYR`&QD^(UW3 ztjsIwhHomjb&ddXK#ji*P=*_~Dv!9>#)PF4GkJ`*27lRZZLiTrNt5*AH!`asn?Cu> z4`KKj5^W}ss=g<_D>SI!1zhm4Okx)J)pQZlyp)ki2lD4J%1B70BrzhzHQv<>l$D?*x{o8L27d1C4SVo*HR=?&l_O2Q}o z>p?`6Hwcbz%|DiVg(lWab@^~rwtkG_HX>z&s9z%sED^4ul9W>@2d2+XH*jFMU z_^#~IP|tMXOrW5_3j`^bqEBL~X&AGiw}=(FAw#1=qKxEVA~UM4fKkDX50p8nY#)nb z6IiYCK91J~c4@zT=bmye%J&x-c^h7LUC74B0z3mO0Fl6U{DH2p6oW7xbp{yQ zo$Z&UEqz1`L=dNwejV{2`br1WuJ5_&rqaVy-xdseXFKTh?SS@PK-9hpm{z>B*LYth zzWGUu&Ymtt5Xntv39{NauKTT0$9oMc>Mp({fwC^mK-?{l^%1#7EH{elzJ6VK@x_-| zpL{C{`Y1bi-^jY$(=j4w{JB}y(t@+=j$@ew>Fsx%*=L=)?%004OTB@AvF;suTMqG; zHx@8*joXEuGlik1kv_(hZ23Sq=P{0>ueaWjZ`};cL_bBjX~W|b?ZIk`_9iyqWZl^weAXdi8&3U_Fqs%$v~P_5!S*HUUZN2<%2Yka zdsUVwDd`qi^W8JB8r)`?fpV6(z+%dMKclmb9v?n_nRVy=<(5r57;T?s)cOo{%t$-= zoH;*9Ty#1%-s|ed0A-rYIi|0x6LxhEmHxIt_HYOk!JlOmJ^f`IhX^}ZVsx)A*Y_@$ zb2t*F7RFh}-d!%SJYs5Y5{Fq!S;x-w&pdaqwC_L7Nc6Ut#bMvLY18I%l2Q53e)H*a z^V*(r9b32W+I)Ta=zI6Fv}2r&;f?^lEk^#QS%R@;!y4$bT+WVh^d1Bl8XRRt!E8Bj z=zQ?WD(Y@%WIgNPXUl8H#zT)@WT0jmI!v)_B9@R~gY*w=h)v`6k3$Rr9N;S!AUk=zV-a+GI;bdH1+g@zHll{(VqHnDh-WX z$7uZ=O93u~Y(8*gJnFIsT6Ln+FUp_l*y{A8=_Ji2+R6+z(5uW8h@+<2_n@P1P1$#N zth{n^f+_vX_lE(T*)TCNRX)RVi(%@hr^j9E?E@It0bVOJ3nWSpn+fjP-c=5rx=>yL zj{#;)^^wOc4uuyFjZvRn82dx)sWeue+W!*HGG-Gkyh8u7jG@o+3w7Vt?lQwZ7IEC7 z{4USsPsn=ZX!EtwqMAeBInUphVIPW+6@);Gj>}O&*6B>0J5$adA7aPJO-$ipG?mKl z(uL`t9aM;???$@%dsC~Y(Hk0qP8wH2pfO5p*xPiOheFe-UsFtRGb@eb4jR!$JnR~P zPU~{ot@3M*X;pR>3OVn!a;OsQ1}Yk=wJ=i<2kp$G!Z+7gIdu%-uRtT6)3QQ|FdkuE zFU8i5++GHfMM>^Yg1UMhqhbzJ`&jWinD7=H0mYKWJgf zP-eLMP3U#|u5wBmP`>;w4~I~9)gSSx=qq84Q$FX?Z=_%&YUV0>O8#5*P6gZYcI<<=N5io9Vx`e&M~ zD`44ntouwJb#D%V1A&nj_gn^`VNgZ%<^`~X6^{ao{Dmpdz$fsEgb}yqxzr_B!V|bT z<`sO&qp%v~1fVGbE)OcEot?Q0ddN=bn477IPvR!DEVEBM=M6adWO);d{H;E(+_KQ| zo(5(O09>@J>Wjz3t`2zpy$Mv6=j-EK5fUiY7+1I_F|LT_iPL=MH+wyoulqC-WXMMXK_bnou=(t z>~0oY1`V3Zu=0*meD8w6e%JUlbZgAF#7k!FzrdMy=TJE}GSNV5e{0olGTF(^s1m%)E z<(|fj%NgC|PuyY@xRHaELOTbp`wmEZX9u`J-VC}}7t_*va87hk=4m#s+Piya*)_`g z?pI$a-So>UfVSVrvZ>;HOv+S!2Jg0g`!T0!PukE3%YID`g=XNi!mHAg2no4*_MJa~ zM^*V#(a<(vbl1Rc7#S>&JpCNcv+UBn3pq2*;K?+47}M81C!Y4{dh~uq=BCljY@;zc zPW~E@j<{OS;%4{~JEb}L?x=h6m1W8LwcZ_(*TA=5on#cy&Aa-i`$O-$gyUrzV^94; zSsOP>R{|0@C1ZKrpMzTXh*}N$aC;z@4z~ydk@D*Fuemf!IR|q=+iHkTREEUw}17= z%f0WpgEQ$@v8m!>>2WUu{>@@1T(~@4USrz-Hy-|G`SY(nUYHTzXOARgndMqPr?ilbS|6*eS;&&SoS7jhA(GMQVqQ6Ds7O}w)~5GC_CP`YVD(#=}5uG-k&z}dFyZ{sYHh#51`zP+1S z6uoSOh|xWLS$hf{*ki<%f~4={D8dD1db+V=S3gtixlgj}VTSs#{4vl%y($~KIjv%Z zfx@1lRh%+`%>}J4u@68m-*HD$HaB8S&Jr(qMIP|E(Ug4t0l40hVP7kdSCqS%DpXu6 zp34@DxvAqP%KYXF>{z*$^+7N+4GH-I{UX5?Al~W=O|Y(xOsb&p>H7!$I#l$wUSiFY zWmh=s3EsSUbJ@OQI}B&zbJLMzcm=e=ZgOg}QU*|lVNN@dFxU~IKI`KRWdnf)*m!o+ zAj904%*$ufXiO{Y?WnvItSuV$Bn%^jg2yO79a_S4>NbiI9j^^bB~`(w&^9lLq_OCq z9iK{zc)Qt*otEV_%)0{GFdJid>WP<%Ee%pnHVs_LE2zyo1-2eG1S}2E^IG-X*?E{( zC-f5qJD=K+$#CcfygBoxoZ=(?6~f4&d^WB5i+g=HPs^w?#mi3KZ^9L49W&x@Jn7^& zxyLDI;$?VT01pF*uuuTNf9K8}p%|QD7ggy$iEIcIx75nZ5jGXK$E! z>p=0j&P$qA{~L6OxWH4))YAv0z4@9hgb*~U_a><8DKe~nESvG;4?)Xol-IPDGUx{$ z#`8IUGLGw7#ntkNi{E_~NGRLnZTY0BG&YVj4%{ezotK?)J*&ZQ(rXMpuXV(nDa|#aHgF<&yg{$c%z3{FUR?+DyDX5 z^1B@@h zizBLltFqn=EsYC_f@{aNSUOON}TrN#s&RHWGI@YW5 zt%fBY^%Z>0`wCyGz(~)$>NLIyS047N!p&@U+Nt!Gp3z=; zmKXdpr4)!AjWvkjd(&&6hiru}>i#E*ZaVuM(wYabL^Ik0kQ`ZaMxe&MbhaimxT8-4 zS?e?UR>JLDW^le5Cf`|d;n^O1j?$TlSk^S;Es*xB-$;w_%p>l=$r(u<1oa_PnMqqN z9689S-=^{lpZrMq`V0Fx^L&()DD)ch#=#I-bjK(gv#My7Rpd{5@Z9p~`}r!Rq>Iz3 z*E1D)a?J=54xYxSZ=1VZ?qR3v7N!fgF`7#+jUfZ7-~xq6E3KgiI0sdvgYZL68BRQ8 zZEQ@3avkxd1938?P(&{2n)oJMNf4xnWPFbRKybGlzDi^3NgZG<=d3^T{7dDpSPOl} z?oDyN_8FWYIyl^oz6TjMgP|Wdzza^D_gMqBn>_5xysSstkvyfbt!$w3$Ol}h2m4qJ zx|63*GD42SoGHli$twDqai+{$)-X{m2I*$#&)P8JbcDwSe1yrPj+EDX+L*U;)uo1x zg!^6R!HQ!NK6ma2c)5X?b!+DYT=F$VpH~=(M950fsH3P8M@XTOycYc=<A{ z9PvoJK8;O`CbA8ECmsI4BCqH_H0J3KLf4?oq31$tXFr4!g**aZF{P4YMy_R$AF_lZ zmgNEm`Pg?jB6vf@#XArPo`Y{%;cJ&|R0D=fOow-=flCl4r!G=Q8nhUL@Qe5ce6!$E+g$1oGY`j;LqC37_2JRFUdA8r4+5g~mrbtGP$jCfD8KEI81_CxGxF*S7=qyBPv z^3b93t3URE@;5&DACw!mt%_2$!mm&Op0Pa85l7q5z$(^^uPS$QR{euN^~v(t&;LdF z_22s6%T3$XW00?o_BQWH1sK)tE7ZyH2reyY$3fIadYvRuhYn{;7kJH9FLB_v4vhF#HYHR(Dm$qvW@Eyqpr^e-WE=vxDsWiEV1@9(yS7WrPdd?b z;G1k?EzER;)RYfdLEar0=CSnCda<+&E~0){2fm{kvoGu`8*d-Llhzx@*@Wjt z#(;=HRDl80e==skXv!l5y~MsU+d!cfWX<@zndg8Rc_=UxAX&kdrBNQ9Rs8G(>=Z&s zBQR$1$T`ja;fEiN&fZ;a?Ko!GRKF^#45>(&#-+IED8ySIv`4b9F-*sE5p3WL*)TNYvJ*kFj()sGje#$7m$j#?4o zE(|*v*FI_dI1R;)%y5s8(b(4uuJXDX+&u=yPIZhCZrNNzT>LMCqg4=!ydSt!a#Wl^ znYNoFy(&hQ!A?aZeGHFr7o#b{ccfW*NqRfkx*h^&J2x6^ZB*JB5FzMdm^k?!7XZx1 z`j1YUK&NslaHXwAxdwMmyK^dc=4F1VG&0SHyc~fGM@%IY{Vu(o4u`1W-crtAILl@x z@&dw@GPTjs* zV&0b7FdLZRA=s%O^R!;<497jk6rQsD*%lP^**?4r!#_vyExYu0l%!4{3O78Vv6lv5Y&K&^77BQi=aZ_H4~Zq6c)imx*0JMRanU|hOdtw<4oBwTVD3jjcL!bN<^W;VvzK@4T}P9=FaLHTBi;1O`kJJiHGM)( zs6RTQa9;3Y~b(;8i={DiZUG)ZF=eA;jyc37kVnNf@hmNDrwLZMkbDsR zVHnZDX|Fer$}5 zkjR~H*~VI;zsRzOtZ&7E&U#BS3d2weNVi24yO^~{x+uR?1xME=d+87eg%g8*87nSBdnyGMwqUv_WS8ETL3K+e2Q+>(WxXcuBtsat81r=xLeb86L9@5olj!9&vWP z0HA|Q69-f>ndZBOk>Fz-3DwTATtCFoSf??#_q~Qe2|Z@fE7}K{83+!P6dVC*{_v5G z2=Q(~$#+`6G6_y*9Y5zkcQH#0d{?s>+Zp6;FN*n@lPAgt?|M&J4Qh+0PnCXX)dPLR z+d8sO6g{11GOTr}L0~<#16v+T!xRcfUBh#vlebN$aRGH3bg>=+cw*dm7Jm)?nwLr1 zxa6Y*kZop&e$aKpM~@uGVN3r>39(zUt{6;dVIP4-j0>l(D-)G<_6hDNZyzgS>NnQ6 zmoq(FE@}Ib?=C>=K1O*rF;F86PfyVRS6pt4V@Xj^>AMd{$p^3S(bcALx;SKmnD#@ z){}pcu@Ed~-18S>Tpb+TlrbY~M#~(1;<;0&S>~~Zfi~BeCp=}pxU1J$zad8`t2y>U z`x$0f&beWrvjj1Ooe9y9f$*NkQ??i%+;wa?%SqZseFWWdP)S)4Mi}4fdWXpp3-YH% z$q~k+tTDQbauu_fK(viIZo?RL_J$20bw}G2G83La(=4r=?cPOsW5k^>&vsigd_6qD zk^<_v6CRqg9)h(23Xd_e=D5?!UB1ycW)8?`E{Vot@~X zryMj8&n^bsXn$=?p`V{DN6(!q|LAW$SbpM1KfseZ81CG)=%h7D;JT!UbU~7lC%!W>88@Irdo=JJ0EvyJm1)R+bz_$r$@khN(v4T@P@M{1BRu+Q z%Lz{W@b}KXv{SzC%bip`DurGF&lO5KJ0-TG{9S(OK$#vvm~7t)Bc~U&RZkHAWEii8 z@(|2(B`T1)mT1@baAi=unIJ0W8sDm*kRv>Y$FPn@U?x>a(wJlx{_h~;)8}k7?v#Im^BEN=j_Ph$vp$R*l@>c4VQMrh-1;!`6)Gz8zF%g_ zl$}&3N78gNJ;pE@d^H|-pB??yy&v8)7}sNh6qZi=6269cD44{x0}G?j&IzN;_wn#< z+mP&73T44NOx${U{@HVEMnj!Aon1xH>Gv8hK1V%}CY~vS_(WqxsI~-7*%)m=(%C&=okVofp zt--MCr9vx>!Vsg5gz43AUhqBMk+PvkLlfc1hpxf$uF|3r1L5gBoZjS- zKWXTQgZ1rf5&6XU!dBo~AL1>(I*jbtqa$JZlN&qIczc;YZcXIM|Uayf@amTHeW4tI zpT@cy+z3~^5!6U^0*zn9i#P; zG_?M4l+Xrhe$!|NWY8!KLbBFzqwEnUl{@pbGt3Tk1y)TzWuoxBoV6lt<)Ls!fSV&# zwoCI-iB*m$n<78k7-81AxC_U8f`6n5myoS3mo~)(AnV3J4Q}I$uWiHSHKJl3wx62c zjqAG#Lyc?QHk5Vp(-g{$c}Yv#x%r8c?LZosR+>xaZt7EGZW8C2&Mk59QeFsGMjBnrb4^sroe7(F!xmD4j0T87N1-F|sf9tY2YS|SItg6j}lLnyY1xu>|`h<() z;LYKhDV**=hXT>_-H9+^w_^z7q&e|kd%1= zH^66q9ebw0Up6b-SF|zmn?vD8JB2`&QyG>0wr$k5ZRr-U&@6-a!BXH)`+!zDy_pY? z%t=hkmb5n)F3Tq~U2z#8V%2ZZm-xih@etIcp0G1YFZ7)P=NbC%0p$OMGbhV1%hW#g z;SZHR{L`@#RRnkWZ}`Ls7P%smNy;c#1Y*T`Gs- z-Dmp%@DCHvxRf)LZ{>t(s^kswNL*_t!sRL-GhMU(7jlL&%0oUYJ5A?uKS%Oh25HLJ z7*9FFv!j$A+ooI=eDE(BgyF!u{O_oqvS9*e_$8cuwt4IP1oU#JZAV=lI8p9TPO*-e zzN-f(vKz6v)_#a}{waT*!3bWoGabl|9-60p$`Uje_Gxx7A7UzS7{SP4ojR6So>Jyn zhZV^rTRNXGbUNVyHziwcVMZWlsVy-BY>KJSw!LMRxh)b$r+l0R?NmF<=| zmYYBMyb~Q}ri)|zJpPxu>vEbjGEX{d&{?0x)le5XodWhTE)VP*pdVuN*nV9Z*oz|y z2@XHoR;beog&Fz<|FUh-f59IRKgz7QwB1I0@gxsRfi^*U{s0n&De#uixjH*pI>Awc z6I0aLJcC=n-Ncf{A=ZpLYhY@cIM@*`V|?lIg|cw=tW!0ac?W-(+3;W)qTkp=e2=Gl zb^oEVmR;hv;n;xFF_`5l+rRx*J8QSkmt(BmW}bU#V@-CPzJmj@V9;|uq)f%yOweRT zz}_1+P`^%dSNEX}Ah*wspDDloD-V{BeeiA^b_{X=d1{)u1l0F=XznI)&ib^Eb%4uy zzkbW+vTOGq)_@Pj(Rm;L(A{Mx=eqyq|M*YKp%W+2p;!U{o^Wbeo=?a7B2(Dgoi#y! zZy!VxiQ>u+?t_p^IZ2_8h|JL0(T)*rT`%dpCxIt*^s1+T!}20aMKEmJVwnWMSi=xA z7Nn2;ojk`qXHmk()Rq1267c5Xnf%TTp|spiA_SZEfKCyQ-c&DJh6ajY9l-6*zyx=v zlOt?T)Q`N#hIbnKlnla?ClOlWN6zsZ@4-1bd2D0UEDo>qG*~$EGLH(j zFiEK{9PCG0J`&G7%$+Mf2-S-)gX`A_d*}STErz`cqMZ!YPKN_Q5en=FTG}q2FXx|s zrfgshMcc;pbdF9fp+QqCS*a3!g?2G*t(kT*z+0qjioRwb^>dYxl^2y|b@Gq*sM-h< zFXO`mHUc^f6~a-bGz|>&a)d;GD1M7Du126ro*m0(Hpfu;K6>;>+0(K+lv+CvjUw%zKhn*__&N9u+&PGL6r7R2}z7MhPY8GYl#eJv3sOur^G#hEC zU@3r3oH$l??ATdG@EF@M>4i4_VrAUwfS4!#=y4R5ojt{f@`nJRJj26lFrstjMeqhNg|8u? z0j0A+;b2*YheyKTU%Qs|RseeZ@o%yd>jriXU5hj06nR>I8Atw*w?ZJpbC$=tbp%>( zs)m}pq5`Q?z__mK+q!jIq&a-}VAP=olt!_J<2Xv;1r!hKPrlJm6t27Xss#Ie7H@AK zhPE>_LivKW<`JWi+%-Bi&{lCoiUwvHZYZ4KBtH#6CwV})(n_9pw0!&a9c9zT%_uXM z!il3(>*kyGQYRbWrK9E5S6>OImU*gNIbALdG399+ZGn9&;755#Lp0g~8C;yb6!@7& zp3-Tf=h=4V<}Qx37}sk$oK-5~%%-92qwGYhVR`=iSd`CB2XA{D&=Y~P z4ijhb*jdNAPw3}mdBjm#$jk0NYdKDwI1cTpZ}>wVHJ-ep!$}2IKCs^78}zn~+qR>t zBd$&oUz9h>c^xA1o3g48IpsHbONWg4$xk|BH1=V*;N!ZU7m%5z6^AsGk+;GFU(x`iTw8xJi-?kUp+)jhQvzs7&)4*+;qM zJL%=0hJbhR6lcp4bVf#n0}9y?dz?@{>&@?$-F6~C@wXnF0T#|U>&Up^BhO10Wp0gQ zBR%1^OO;MbBF%hP7D*=^G(5#fX3&%Oy1ed)Y?!=YT=A{zSEEcGvrNvGkf+Sw-gb&M zY&^BI9vsx8?EHM>_}N%`(#}-VHWb8G_;45n-MaM%GHIaPP8=;ef6&uu=l0}Qg)|@; zfApzD1$$(i5LH0X+G$b}*C7lzDrj z-}-ah#UR^h;K`d)@z=56%lUCO@9!$Q=cgRs{ixl_rLaaHjvv3 zZ!pS+0RFg14S|_Stg&#L?0N%=72ZmIv;+r`)`CQ)wAv zx;g!)BlvN;4E3UZAb-d7dwB^oMcH-AVr{+pPdfRb<_RWAM7}!7rKz7)lKmbRH=j)B zzX;}gTmi?YDsJRpF7gp^EvMzGo(=Pv8b!kd7wSZVM5k*P_2rf8?&Vq1QjauHk&X6Y zTaC5w_TR``+n9VMPd)Lir%MO3CAxSAT+I5r=RJ3YteN82F&#f=&zz@i^#SWLWv2bZ zhx3F>EPt2jE5?|m>Uw;g2QAE)=x4ffhoijqdsSO?W{J;UK~L`Xe>$e-=UU4+?TKEN zK}!06^c2&=-WX)o4}a3Y!bxoD>b(h8yhQEQw9k7hZK{txWd>Px@hm%!Q~q9@(Y9+a zB7foV2fcJ0xx2a3wUr6|I6NG&AHOhOE{|WJJu~Y8M~7OgeQn4G@UPpw^{?(>TU8Fn z$quyDxFA+Ia?CBtz(a)bL&k21*v9nu7Y`mPw`^NmZrr{O1KoY0I?M5sr^+{8dabPC zeIuLIIS4VrrfNU?*FIJ@u4Sz|OHB$(B<6w9i~i#vj5>+4WbK=daWvW^k3UmRp1nk$ z!g32ng4VFXTqZk9ZMg#H`*- zs9`VHD`_a91>#x!eQI3QOJv&!d}lqRM)ZB+ECU3MpoF6zb9ndK@LaWH0M8v`2l?KX zvbObIrDY9AFtD4V!YN3qK!|74CxNSK`#v$cR&sKzYfogUa|OPeiTIB?kIPE7qYS}A zhzjP;oxAY7oh>IBjeqvJXE@XJTqwgD_c!dhsT?}=8XX2liy;i$(95(cfa}(62mz5J zLJN3?N6NPCJK}pNoIx}dlD2ZgO*eC=B@ot7?0}(Q@w)NmTOwVImeK%ghk-_iG$hMt zK+@5M69J^NETM$T=FtHsv#aPCC(;tWb?eq3j{@2>zP$Io_wrnKMoE`6n0=;kWVFCp zdIB!~5(bT%0Abzr?hmA*6f_1u@D)xdgy2|r3YODL42^18?11a~sPA@;rb(rpc;r#X zkMtr^UB*qJl!|99tfgPw$p-%tKT?s_`U_)${8e&&H;(z6M!fwV`SZ=Gdm4Si>`bac z=ydrpJhjGMMF*P7e$Hly^zgm(BPqf)J?6qzVV4($Tj!}G#&4Uh+Zo^NG((vO-`?(# zavjIHh+Dv|@T=cPM>a>Dr{b06GM<<44bLSK(`Aq|Rz2#+%~Fih+p{Y0*6GmBdU89u zFtX`Thll3kn3<8`QNr1rh)%L)xr@<{ong#h=7fGB`TKR=RRg+=m-)QjiqD9ju1}+mmOLe&DpkXd&~~` z+@F1h_?*hYS~i!0NY9!kLpZ=<#`J>)kF(f+Ww9G0p>u|JL9?Mm?@i64U zk!aDb9I+c283_lWBm1V69;R>^O2`9p&31$Q3V5c?HY{ybQZ%Aiw?>b=N>(H|9>_Ero5uRA;VJ)2uVLY3eT9tkU7A1`zk5x%378Lr#qt#H!V%w;StzvNW!c=+sdk)+ zo9lO#&+?iuJ^pDFx}0Gam+>BY_+gY?RVsB!Yp^NIq!Vef!yZipZss9 zUL%i)M*!Jb&iqr3SX+Gj4ww8_U)G(rxO#@hvdW}tWIJ~i@eu|LE^{BE&fN|B>~r5P zqqn@P{M;uWDA#QpEr0yTV`cxLlV#7&Tcg}6>+>kuv(Q7sX_;X?uqs3F*Y-R1FcV<8 zjGtuZZJfHJt9r|if9!#>iJ2akPaZ2hQy0o0_3K8)@^%N7teX)oL6lIQrAfsP%04ga zOd~=*vEQ*|mOtnobj-focz*FWN*~FM$3yj;G5k(=iq%NN4;P`ti?-``LLwP;?GiqZ zQ+0-(@>A60KW9qmq;Wvv^w|s1{ydIMc@w~dD$Zm~5x8=MIt)$>43BMHd)>x}V_&FY z-p4xovz&LnZ~q~7Q0MqF`j&$)yey=09kUNRx^QA5`)r495Z4Cph?9Orp#LU~=t`eB2ae+m_zW?dL75XL)KCYVz%xIcm(oGmVJ)hsiLVBI@Q7_!?EHz#cF6;6 zyoUjq6U=D+#ZSJ!{M_IC$wJeIpK*3G7;mATdg96QTfg(q%0SyisIX8zc+cJCQxD!# zRzWgn!HB*szcLBq84(L!1h(E-ZoYAA`SsuYoifnHAVIIPnZ2`GrppKJy@QeXfvBUF zrJG#hP1~^Dt3Q*Li{?V#Tguw?|4I2rzxB_{2^<7{4DNK`?D>(8y`LlE7>EKZHVg!DW4!yf|GR{M2ujzyF{AX!+$|`58_# z=qS5)U043rul$GQfBx-%Q%>L%804tA0UV91&}E#V*UA1wxhH@+pL#E)rj9jO)eWWb z8v1|xAE*9L(Vx36xhx}kWl{e%wBqFvW zgJ{ggn5NQN-~~Nx$|nC}GZOO`0{MXmf7UiwS-~=t;rU~P_%pswz8lZBYP+#LMp_^I z54?&q{qT;z-WJ0?*IGk9=sd#?q7xjUFx@&=2C3*SrfAF@JycFmIU_eRs<06c4T4d| zsRxJ*T?_N4x zys{YgANlBqY2@q<4^zsZdIkkmD}hd1N#kx9rFh~I_l@xFONu0#bOStvrvt{z0 zJaFarI$nJjhJV+JTbH~3R;Ot$NAq+2{d+A}O@BpPEePmhmK;sW`br*ix))wn_(LTd z2}SH2(F^4WhLQi`4?!cpX$aCNh-)}CO4b`+S0O1ef&<06W%JzF}A0`k%zu>-e*u=DrQNC^H9{0r^n zeS9}B@quQ-A-@c&+8!^KPbZ1^roy&@pK#4XBTywu_?E-AC7c-DB+O+U(#G@}M2<3i z>|-A%j!K4YG!=@-AH2QSf5Pq`!UY$f8Pf}>9MT# zGvc8!<%p!P!)O!PD0|YwI97rV6KSIXS6}WSUmX?w%1Et13$_GYNWGPtqdj zs=~ce9>3dRu4P@Nmm62=WN;KWW?e+bnxo;)%n^==TaPa7aQA29Y4|u*THe*6ptI7l zI|^;wX*%t#+qRec-g}=#qvPHLf6zJeEPtee!2Tc1amiL;7qf3d6qT1MHRvv|p&nJ?-OWmR5C6Vq$pNMpZS zF6rfR1?em;rGo}`jK~8_`J|B_PCVe6ccdk6@s|eDIMM>svROYmtfC##K77}>F>muU z5Bb*brWI+QHS|4dO+(6c+T!Lk>ca;QayIpN*|Bw7(C?||_mwT1wwBxOxUJlBE5#`?BxF7h+?xSko)c!bItFwi`vafkGhvkTuj11tQR$vE4o2I*wO@ z{VuPQsEQ+<<<}P0@7v!iUko#@eY{6Q1y7nM3ay0`y7lt=>Q+eXW*UDG^^6N38JHvF~ zIq>Kk9YWb3#u2ex)^faAw>$$c&#^|g6SyC`?Ur))o?T^>qFz4qav7c&D}xyHo>8sL zv^#CX>1jb+2kwZlWr7l5htUwfd?rvCqr8z%j1z%=_Z?bkY{m#WpMnAr$#~U!gbQ_r zcFAW(lq0jB2wGWx1RJKZE^LuCwRj{%%dkNE#_}UvhuW5Hn`4LkLx+!$Sh(hv@J*Ke zAtAKA7}X;zjcoXux>XLW8eB~tI2kuwU+%f*ebJ_SY0qnZd2RXDW8W-aee?;=|7JEE zFlI2)+!VT_lLWlG30phuUf!9aT~3~7=2`Gj6sMw-sEGrAe2YF3Orsx#{)^5qVd}Z; z47K@U9}dlAX-7gygDO$Qw`{`Zp2an0q_XVF_4+NyL0Z>f4~~wo5#dC+pmE-cV;ao~Sw2y7jUo*FRN!iIw9FNWNiME-U&NT<`8UO4m%F^)VfA5Zq}%DuYG z;%l8!@Q9heq@vw*vOfF5_*nViZClIF|Ll)5n}sNhpwBWZubaUGPZs#_`|d<;{b%KO ze)r$RXnbqI@yXP0XTmPfZk*oWRBvTd%036?JRt!`JuJVCGtYnS$39X%_rZGG*>WX63$5IWW|UBS?9y-0ESo-BFfvEcY=hb`||W%+__o-CWA5 z9PM3V0D>6{_9fI5{T_p{@P~3+CW|)B7yA+SBe9?3m5aKCS3?)2o|XO9sml^P?Lm3D zw8$V1kuRL@EL%6R=_2(p+`cK}h8&T*?OT{h1`M5L&Put6qvPc1^PFOVV;z{wZXVgD zY@*F7277=>zgJq$Dq5-N1!pS359 zs$z`LxUxbTuZ@S5IJF?NQiBO14xuo+LG@*0m4O#wEWPIKFnlN^3bHCsVJU-5sDkUr z{Sb;`FjaDxANdonn(OL!lyAF63g^Zva!}-lSI=iVDDw$Lqk@u(Nsfd_OGh0d9{GD; z=KR^f(fF=wuX2`Fmd8%Q=fK8izIzcA>HHRPB220$1exFGq)|2)!-SOIl*2X*aaalS zIeVF`xv*>qF~h{dGFF#)NDN^b>IajD$E}KU^{py^H}TG$p4+N9002M$NklUD`D0|>~WrUg*(%LKEEBF8lWr=V*_B25C zL^9Q#HqeUFm>p-NY-DZRFg6I*0VE1ZyDX!0cU(J>t*ELXJ{VQ_$BJJXP?Mj8Vu5)=xTG^Rd{~A5v2$6Zn zKI()=>tCqJLHq`qDx>0)mxh+{LoVnT;hQ6}hU7jL-j1fBNZdr&EvvGJ<(J>!4w&a5#>L-I5Uh~NHeE0IwNBdrTxN%^X16VgJt#bIt&w* zPl2Cj0r6T6tQn1c*SZT+ zqeTR782D5a&S$gdDRfn%_*_GV2-Xu=kUu;LziHg}v3zlg_H>!qT~4)kv|XLk zdaO5|wXHeAx}=j7-k3qYxKsS_+EGTGal)e0n_EvC&J{8Z#|dTg8M`lN@9d8lw1ci* zEB%W6QDdqcWp*A@uwOlSq5RTM{!rPtn*FNA&Xi}Kc^cPebUDL<*?SX=1P>0cFYmf> zS6Mf@y6ih}pj@OK?Y(s!BkWI=R}MVKneuDdbZ?mba=KW4$`T=ts=GXKu{`nAV`b}> zE#>1s`bmz>V`+R?3L5v9_1!q%Ry#`q zC&Ae<GJ76ez?5*j_u_){^1{#_uO}Lc{dI@s;J!a zp4-apUwtHI-Szb&vzXuCj&V<~3T?>^n$ApQd#ia&8LlCI`oz(4{_tx&Ln28J56DL? zIIErfu)wSWmzj8kq)zCVnP;0KJTyHjP#%&8+)S_qdFadx^$6vkx*%?3AhBNn|8#ij z;8}D=n6dyFZ=bQK!}2V5zMVdD0-5W~$Q)Qu*KsDZ_EC$oURaAbGY4dx80>ur51~(p zJcZDamb?=!hY4M(;2Xtty=GNm*wKe-&mImT5-qQz#UZ`^wpic&6XAw+yp+ zL<{T87pZ6kPrJqhqXr(U;CfKkoJoAXP%YBhil~%6o>}drLSiwpy=HJ01QPQ=4-;>1Q-GaLYzmP%lJNs zmAQNQ>|?y~;?x;Ci-<|%iVLK&1N99=xa#=v!jFy9tL|tsRs>Z)`8|I5iN@Rf`E}1# z-i`3rL#%OWM7iQ2(`)q9*UGw=#HH?8Qt_!{HQnp_t0=Zo=qi0v)Od{e6>SJ;(9A{{ z-|BSY=5zhdQ}q~RB(9xX#4;`a@{J@lS-3Y+#{hIdi@$SKP6M0b@D_FIJrej0_;s0u zYhJO&vx2A-#>>&G*IlGnsi?1fN*tpMeh&oXwg!ggLT8vl$+TBM5T1#n%zkMu#1)ZE z8kd6FjrojgyR!4}3gykvK*rXPVKpXpShkYJcd`?=8dskKmq@t+Pi4?c_|d+2uG2(# zlt{XXzgN=LI02L2#KGT{@?~uCNyk?t4cxO1GHrxb>92fF9y6A52gu;5LF85E;>cLz zV$?n_zg9fc_-NR*u9Y$+)HjNEt+YP~VRiYN%VOAfr$eOVC) z#La)U5l7^mO%QmZV5npmred3T3n&c{(}jbGdt9Q)KXJ;q3Da-B$Fc`TbK(e2^438l z+*+9qJOY$u1aD^H7-pHJl`_nwB(cFDg;+x2_q&%4feDPI36y&`vz%a7gG!mxo;B_d z9LA_dQQWa>3kvvf$dGWxkT%KIlBGia5U+ z1MShro+vNB{2EjvPs%&QIma6I`%df!FGus(@C=8=G{bprZgqKlf8=}9O}8^@yN>5Y z)>mHy-V)B9_2jPsBs6J{F&4u}zEziNp`oP?>vkORT8-}PAI2Wr%xOX#dv_tYzJ}ntz$iSDoQwVo11ftHj_+|<9svjxM;Q7<<( zY(r6JD;sn+99ona;)6O{@sYRu7Q6gAMMj{olqW2CLJk(OGgMd#Qg%G7{vj(xJyE3;<%k5!O>lj#yTdw zvF;f*wYsy>SNz3|gC#{D=;26bTcVHmq(I0eIR zmiY=tWI~U1$8+nMdg$!S{XnLenQMJ_;+T}jBV(djZh0%Pj>3So{V3@zh$F_ZCGYmr z#0s9_n|&)Zm;v8IhfkHKo_-DfbdQa(^5k<*mS6mvr^|ys@nG3~)9&*Adv7CU%KJ&2 zkUKVAU+&nkr<~q-Q+a|Z`^S!-hSMW6Co)4K9`+ zy7$(yh8^tNDB}$KSe;-E{iRus+3RX6+c|0B=9_QeBo;PwMlSDr;l=X!V~?{-|M~LB z!(YNdaTg>1pDZVioGdTz8!tC*T37z;PrguY*s&X@LMO9u2Fv>>XLG4?{j zVbDX{v+dd*f}h~IC1gujVDK-5CXTwMZ43HR`RXjd2xf*W@#%LT- zhAfKGAzDo~C$Xcwxlcz2ZOUT?TcD4$XvZj>rQdSUUfMZ(%F z$IBz%z#De#M7i_+`|%LT8r7&7dBrgZz-m-#JRq2W>7!Z81m@m|<8$>Q9`&$yMs!MCR(_kXeIqoR(TX^406V_#)}Wdg}poRy7J&K*)S*qb@&Xf~dRT6+&wmjkH(OzzA1I zx;joHF%Q>7rh-xBZ}fPq;hKh8jaO$yp;oZQSc9aFmV8>r7r@om3QqEI#;@g6eZM-* z|9kHtW64h1TPGUF@z*G0Vq7~P!l*JHBO%gZr5=5*@%CBghk*IxE)6wugdLY@{TFF8 z$_VG#FpVTfB>k963Rr%D;qB}M4d{Tyx5Ny%_TK`n%8(i4?~;ZQaW$wMIdbDr_t0Z`!nx&1v&=nyd$NixMRgA;+yBg5!^}`@)~b zmZdk?wf6oALpccrDy60HOQyYtLB+XzsOnHvGX+}TU#X5&L~IILK!Ci*ooT2rnJoD6-RxMF8UJan>tzrj$2%{GVNU&$&aCg11qy7n$N;X z!%(9>4ajsrw=(V55%?iS>D?qPW>i4gSo%Zinn%--0OyEa{PQ`V?2E)%{*Zibu6x(J zx0m(TttDUe&X%%?jYzj`+fue|-&$Th`yy$xomjI_ARHBrhHG^2C3s32nx8qwU=esp zXz43mbPA+Cl!XmPjkGdN6gzSBMXnb|@5YWRVCUnNVbxn5Sj9_R>O|te$SGyj(7M3# zGLh|PmX8iW+q5+EPkdaW5_N>(p@gpxdQlprahn!J~uG<197k zoo%Lb$ZtVz@{U3#`oJa+tu2n$GaqKXV-&iKv9F9_m>?5h5!NsCnzKK-2-JKyXQ~QcKcZ}b2mp#?!oc!>MIA!$rESF;X`bO%tn?!^1~l5 zpC11r7><>H{d=D+KmYST!xDjhj`rj(mGu zT<`~UclUYuOM_eK;#u=fWmmS(E3<K% z9SqYqa;6a5l+YII6S(K}yG4)s+!f z=FVHDO9(>o-8Z4V6EAE3`@TXRQ6W-H@1>4nq=`8E5fe~n-cRB~F*Sr<6da)2I zc!9|K@_4yKL;vPizE+<4%deKcu7R>?`>t{w(^GUJxZTMzf=EwK)^=i{pkAsPzR((Z zMZV;Djmyxw4E5(LV>Xb^&jCM58t--7`d-7R?^mU+gSo#^il!*v_3_QXNE#(sjQ?iS zSdsrvT;Dl=JByX;JI7s#_g0^-1-Ch@`8i=njW?qf!B@xo4)3o^TjNX`d-CeLytu+$ z###B6SvJ2nJvYOT=ap|)!mIPWk`p2hc#tYO?1)vtiLgM>r~1m!E1}finvto)-pW1G zzj-KcK4xOkT#h$`S2KK{o8L{}^xoj#rm#1Y#dnJn;56iFxOorOY2>*Aq|uJ*=#5X` zt?c#p`rb(RCLZcEugjFQ&0+PkO8S*xT}twXR}DTQWbctnPYkHiL5td8j%cI_@-)+^ z=5rzhNPgt}6~j7G5=ievhv}$keTi$-|Jl-S}D(4fr4fbhJ6PGYsUIoFf2)33ZFIHbRMD>pnx*5Slsr!A%I)a}3r1n}hZCvKExl%YJ4exZd>Y zOXZkkfkd>0c*#1}k?O~&Be3*SmdHA-X`>uox#F30&ANgtkMgIJp^eQ}gB=4NY0&{SlEZM;gJ9+sO59M;%`ItF1^d16=Ogbm zN-FK5L72v-%OPBrZwlnGDO}oBg>S@(pbC&q4DnuI zcFP&gx!3UasJ||B@Nn``_N)%*ZzF>rERXuPyx=U2#l;DXT1S2tN*}a|3L{$VM`3i* zI4Gne(US`xScSH9S-G6aR9F-4vLa6TD|>eDDf?eM$da6+7}xXV@BZz-Q$GCRyJbdZ z_A&{aY2I`2Qx|-2*WP!>z7q3`?1=-y8tuDx?~FFRZ{Lexyb#mpcW&9lEMoU9;WP#I z#tKBPAS$rgJaLrMI2`5e#2$G5h3DhsqY+MIQHHogOJmx>MK_hThj13(+~TEjky%Zh zY^XQHX2a43`APaiPlya!NTg#$M6^>L!q0QQz>j2KNFE1?53EP61_u zg%#)e(ut~^(~zH|ZOaGZ=#nq%N=K@jl{%AC2ZU|OC1sA-TmSN?gSl~(Bu29{WSk9U zUAwoBe6xfQb2Cc!l{s_r1V%L!0TuC|rG3s)7t1aIr9Kyo3~%IYkK`FE+jsl(+|<*` z=g)$gfz0j=pkdq-*DKnhH0M1Xsg@u219cKMDBtSV6f7F4ez1Pt7QP>XUgok6J>_;TRV?jSNg8sTvjoCr3dD>5>%>U z#N7(f-Aq-a7b=-Ao~@O}U-dvzJG(ZeD~vcfcCMT`a;WTo`biA>zbH!_FEi+xMjC${ z$!CYp)IxSWLSdrg@*hdP*H=CxgzJFdCf~#>LxaES?+EMQyZZfgchW?%Iu$SVHIm{*21s*NaeQr$UbiZ`Nx;n)6V=#@Dnq}Tt}>EBH3 ztK*Qi%4p?_Ps;NeE^o96%jZ?kvhll0g8D+FjX2c{&;F}nn7)Re&rRO~s$T;l_c~^L z2>eK%!RD8G8sR)QqBcE)P@S9jIojzcx_2)XIY%Nxp=+d%Px(U;Liwq`0mIARD6cOo z8T;1A&sY(gG~UBVj_(yrV^*G(8ocS_YKBSTfB+ng`WVHj@Cd_D==={_s_+3ogHyZ= z3nN=Yn-9{$siTf^-O7e@{&^8Qis1-Ny{w{M-XILGnpT$EvIs{77>JSBaQ|XcJ@XZX zNO{$dxN+6>lCeb2$|RJ}KIL2WwE|{sif#Uygt{|60ct`Fc5y@<`~+@M^SnDshIxU` zVhE8PU8DYEh6kC2v29}030+k9*C{>$m+FR_efO(Z#Y zfn_#~*q>#({Lrcm?BlUmUfs8kqvE!gjck5*kh&}k`2w)gHU7aB@XP`>j2t_{tc2U&bt_Z&r_2BOr=N-CM-BomFpH?4 z84B)k;w6kW90krGxy+`ZT^NujF=Q8R;gkyKHO~who6VvpS>TA+xN$AKWL+<^gk-W@ znmk$Vf8d_-sh{~N_&k?>5s_oGH}U*>YD>+`Y9M=j zwQYiD_}7^d(pp)j1K6b}8sfI&Xp3O0Gr*-Zm)M`fQGa>L%Vuj^mm2Q3(v94a3?(!a+m}q$?pT>+PpG6iN^QjRKVeyS0q!3XYL?#}9 z{3l(MW75HxKJZ87W@V9-UTT(q$}xUS{}rqoYEIX7N#{YQ9rS$DE5 zLqX)Owgrxyz+1>-rKxkL*~EimA&wm@o$FsKLri-bHpqu}T9G8}8c4#Wx~Hwuxl zbx24Er-sC|DJni$LFUQM1vcT4{Da#J=P`c$;l1V!(gq_|VT~wtObr?Fipwv}l)U2O|0gfac)vLW zLTEHaZ7$Q*-Ogf~aBRYXON& z_+H^@{>JmhuRqmg;;Y}QPqy9aiqZ81+%VF$o(uH$cA)2GA>`HLRETLqK|N9* z%Kt{c15ghNy+cYo>TMzA%$x-`a%cj9(Kxm*FrXweT~Xll#2E-|!3^&xC(dwm*XxV3 zd-AJzHkNk!l%gqkdc=;LZ)-}5aklnk@;jWh!)D`8mxq0g+T(z^8#(g z@7Q^z-?Wb$V|-rCPYeyfJ&!_VvMY%o!}pswX@IN@K9JTD;lbzfdwCus%;=WI;GF64 zOQT-wIS@)%<7y=P-*SRf2RgKlrAN9Zr#!UD8z{tJn`B=k7V|(^iAN3^Jh)6m;BS1L zVaCw)eAk!$6%u8U*Sdnq)QFoPBO74k;S~lf;5I;iXh0#KAU`hic7npI@iKU0JpVzj z6v@B&3G^%SS=UqrL6mq^6}e)3Z|c-iU9_Pa{V+bb+51jB=m)ryrvmhg8kw)^;0a#fBEH?x#I3- zuK49#3+blLST9#{o5hY>wsVpKbr647lVI>LyU)!O7^^c3EIf<-ar>z-3V;<)j; zp`Volyzs)1%=nX^)WG5C{`yN8`L=l(*o_PaT7;3~ynGk^XwQDzPKLP@$7;ImE=~`< z@Q&7w9cHft*HzHydVk|`MzlPkGJ=3$Tktl{8T_PknCBpr8BT&db>d{Zg3-T(QJ&?D zh%Ki=tz;?G>NT8DN~59RrXJGKc=&<)sa)1^fn|7?E?#Iy55L%6*|(n+0cTiZbf#V6 zx}r67=$m)nh0wC+pHZmAHu~(rTd{3Rn`ViP2X-(#O~a0)S^QQ42=f5HC@=UzsXv1& zg~5-=RbDDskaU=Xpe;liMHbq&jUV$OUc^w@jA!9YJYjAmb{$oJ2CiU5(HmcBrk?@B z2tc4Xqv~t&z7)jJ0S_7N@x&vY)j1e_=!A$A1JU>*5Lx^RXCbe5JGrhr`5I5luITA_s=?@B3wZVE92!E0@*CxQm;;x6)yTf-FJE|_*o#G06wciE0 zUk!fTzw#|D{F&#x(GEn}EpJmQUMN36jPfFUFKuOsaOf?c1zd@5{S5NTx3DpsNauRq z7(-`-lJep~#WnekJz#;XbVvLP-wH*jBvQp*h#MbqnM~YR-gwp9FyqH~9_71O(D7D# zD=a=0Axi8*iXFQ?Qqd_X|8cmnB$BSYk&fEG%nKhmIF{F5cPy)v7l9*O$rs-P!VzD@ zYnr6J8@xCoj_3NWpj}68b7XmXSCm#y*#KSK@UZ zf@p{+F(y)UXyEI?SNZW``q>k#n1RO`Dpc3PWvFc*>4{rovA)G3ZvK$R;1eg#JUD?6 zS`4ux?Vuen=@xwbicPxYd&zC~Uc)b!gt{bG4WsJxKySb*9v}poCOG(DMSYdK`4(@X z6e_hM@bU|!X zw6OG8BkWx0bRX>!E)l=NK2}!^I4TexK#OFD57I-vc;NW4ERw#TeDfFi9*9jJ94aJ; zv@t53$@DNeW!{-lQ#r-{Yj3sKE-lxVa}a8+fJY4ia5kz6^66?cd|^QPuQe~ zP~}_(61EJKTY0EBTtdLNY~IlR+yC-s+nJ-Uw4eEFKhxg)ws*JPci+~w+`KVY8ve$| zej}&zv)G(f6=yg}{Q}!(*0zJs?{EL~mpPF0VXQ@^Ug>^n*%e-Ym9bzMLt|gUiIX1jC*f5@wSpFRw5|-7rf4v$wTXhyv-mY zm2eS%m$)T?O)IP>SkDr42AWHrKF)F|-75zV zw_o{{Uui%7694oW4)UCTC23AlZ_T%7J9ucGs{+Jf zeZ9b7#WL(e({#Pm1=^cQ8$sS3PP|l=gDh1$Qhkgv#6MOE^tM_#%E5s0f-nbSgpv~u zQhLpBZZ@Kf%9+NE-K&S(82&#b-#-+?-V^W_W1L@R2xj&6oozXXKb$zso(lFqO<7Q9 z896$BrX4$hu}$G$M!;tov0BaO)VhtEx#N%nC@4txw`YVEJf1e{jQ@!XXWG+;_F=fY zKf^I+9&mgWOFTAjA})v8?BkT(J?ul7WZC~TD+3q+BJT1w%^i-bS1>Y%V0t)%_c32! z#BSD6EAY%PqO^!Bhgcg@BhMTN;V6>Ae>uvGRUVNrQJj^{!j3YNQcw4gu;G(|hq^NC z5~FSo3Y4NE9wRDVzLmiBMm~ONECV%y;pJ-ATlStr7-wL zp8AZZ+yfS#1rPmW^i)Mx>8%-`Dzc)ZmR5o{je-OguHli7(94@Fwjp$6Pnm z0}@%z@)3gPo*TaDyKqAxXUTzXR|TM?#19g`jbk4kQ7toE9CuV{@QUmyuim z^$*R#4faZW@LTwJ$Fx^l5DYFq#9Y@9MWmxbeZW+Oq$cb^rGqw`=)e;=yT0IDfaHgk@ z4oLhra!Q0aDt#fMsEjgKVfE>68EC!jF?*d8*5iDUAL$=H)3W{Hq=01stNe zTJH3?+Akg=A6#U>cj!~m9(`AC2!L1isblRe91?uw#$K<_OHhwPjG}>bsPXjo)w>MT znV^nxC`Zo1*9Are<3Lj{E0_Y+hFEUWC|2ur;psGwRs;;#7cz4-og-e3d5c3?iY$nI z6xPd857MRYSc0zOp>AmOz{5uclRy7?n3ese?Wtv1#x~*jxjn&s{%MbZ&1}}d6FCqr zkc|86B|vF3ry3~s2jPNkjkH>RlEj~b3)1evsOBxW{3bZGgh71q-w7E%?ds&7MU}$^ znF$wR_SZ7OGLZ=pzM(~Yt{#D4-lUVr{V!!fy0*F69YT{pX1jT>ra2hEMLhVFdJKJ& z&gf#;d)S)?VI4=WyyrFdwyjLgtY5ztKAGgjw)y7G7$q!kX7-_K{T$P9g!c zP**B#dFIjq788TYp_m zvYdQrcg!=O;($$Lq>8=jCNxu!HczBuMPzV>nfpkKZ3jYj6Ll(;N>B@K+m&|v?Ypq) zD0|Y?Fn1y}13uvb2`C@1(c4vKE_ltWTV`sH{w#j#oJ*NxRp+w*_4WYu!Z~DX4%=(b zp8f5!zyC$fL*oEe1`GY0H(VO+k4e`-Q4iU)UP+eq)@vA*UuD-eHu}E#B_Fn%xz&L| z7t8M?gMk|M4p~Ze^sS+O;W=_f7k{!g^8Lk~X<+S=+>& zktt;gmvt7Lc*!ii20mBdc~!$CBdQZroJbd=SQ(B^c}Ws%m8lf|PHtX2$Kf0o5GYaU zY)GuU-VMyuemjOBeEE@&gVzx?;xmA?9C}twvA=_v`6UyKDj^h>=Y@F&5ol1{_cJ%g zy`}8mU&hr6Y4A;-G;%PCqxuRFw5T9dx&{lxlTwc{1iZ^vV&o!ZOD4Sn%jGT%M3`@I zm>-4RgE!`f)e6G949bzRWJ}>1GHAt0XUB8gnWn&38JPgYpQm|LL2$Ohifsk*jDrkB z$Wz%0j?j+by5K5I!*3eCT7d#Xh3bltblMm#XEfAng1ooV<&8NIBfQ`$r&&foDFbO2 zmkNZ9O;xsm7sU=psl26P$yH$WOWY^`QWwsQ$gHRx#`yIojp=6rkYx@|6m}uxNB*Wq`y~<>P#nG78Gasmplv}qsOSYf=oDH`0L0=ki*M23A$k%wW~2V%9e`6 z$o2Od)7Zh(t-f8CY`t3E#*u#$m=Vu}e-(aw%jt}#IriRX$W%|OBPvO%D_;t*R_pj) zVPny+dcBI?QHTRTqYqv>j;d=_hpc-lf7XW~+_u42e&Pdi!@E!I_f?T~&dhkQDDVM! z^`EO4Hq^%U(<}R%C_vvG>js6%iEzd0I0(16sZ-m9(28;k)OtGGTsz7LJ#I zKx6rJEcKLP$*;YG)uz_q59tp1N^*%j;N;Pb?8>D{mEpZ$EE!+gp&?{IP-QgN)kxT6qy8P3M5MFzOQGgWILg;Fo#^FlX{jopBL1w$!7ao6!fdX!NGMkX-fL#rWn}5D7%YheZ zOM!{&Pd>sozms>%XWa26AG+u8s@KR*aPk$9fEzft9&)I5$~=od46zG|SI(TxoqC<6hx)=3ag- z$*K#6KZpZ|ph12Wo=gr&CtG8koHI8USUItSCGcl=o@#CDqV^a6w<(x!`+p6>lho6LuN=(G?kf1On%VJ{oN|ATYd*CvbgyMV=^^&s zzqId#Hv7icu^QRK=RBW-8iOsd_k|bQ1FyTUJ+t?@_UxW-aJv0w>dq`za2{{FcI?Ux zAWN}*UUScDxN%`;TMbQ{H*asNrq{KT$4_FMU*Hyw)$KHsn$DE(dto0pKdj~8yp60N zIMp6~^f9jAT+blIdgOYJ)g(`Fv&VXDqMGqOcJx^3=@{$oZ|{1$W#a^f&Ow>gOl+#l z=U`Em$=mj1Fp)Bd?Z!6hILaEKZcC7ZC7#f#V{j*OY8hq{tPJg1ZM3M$eG0j;qF9%$ zW4_xah>sUf+*ddA3=&6hCOHb}+U(I#|1w8(ta4ueSfr`ee0V=h|UG{Gv7*hz`GzaZ$ zTgq}SrtWWo{wvtwp7Eiu*oclgMu?L>o#IZng233l@Q-way+9-4iIASkd;HjuoOZcy z-#+%wxKymR9h~C6T=y?|x~mOH?Ippuhn|ZpB~fEH&7^Ci&7Te8kaW`b$8Z~=t|a=M zjs!scN~vb_&_NEDyuidd(Gmd%XHR1^+nY*ezC@0~%=rhIr3RO@MbSvZ#|;PIv@zU$ z$L_Xi^Ja|udwGDa6<2(tOJ8 za)!zeot=Q+HF}3k(Wst1J=6B@Ka#v{BJJIG-WhlsES2#LqCi*joP623lpE)_`Rxs# zp~cIjj$Bm3M|~B+$yN}X1KT=V6nU`%VeR@fnDXN54sdB{nzp|Zg=M0+>htQ z5_7axr!0jjz;&86eky$jn>b5?^u;SKjh4)O3^2m^mvn)VQ1O_ibZ6hIas=;`jTmub z^!2h3w#%$>&4IAWpB;#FSl&H9Va1SE_$5EgJMsKU5`TG#p7b&+cc-s4w(o`7U|vOWN!lqU=ZrX^2nk;*v+54qvjzH3Um-5olcH zQ~Y+ME?e`!9q&&bxqvRnqpgg~PQ`Cq;WAgG2yn`!(2kEr*z!t-TG!aq@mn*8Z<-(T6}6C2qph5=imxH{1eB(?!+~`o8*|Q zrSlGUh{qK`(re#D9ki`CqIgYbgrpEuehli!2gJi?q}l_7c|v`#jWZB}UBe{>E>&H@xG4_O5rmwLSUdqwV2GzRC&XuWK7w$+;E% z#69C0coW>yZNF65DqYjo$s7A<`~6ki?SABiSD0aaw!QVOZ*Fhrz`VDho1I{J`PaYp zwH&TDjZt`lNgCV9VbUHN>tBckXZkpilSj)c<(F^$_%kz|jC|)OJPB-=YlH=NtyjMN z>39}E>uoGTK$IIo^zLP$Y`8Ss{!adQ-h!(wmeEgn^T9=o%0mpEY-FGHG)CY&@`(MF zyxWJCzGoY!ZlFA0!nj|V{GMlK^!z!lXGE!X4}Y#^1V$pHq1trbDCg)1=)}y*WdKGn zdHCX<=h}br!4I}=Ter2lc5Z9yS<>#j@@+eAYJc=cKf+1=FJ|U{ij@ZYU*6wddiel{ zvaMtp{2G>xA85z8Z{CTjS>*N%Gx44yaEwFWw%oj_-Hg$H8QEC9*2DhLap1uWa5D_r z%p(g+*-hC^) zm~1B)7$Au@xqMao+7sX4j0gsgs8e5i{K@u~x4xxq*|xRq*m-;Vk&mozk3aHgXlRYA z2iazll?AN&xy&S?M(s2P{v-obhdt~N`M%|rZ44NkY%fzzC&-&CBGj`Sm{I3YPN(>G zMqXXSyjlSIYuI}Wh_bIttfuUil9wfvnUfF>!ss8I;GJfLgy)o)S8u17TFN1L@ZOt6 z7O^VHEe7((ll@77MhK(IdaRM>K!6jS_QB~7kvR?!jE<0Y;tE$4u59ml&%3B!bM2Am zUM74wHzc?MoAw8O&M-Kl?c|?>iPk^csN>jG$B)c1FtC$t4NRVr4q7j113af=F^{PpZ)CT+H-qfi1F{THHFX-xbAwRsor!l2+;H;mDvlUrb8&NB4chVyb{&>3W5{}@_5-WIRV<#=$)6#mo)4hDeMhNWWtKA@-7jil~j4g=)$Yw<7)#6 zO=%$lSMZ5MWaCMH3?}mHK_N$voMfrg3H+uw@MaSo!PYcL4yL%LM!NlzC*r2Ul9iS7|lA@A6iBM2)i}GIQzVl30U|6Uf7fm_)Ob-qUELhHlBQtZ|RiHSIXQ`R>}-G8+gOS-{}xWxznH>Pv2{x z>;PQOlyps7S>ew#%xj*0lfJHGxpHMXE7_ALZHYs8mPP@eWm1G&X4Mh6C(nalC==u= z^iV&=zrZ7MA&)2v%iMRq{2?!uw)wM;^*WWn`~*1hB44CsXJiMcJe+5boS5vKR&wI2 z+j+Wd$fwj9IzXv0FC-9n>C=f**UQy+4P%v9VN!B{n%`C6mp%tJl+BGBH??&)F>63) zXeXONA9yb8Y2@_;%lnkoWpu=wHg8I2J2S`iF(xuNX-}OCBlzfnq~pL#8O{O^0Rt_a z{thlg$tkOrSlOgZyCuqwn%pHH&MI23+n*W*#kzT3O_XdbMd~pjLeGtYOAy1LvSP>yWY}^Rp~#Jbm(XWN8_STit!`NxUrc zgWfJjDKt`6Su^<+%+5%cdmC-r&a;=YubdLMvmYuiDm>CC9tQ{gvz$`CW(U{nWgpZE zPlmb%V6rK%_5c7t07*naRCs4w=n`Uki42-rUeHmT2o^r7p8Hj9p>0}#>tW+@d%O;1 zyy1QHP*TzhqTKkN&w7sD%OBB+{?)N|psHIUtTIVm7*Ij_^)8-c0lbcVT@R1XfG%*- z;fr)chTi`4Kc$8jY82-+Lx;a68C>|jLIMYxk!rz11JXET91r&8toHTXNks$#SpuMIKi1J*< zxm*x&sQzRJ6UDXG`QRfkZgkjEPJN`hLA+i5Sc zr}gsO<#vXp>9)mFEVq}J^3H#?y+v6e2Ks@@v*b*#!jQ*sJ&X8=f2 z04;)vi!Lu7w2OAv%Bl9HN1wo8e}B7c>x%Xt{pgQyOTk*&?bd$uKmI}JZ0*F^i|y$> zue8D0Nb{0OWYM4;{7hRci3;QXTZp!MeNfbcs7@M zwayZEK)@N}HEXxD7Z03m$4))X$@-iXwhX(3$whU`vu9`9QC5MRI(3pW0%qFBKKXEa z*E`4#5o(*0Vtk=Xax7OB6SL*F^gY5n$TuDH$Q40ZdZmtKrsV!v&ls!`wd2WndB zM8vo3)!U}0SEhfo9Hqn4_)G8e9E!E@+`e`;{cO$_;d_MxBE)yA1tLQ_?8SF-lm6b- zHp@MGK-`>1K=+IObD_QNp4-^Au)Lk&Ai_)7d6!uUaT+_rvl<*Mltu^mTm`a-zgdj? z&wuHw?W@l`(eB=LEA?}VK^o4DfIjUi2Nn8&YE^`)9w|79`Yv>c=(q1|Q2bNGa}T^_ z$e%KA13>eT->z_~!g=CjoHd0?m{}hD^tHY7uoeeg2*BV*K=Csy%Ct3{)?p4|*CMxr zL9640Sd4rswtJki%$8Ozql!q3OW&%i<5~zBvkMq;M~_}^k3IfuJ9TD;nY3wyaEj$D z2rEL(NB~I?pNz~Su^I**zM%5xUYTi5#hk^^^01bdUVO2A`qRJHKJ)vZ%PE{zo(m|G zhmRbGP8vyimhpWi7$Uzu|wrW=1@L z*AWG$oFO;h_v#jTSAz$xOrhQbs}Y)aB7_EzI$)wvUn?3GnjsB&FjxMdT->AYBseIL z_!{58fieMc#rv9(mBuPp>6l_ap0iPQLK=XsToApZ+tREun{4xw0R_Ka z!tym=K!#W#1rCnNyYi!P=|I8-j7e#jqC>Jni(yawvNQ4!qeHJ8;P9L^$m>M=p6~hI zcK6+PWe}#zlXRJ`{4DyVuv2I5i;Tzz^jC=V*&d^~4RHaZK3Cag#tLQV8z?@{JhLaA zw|>gf#Pq0}sU zyi>NqIk=+2ql_vybL`=iZp+?$$x~^xeh8}qA?;P>6)qpgo!^F+9BV+y<7#7-vzwSD za=>d7N}+%9E^;#Rq0k4_jhGOynaKei45q> zNPjnc@E$$Nqqec=>GyR&Bj|b=XU^5{$#a0l{lzC;-65yxFM#2h8R}7fg;|K}+X6Mz z*P!U(hV=IY4A33w+Awj|zYbmT#S84Ug$|IiVk(`6$lvIT0Fy8(e7~T6g8VHZ&JqRy zm#W~6MPx+|)(uV@S#3iHPO3kr39NJqa6!Mp_k`-rAa~m)UZwhfJYie$Z6=?ut zK%Bp7oafI93A;7Kx(s&tHSQJm`gR#~i9R&}J&nERWMmFv7Gv1Wf#RZd1$gru~oDe`iln|GacQHGQp=;ybNboum4eWKS{zdNjTs<(HG*~bi)cACC^9c_u_^YFu; zZx1|hf7^BIZS8ZP`&`@e>^}OpWo-rZZf1sh&KALvv(iH%Ti}p12RJHCInHb>_0xfj zFMRP!?e!d>w~js8E^VG6z2hejaj>&9rWg~neKB5=zmgsCjB+*LRf&~eahK~n;0xfu z6Bt@Lh)+F&qh9qYJwa^Zpg;gA++sIv(iyK#@h;lLVx7-+Y6irOe1M+ z6-MwfR+pV(#`-jOuCKVl{&Z$lJ;B^-&>XmzuMRMI(xYu??m@?IDYLfn;|v3^XVJ-~ zSFpsN@=y<(AM~e`uSJ5h?_JF*&!=D9+kWw%{G;~MfBH|g&D+-HEUYJ9JV5`zfpoN` zht8gApZMHo>C4cu&z){Z!2g=<>)P5ob~1~;llp;t4mjn7?~2}Wwg>!+fB7%lKm5nP z(ALnGOt0M#f42rNUB9XQ$^Yihwl}=)e)<}WXvD>)-_^zPOz9D&3-RsdRFTx#)5pO- z)5z>Nd|Za{yKH(BcE}nAj?dBGGYPfCzHo*E`D?&_ex5zym*~&fvV82=f%bp>@;_%V z<52s^kNi+u!HSTzYcz&2iaC66HK*(E-@l&|{$GRMvbr5SbSMMj;ZdKAnW~qPfU@4#k6ygZ}k?^TS8s5?sOOVTlnnW-xbdVjr!j=J20?J2bqksCg5ye{5BMI zCk<$765*;|(SxmVb~gI(ux~QHK4H2&+u)E7ipIvnaIq5$p^Q37;ZM3m1PQpJ;DAqq z%7#UyTcHu3jgBYj&m%bJ87*?5+dPTBNW*PMmdfm?BMr|LYp^)@chSxfqLz}*G>WDN z_eqVF;iZ>eYL7Eg=wT5XXn0i2JP2Z9v1b6(9yOP-*_c@wF0m{?BO?x+(kQp2ukU{| zEQ*+n7=cy?o^enBdmADK8R%39It)rBxK;LFoEZ(4AqQx<mi zI00}5iX;)}R454fRR-ul!zeE$2lnhLn~K8z)9I{+4yoX6$Zy;ItI$rj->`-kV)W6-pNN8MIIT1GWjag;+g3g9@ZrfD1!7wg}+xQo5xzhe8eMs}Mw~hc3&`flFyh zIa=@Vlk@UVJSy#mojH4uG|q(=n>Ou8{-t|%M!wpvk&`O2v^j?ks#H6(?~0IBQ6z+4 z!fc7<m$_d4UgN3BqRRAd`@L2GOP-MY0WO4>Ip;ZM}T2$oS zy5gXzY3qcQ|F&z=oc}|)l>A#3HS6z68xUuUkb69Xh~4H!qpQAyM(mm?>U zQc4(SeZEW#IcjMU*x2WXwJwB0AGf8=W+&>;XcyZS#sg z!>u<}_Q=Ih{~QQWzVtU;(=;76|UQtwGf zURTZ1j{rieizvPnC-nC%G4mc!(i-ud$m5{{M~jHW5CIS!jzs)SXUe16pK)-*1<*mK z^+f{7`+1bh#ax@Vdf9qbrm~b2CEPuwfku{6HpB{g;@V$dnq~DE{f~7>qsjiw*4n$A z`)Wa-!9g*)&Cx+R%hGx#Pi0J2>II5+3|fSDW>tBUk0~eoF4ER1#*rP;QvOtomlH!d zIzLbSLynH(_myY%GTV58D~p$-LqQXwdbt#aw4qRu%q0KPC}I+ZvXq&eCwV-o3}h_- z@wM*NptQzz4MZgXnQ*YJ^aq+&^5r1ivUZgH#w)lV`$-Nbd*-=4?FYaAeHbY#+EaU9 zY^GtD*DrF zjuYCKOkwCD3m26q>bh-Il^waIZ**1eWfXx+3{ow{P&ZWG%`gk?tm!m^1=8pNi0S~Y zbhEFWr;R^{k-crz*7jQubFX)fRgXRE?!Cttr;WL7_xwilNR*yoNrpS zqJ7Vs?{D|qzP0`3zxDT+JlKiY({^&^S=CDWp=x8ygLwo6GU>bZSF)tt=TM>QLyzw` z_iY>Y#R8ZEL*UU>ZsF7Bo-aMZxB|N&{18r?8@DiOZxbO7)5=@I1$SA7dpt677UMw} zJ68*A7}?=ngXjw1A%mY|j6fYa?J^@qm9SQqs;q*~>nv;)s>n^(qGz~(hRH*1%&bdS zJVeElJD0P3b9#DJRsv9Sq6AZoLLa>@vCGdvhQYHQHUQvCCu1tSFStQrmsrBeIqqI8 zO#TKXvp432zi)j6$Q~{U3ELS+ zVc(t!n)qy9E-&UDr&<8}Clj2I{J05C7+KU#|s#3h_C!z+)x`^^4mUq-H=QqK4d zNerP^f9ctA`YhLdh?{hUQ6l-s|9Xy~tA!f)k1vrT0|E?4`@qkD4u7SdzvQWN*a*gr zcb>*KA2DX^oFyQ?^=8s4;U*&%zw2FGzLf!*J zN8E!MT2&a-m(0WglJD|U0cN0pGr4Vq9bU|~C;6}Ou3U)UvNIpcm$7`2 znFEzFm(@?Pl+pOYcrDi2wH`La6++B9ST^QOC;u*9Lh*-AuRoH-mW6{I=Hb%ml1F(^ zf3%;pPyREGu=Nj|A_Q@vMycUl!_0V|l$;p~4zKr9f3nGt!Y*ABHNllcmr#CleK2J~Hn`+Rc~dskA%?^5jAvTX2$9xPX)p)g z+wD_jUs<(mG7tbVd3MnO7j&%8eC3JuZ$9&Qn_Rn#IIAcS+du2L{i!%qCrQHu?e4qoW)E{~|LV6t+qSzLA0yT4@s>x)<8nNC(IM z$Paypw(K0+Du2Iy>QkR=Kl}y*vu*{pXVXqTOAWN2un9Xip zl7HUu_kZ}&gY@qHc^`g+GrrDuTz$%i!K3@kr>e((@V?lg1Ke7m$+DZ;Hrl4=jvi=#`mg<+_Tl%ut+6V*J-hc<`^wj8 z(-u!NFuSasI(v*XCfgHx4z^$XjlbUhv+sLzyYK!x!RvtRTwBQ*S`MGhWBghNPBFM} zoW0v?Zr;&0URl}>976B6f2BV(e}DexKH6?#@ckoie*-snarGMQ&ngUa?_PI#`6_0$ zr|7$ugLiV(@^;|ZVd^OR^vST&JV8D1FxWZj`5YNr!hn8sL7KZI@FQ&!a_Fj3n?SGj zvz@*)Pn_Ay?ate7Z-4t|f4+V2L+{U4J>~A*-}7GD#GBd&KJfkRsi&T7Pd)uOtBjAN z?Y@Ztl39&ujQ%Y*?_yT}<@U~ZzLUY@-R*O12VS{oRr)^L0MpK2D!=cwz0?9b#ABOd7)jvp zh_ggZWcd6Je0T!$;8ns0tF7nyj=Aol*2FsX28bYi9f<1UyRvlxC+a{hxuNJWxj{Y&?3xjfVWu;Ps%YB^6EOx@f7;L?L^XU%o~- z#B;T)AR6^Cei&~dZ=;lmC^TsxH^MlokJRypAM)*1nX}xLx}KAaJ;`?C2F_(*lzDd6 z*<2M;l>`2pk6wqBK@zKP6hjjp%CcmBpfCgxmw4mO)fO@E2OJs}cKQoWI#p^k?(B>m z$YQw}9Zh5ki!YsxiV!r~xv3;-kV==Gng*whOgLeD+7vUQ@!MxB&A-b%RoZL$W96|J zNpxb!1C^}|!jMMtOh_N;?s?Pbaa263B6xSTj2w@_4?T9y;&PT%xXeCi@Z+aaX1&%B z)|qY%`s93^LAMGjKw-<|K$&3|aE)lVGrK7vt3Bd5?Fegbc7d7U~5 z|K&|+HzE39WieY9D3r|lNrHbs-G0X%tXjFJz4op<+AR543caL281l*>c``}@WwaXu z=OcY4X2%OY2s22JWE;u3a)@B@4k(3gm>Z^uQHZ=2FCPA+a&q*Z|}Fvr?Qedii{%q zoD9B}+1FL=bC12yPF`NtrY>TPP{T5~&LH^}tu`27xnbUb7H*`DXq zZ|kl48N8*;v&`K>Va8LrasbgfBG0@&aKo+Z+wcDFrx^TP+TQ*~X6iU${8OL&IOpr^ zX4-H5_QRx)F??Zh+puCY%kd}L!DF16 zM7uVRt}u;}{gLee{1RV z6gcV(iL>PUhu-@7wte%OHpj|>wX502!L0oZw{h84Y`Tf_T`1?37@n^jKG^m@ai}d~ zAY#|n_0@;N%Q6rtOY-FTUQ1Zf!m<><=I7r*d@c7lESwh`(TD_5_};f_D@ zqaSW}+_5`X`M?ww^@^Kxibm+%&`Q`}IXlZH9_dfEZo0w;SSQ^=*O>6R{A z8U8!xxcAwY+PgpSqwOOfIN1Kp?|rpxyJb!G>eGzGc?ISSZ2+1;@g#z41zV^e1^J!* z`-fuK|NqJYg))tp%&+FKH5bhY4C=MwumKH*?R(D za5_`WG8ykXyo`cOcb{-O0h%}(FKaC-BLYP~fPq6L)gY&G0vMqy`EWGaUamT>LT+<< z&3EWi^o6u5AP#scmp;dw`N1Vy2{L~g@!~AlKmZUF;;Wb7Cu1Ef;dY{WB)W*>Di89= zs8Z}p?<6|D1!!wa=Uq{4m`Z_!j^ZVP4Xx0)fv&vvZwmnboBQ4PeG6Y{bPEA#2Z$eD>Pra^C3Jj? zvMhS%u3hccTX#lr(3sx0?*%%Yb20S9od#aR7~=hBno_B=E~!M>d8@?6sN%hhjDQR@ z0-yiVSd`eADqm#;4)wq={G`#91TntoQ0zEWm}@V$3a_Kc8uqjY#Br&4W`598Vx*;> zNo&ChqhV^24J`R7USTu}`AEKuYq`oi$A)RX$02_yGw(frFmT8}lCC@tcz6+wxXPF{sa0=$G5PKKgm>CMPV{Q)5TwB9cb()7M~HkN@#@JvJ8O*D_y}V3NZ{wN>1t{ztYT~r!aT< z6oWi4?VeVrFmZ;k!cwTE-#Efsk1)*`Ja@a3$|K9FF*q$#<@)zN`!EARm)cMK#E)~z z@mBV{x)sL37K|s#W`d5l=eqM+zFEJl&z7O-+-C!U{ioq9cd z?*Z_wkfdCyjC<}2m(gvvPI6$^Bac1S4zbOT;fZ$e9O0bK?qJj<&akmghkvGT5IjjL z5Oawcyg9C2o4a%#o(#zo= zFQdUdv&Fv!j*J*Q5~=ZUz{?5NBXvK&$D(&{;Q~G$c2#^oNM$_S@5Cb4&bUH*8Dq|5 zDi^j>%8mLi^@{h{MDW~Y^h;;jqsl8-Mff{(WwD zU^)A;by;O_hLugPzyIF$U;U|{V!I4*^asnKVHvXE>V*s>r9COW&64gXfA9C&|MCmJ z(B5z_D+HkXlJ)@UTkjn>!|Emf)L{(BlPsZMO52q|b>c>bF-FrzqrXqHT3}}8bk1#> zWsA!xuIZXwx`yTXoK{ai^jjbMH|?Q^9&C3q6MyTj+j21Un;v|yJ^tvU^lj%cs$a;- z_Rl=~BxePkZ}+ks{|8v{bclnkGxWUw(m|TIPmexp;utf6_)wWx2;=lX}90D zn*qm}^p_hqZpN_YnsHVxyPD%}23l|C>Ond1{NBB^+q5B+;O^abwtMfrx4nR2@8pN{ zn1%!O_PftN|9ox;TT0!VpE=)_-?A;+1)P<4<(G#EXL}ra$YHh+tYRC)?%j7}^?~i= zM#8PPM-Cs#xn}l3_8)yv(sb-MJQ&?8MJG59;^3aA+mhe^RJ-TiyV}P;`xSV=7F+}s z7K9JtRo+uG4B+Le>OsD~8{B{RhP_-4=lvO4yj~J~>T{Zrox`Wjwe2+Q)USf`+5c?W z;x8)R`7fMHj-tX*>Y}vpqp;9qd1zkZ#BU%Wel&C_B{tbns3b*$-qAEA&Q?7W+9HApRF|_2$=@E1Ck+VNIiZ6!yT2YoL0FpPYxzgcSg325@-# zKK$`WSZMWQgr;8nCaeehv{^Nk-niG2V?%JJ6JXx^Gv0EJc&UB$Zdw{XukJdZg#a1w zv|GIPw1$|&=kWFK`GBS%|5l@u=!gvYQLIZI$50ge%*VGzr0{kg-?}To--IIXC|We^Hr$@Teu0kP1BzZz zd16U)Ep7L#3ip6{&#cOsEprudXPFJX^+pA?My6FtFjfO#xrJhXcvmtFbGA^GM1DE~ ztnB&a%xW2+cF@jzyF}F)GdpjWk15~MX80(Nbo!DO!vsY@qjJ*Do%CGR?98l&q%%Cu zVw+ZsT4xlbpTBO1NTK-@wj0fc*%24b6|T`*;V75zmFA_4K!}njC9h&LV{A(yUFi~+ zv)aA!Yu7NBM!-4szs_6a^7e!JAP&&VbnJ^c?(74po!BU|Q4S@6#~ zr7|hH&L8DUIi6yM)m1H-abq?sgKI2zwT>$ju9kR=E1`boXa7dK>&{!5;o+x=^}wmY&``4s;XPdwQkd-9of;xq?nVMt!#%3c}A?)eNKs6oPo8$}(?T^J zZQ0a$nlTR*PFVsQ&Wschwi2A@ybZ1r_RvK_rr5VmttO2cSWtti+l-`5 zKFeE(;K#JvJ(IXDqt@`8z)+jA4dicf7+jS{aEY`{gF{rA zQC_>{*7kG%;1}Cp|EvF9`^lgDsdntdQHxf?+A@67`Ag6m#BN&WgGt495QOd*9Ul(?9kjoLPn8izv9}=$#L> z_JQ|)Z~N6>`)BR9e)kdf!mn%haU;ULw{sOAba~8!gDq|w%IYWSpsXx&>_$tXP2PS> zd-p>Rw158bPg0I-Q6kPXRsQ+Cd)jkPKh++3-Q8{7YG&KXFSR-O2Oa%_h9E1;m|0)R zO!N0}3jK2!)N?MYPaj}*?R()L!yv0ysJn2W?A)og@h0SrwnM&NV4&?Z#`h%KLL4Bl zuUou?efk)mQ>+j;bogZZ*uVW`d*BUkXmjw*EqP}-B=2*7@Y(kK3(vLt?!6BK{I+)c z?$_|Qo7=va1fjkAolkzEz2-IdrJhYru3!-0E)EjBgKz5*8Mlu64;i&AY=51#w%k3a z&U#{7acPwYO|tD^SSvT%}%{{aa)(Q0_ zS4>~Y;kYa4yALuO?1Uu_?RM{j-bp7yCPeNMXBhTjv#cL?G)V}f754b?V{IRIMc%z@Wjn)YoYhMq zuI9^Mi_!SiyxO_AcZjM(M}nUtlZJ!O%3ck1m39;p8aewQx_09EMyF)MCrB!d_;o!F zZ&dUWmP)Gja*9uLUf4lFuM8Xdt6N#SM>4r>Es>0*zPU z1#8@jY@F-x#mg=L*E!Phg50ZAn-ab@VcsF41HchT2Ve8rB)iC)Z93$XVt6b=VR2qj)u+RGF01>muGgo?*>XrKj> zlB7pkD&s1AD$S?pBs}y*BY)Fc4#y$P4#18%gBjF0xo2LIFP~}*YGb_H4kR53;=AX0 z1dE@EdmyBKF>a*AG{Og|5|3p;n?eU={RJ(D)*NTlnNDO8GphJyiMj0o3ayI1vSx>2 z3o%dQG0%E1mxQ^edtwpyKGShJi!6=i*Cq2-La+PO6^*7o)GyMP8VCq(Lr$}IJv2!# ze?4Cg8rV_aylG=w$$h*IOk9GO+Ke%*>2&R&RXA04?9jb#=8!XRVAszjnC3YwQU*xe zG)%YtBt?oe>^ZEId}X$o2sKzxbjrI|4js!fIhWg=JLd_zEWd|F_gbqYgtzhzrF{y+ z+vRqPG1xTTmjk0*+1V%mq?p-%3~l$`xz|pTG!D(b`|?~Nuz@|<$0;N8xr}X9w#)0+ zuMgZ2mJe#UC@Lx<%0*7=<=e9eJT=<`Ka~NXg5UN%?bkqryg)^bj7P30KRIKtPk%uh znxrcX9Kw{La7X<7#dw7n2ccqEYG724=Cy`{4gP0mQ%Crv}ko@3P&nIv-Kv@ zEL?%wDX{;QMFmujC7{!YzYIMpgWft5*&wb1>Y2fZFQ53-XR~iQSGAc3{^ta4=&eCc z;^Aj`S%xw2m2>`5mxnec`6CUDf90`gk~Zbsr+M~a{erjB!?!r|#Lqe;exG`t=L$;8 z%z+38jBKkcUvYY_hIQm5gGpyOWcDJ)_abHiEl>B3D{DDqjPH^i5~G|_w&X`6r4J^> za4X zwm>!N6DF1V`RCw~Wmoyyv1M)hKYr;~+qtvHp{cP%`at{W|NYDD9q)KoJ96mdtSVT~ z7J`!utmGVyIe4O;N1170I_szGspMCEFS^#yj-F>Z_W$%h|8MOhANgUHey?rk7#Mu) zvB%qsFCXS$N3Ig14RYYkI#gR?;5;&O8QQ8ICYLD}%f!aR++OF*9xiMXLdJDK!}`0g z1MC94Z#v`o5O^%Y=zZJ|5MY(Rj?VVLKFLX{I_MM_Nt(jT1 zg}6Y!bdG`43L0VDDywoSa8es1NeRVib0>j3*DWNLE7s`h;t<<6>q?TKe-i|nr# zGth9P{o?=m^X;hz?{5#?e|Ouu@uoJz>HFt$Th3+d3s$ROgx|bnOS|jd*D`BKy_Q39x=5EezmVk8M-daPPh4tNf_j*aqs95eG!954M||;gz=!*e590SHSOc{Oa%N zRcy^;6`r%`YsjAitCwg)r_l{OB+tS5waBJho}DyuAYw5CjFZbbFb`eh?Aa3;NSMU$ zJmqs1-C=@vxA>hrcDQZdvXK=#kF^O_!)d$Cb6sAxR4dpzGGX1f?$|zmH@WX1!+t1< zG43m>c1JEjsg8auFoId%3S^0O$}j?EVJhGikB-)sGaW4r8Ne=8TV#i5N6gH=GwybP zs(Hc1PxeP49ezhKqH!mwG>leC5q0HBs9K&|l_G#fG_gGG0)lB2rw5C&@C^Adj#2f` zTmAO0g+T>j61&o|f)T0X3If9OZGiZafxM3Wpz4{IF`vBR7bQ@<3FIeegyr8*e<~WZ z%ae-Oy(*q@$9k?pmEVFJ`@PzC`0|m&Di8JBxiJzS{_P^{}x<-ucu*_Qz;(RaQEUL zLGUt2oi8|*zewW*thNHh8n&P!-tJ&k_UMXkSoKZf@$gF#=HgKQp zS(eACKxQc!b+ndZqR^pCX%JY~E;|qeUi+&kkJ3q+F=l|1ml?4RDJp}mn9(Rh!6%+Z zu?nVSidUTSw~Q;44P@2*Uhc#53QcF8-4`Z|9Z;5X6IUhAnS!r9_5>Z20uN4?dP1l2 z&V#*$HB;|*lt`DILLa1r28k$nT96T0Xj)baPZO3dak)%cr&1{mcH&#6GUtWIp}VaQ2xcZIsCz`{`;RqyVx6Qviv}pYcc-*qW6oUJ^)J@CzO~K;XM8 zEGC%6IL9GH&T?F)L)AFX7xq!zC@l8Z3hr$~3F#;HLvY&O&KuD`T#_Ng0C1K@<&r z2Y4J@;8QYF*IbrbhfjJo208$IlBeQQ!Srm9@D-ey0m87K!I&}U&T!i%xZnK>M*kxA z+Iqm9I5er8I0)NGD|nM9IjDAlUotts@GVWcqMMHZbw3nl-lI? z&6_TRn95+j;*&f;QDr6%WC9)u6L||&(yXCSa1N9>AVzCU+X^Jgw}Xqe1D4xK44L2j zIGuGRN3%y<-;!*@gBSzsamDWxbqh*Q^7Iu!D>4)wk`KaP%Z{>mhCqRDhpy znL|dGGZT4&trY+3&;4S1?Q3_F-zDVN)hXU9UNfAwPafKvx}aJknZ&mtk>qN#27ev} zke4CP1AhW+aLIFrlwKHbK=`TuH**06b9gK_LtdH|9#tT=H{5C?eOV~?GGOQ5;q@kr7HWyFP%Tte((eDXb;|Z zd;9S}`jPh3qtCT-tfp8*y;=k=S1fJWx|v%HZjOvd$IJU)ZhJ7kUto6q40X|^|C?FH zzk&l;Z(1?gPF-fOp8T%5nVV>4&$q9A@$>EY{^#2Fy!|b06|>0d2<~mS&-};#=%2LT z`Rz}%|KYFvk6f`g(~fbK^-=~1EGFF*2D&utFSC7S>EwKS;Pv;mTefU&550js@|)Mw zkIl8i3^aT8#zeadoQK-3UAxgSuC%W_@-%VWlkZl9DjP%&8Mn`8={WMfff?-`J9oBU z`_+%O#~%4QILRx^<7(+I+68*p#aL>fy|22%RMcZ@~!Of6vhEqo$v7fmx$(YwwKZ=Lxp~_yZPS)*8T@c!!9kGwU-#y;!?wvQScP};P6q_y@DU}Z zKGSmym7st24KKPa*Wq`C@?J8dR6@~irzj0VAp&<)&B()-d zka64LXJs(2*(nI{_uYU%3`0R*>un|c2A7EegG3per zMi92YdZcj*hW8sMI4X}$7+?kofGCV zOVz$rr!{{iKj8G@cf3x0a%Euow&f6xS|{Ye3a2pp1r}(02+b9 z*GxwpB&U+5@m_|FN`;4-on+bB3n&IGAx61yMp8@S^mB&SQR*$*wx$zw@2u@iW;bAh zM*kT`_Eqv?wy8K1o_9M`=usBJ8we>y6=L*}CVm|4E=N282ZkmNFzTGNxoNO~Sw1baN74j1&PPThkzPE}4xt`hc zEOfe0?qZhMNtnRGjY3Z};Y4iuR?+25xud9c+v^5k-RWyz(}_6^QLnP!v~ zXjg%8;K7;2;EjwpqfrAOnZZ*TK^9a>!VdsPaz4C=Bz{t&A_7p@qSnIlov+TIAr~^t z7CD9h@idAA&I~XxmRaOmoW=!@vRuyEY6?SIra6Em8Q;mXX?8i0rr;X@L#jXB4G}w? zi0y#ivMnXPK=~%MkOa~^@zM1I8zm+_{M0Ii3KzF=l_!m~ZZPz=sGyLbVj!?3cZ#|> zL}#b$J#D&Hl}KX-Uqs1Y2Ag?N29r*nmT%37y9(qya^b<8x8HGl4rg*zkbE(1XNpdq zK9l9!$1pOcv+aW=yU2hCY%zz)!P^*hnf0o+Xa&ZBM>Tl`m9uH$TEzf_GhT}O1o7tG z?}-evE{SWlJZQ}dBAq1z$v5=J!J7zKctHMnDsw|%$~4?H(g2gNj>P!<`7bVU`H@*8 zJi=7`8Z@Bn0zUu@tlwn@vOR2T!oCSZ z#P+r56ipHhzM@U}Ex+h*yf45=uVq(lmXWHIEL*Gr4p#2;@z@PY3o zZ4bmdLt8k(0brY8c#E0s&feX4yCMD*YWYf&L6d zmsg8Q_++{uD&81Sd5?Z8oX^DR*spz#z&e`MfBp>nx)~gp zWy{T)3Ag2OcqeH*|Kbbn(Py4P8m8NM@bAk^hrGmj9XgziODD94`?CO?;eJ{M&cI~>gZNFtl`}!kKAY;op@%=34H|(Wd zVIYG{d0g!rTL|ao&(Z%}X|KQUE{y2ew)^(&T*HU)4Q{W>UbSmmJ4?IKZo8!&IIyD~ zX64)@^tVe~^F|(Qo2Iq8lmRPa^vtN%`&H6Ap2P^N>6 zNM>X$axY$Zw1rg^cQatJ$Ze27czy2EdtPc^{^Hk0ePf0mX^VUNpQh6^6}T~~rTIJE zl?L@4mk5oG)mX83@|M^P(0_(Y~(qWPn+4r!OPk*4$rS24vImpH=e`qRAd zFW@5X{#QSH_Drj=8cw9(6rV5s&+l*MDtE;*lLXfY)d=B;Lg^DA6!qXv9wArZF;86#e{NqfGKCyW(kM4B?=nAtXg{VOciGp`XU9!3mZup5idN%P&QN@Sw4b)RR{gr*zul0)a}5SG`GRctc)o2SzOnKrBuQ zZ>43#zajam2g(OPMGC<6ZuKj8m1SsF0VJWwANlm@stK=?128;y1;je`%&D+A6Dl1J zREWoAb@E(4)6g)tY$V0QdrorzpQq`HR}jw*P)R=~9?H|h@>DRLVVp!^vhQ{vKovM+^6v7 zng5h4aOAU~gQ@aJRD*(0Ui+eqi8GFGJ{G?96h_F3$k*UkaP?hb1y_)UCNDq--;jUH zKd(VE#O@wG1s;^7k~kHn@{7S*0Ai1~7$P%6-a~Hu^p}Qe8~XVfMsu)3+A29s`eAm7 zG9Aa|?E`bn+$sY*FgEVkeK+OLY7mW8WXWGnc=a{ z%%fnRZ*P6`n>oyHdj`;)ja}pvK=8q^DIwwo6e#M56E<23AzRm zk$%%mzVlxB3^PVQ%8>jinHZRw{1!+>6k;fWQOy2g*i}w`MSjIy@l=j|6Gu0iO9qTt z7;MwLgPS=++C1WtAGeOU+Gm1;hduYe88i+5E6j>5S%$%^!D|{xPuxXi#~JJZjC_I3 zfRDOc(yg?8&5B9n$vz}7863j60Ox89nIne|K@T$GKqZFUX0Gm9yM8m*p>ZV`%bU+q z{?6WcYPMSm?0cN~cP`NLQ!-!#ZVw*Kb_DY2pdKC^u!aFj8}IdcOPEcaWlM#I&78}5 zX-8IZz?uEorHh<;PWdXArLO^IMaHEV$MQ7ftm=0Kj`)xW`GG!VKkqyTxbms;8o`d3 z*nNyON@eh@{9Nzf<;#$g3nQc*3RT5(OU3NyKf%C_&Oyj4^xs|)xWbiU80{M8GZ>)q zL?cr^+V9I3`yDW3K*WB}!MaP#makm5lD2l1K>_4y=1P0zxJ%i|Bm7)CP5*l3d^>jP zWIM;6{3l<2vHg(`JivAaTz8-E9pwhn%Ktr#Y09TAKX$(^)xx@m5wL&82VIbMCqJiBJ3vMm@9q(R=Lx*39%=Q7qd+xobty!}YqkT^X z747Fdo8}k;Am=!oZp$sVq%CvXz`p1Av3=xGyAtXy<-`g(S0H%niv6Aau(xhZp=Y_W z#Y25Ja3cOv`efTj+d=EO1M%s1sr&v*zo0A_4i5D=brD%xM6{2t2_CA0Ran6q+!=JI`>d@X>asz51&;+QH@P)d2`)xbgc2;nF^~t?l ziN_!eu&(wqU7KVF<}$bdx?cW4@m=uq9c$QEgXdCGmg+F-zKjC1@T-%G2&S}b7b(BI zSK%p8es?8i2&8Bc!K({6LTM>i1M5{R>Am9x;@~!HNF$I2jynQzsSpCj4bKo{r6^HP z4>;F z9995!K#9MU;PMGcMR!Fj8htm-PH%+?YZPPWFL)}uY4AL zJzT>|9*y(WFbOx(wNBnh=(YaWeiuMBTNsc-gy^}(?=H#oP#QsGD)fzkbkK!oKZpsXjhEPvnRK^{9J_$ z{WOY>{t>4zPmakvX*U-nJNV~i@RNSysX&hgF^n+qv4{l^-}1^jBD{y&Y-V<1hW&`P zhsIZtxXkI>CaA*W)&ge{C$n6bMXMOyfQiAMqRX^R4;RkyI(!ab6&88|<&QKE@IxfO zh4jy|lU8SQF0%#08R|7CgM0Vxjnc4|rSlrxDvR!=*E##HLFO`Q6@>5vq*ZU(PT&j% z@W!hdx1n5fueJ&ngFq;IlH)*+=OTzBgG%^W?#7dF_d}b8%BM1#CHfSOw3oy8|KsjW zfIYvi`p(*c-P7xkjuo-t@A=*T`@dGVY=ToY z^6$O>?{}AT&pr3tbC+}1B*s?~IC9r8f+J4~qTr1$&|^W2Q`t0s(pe&a@hY=+i0x$5 z%tq1JktYsbQdKy8^COOmQ$i}D&?=nXfzsW46UDtf0+2 ztn%h}?S{44XMDzUDX1UMo%cXN&lYfYi~$nwB&Td6+JvPYNnFOQvfCv}I?7FD-?AVJ zj5mXnxJ7vfyz*DY5;$;N09N=6>cCg)#;w%L|Kg*cYL7qje7o+N9Z|5CGx+d>f8j51 zFy>5KziAt@m#5pwW7BOl%F9X=x+N%m=b15186zII)iPg6I#B*rqO@}+N>f04xaItacDe)>xbKc!^hjE^{mdA9}dXl z3O$uq$fQZ7(3@~9&TemD+uy7EnEmGLgn9C5Id$$bwqm3%Hm&r1QdS{yIcZ#ha%;Qn zRy?=4IiSCa{pha#F#jjHLUGkfRuZsEz}_Q_j3UVddC^}-rv>sjqX zyvm*D4tQO&u3<=KJU_@Zp>-MbzB&a`W<+ueR(_YYEMF#rNx zu5!Ea#=Ttacynm_+#meDcYS9Y-WllfIq=#64k13!4jnj@vS(a#DE$sltp$&YyjRa< z3zaN_Px4H5t>RpQ<+QnOkF@ReYv0FqH~9{bEsn6hMN<~LZoPr5kTp{wSP|(53^d5&VWd2GM~oi7+(?E-<@c(j;1$ohv{Bh*eN??&sqOCaLM2{ShC}4@s*n4H8 z$KvquO&)`|Ko4it-vKjVFw=|kEUEcGTbO&Il2Zj{u)SvL(AkeIm;fVXr9c&e#x^U0E%Du~p9lTJf_bGl{ zY_Gj~sO{hX8V>LtrS~Get)3Ucb^cZyMhZn^aci%qLkc1>*oTk)rYj9Lbl6!*BTR#< z(k{>K1ia3kLl3%hPpfy>nh!mHJPp@;b#Jt8b}|gB-88z)+7s?wLT~5a*`%C^Ox{m% zg^;wkm(J}6E(f&}XNS@}x3iHw*UT`Q*UE*n8IH<0n-t}qG}-ycHU`Yeot|XV%Htnk7`VdvXZoK20hh3|gneQhfTRz1s>k;fi;j5>g8o9Or-JAS-< z;9I__-E{NK?P~VBx_@?x?K`t`$B`e>!2rJKY=TtE*Cm>uf@Tuvn}Pbr%$$$HLaEl z-1vnrohd__i$i5u{Km$=VdRT`qx`}k8eobAPn*kd=9a(@z}B7&Nhc@StIp z`_=1MzE554QSeW{@>2Up|L`BRpZLkY)Na4&miEp&?`r@1r+=m0b>rRK&~TnZ;!aQ& zUuus&`E>Pm?D1T2r?DK~Kro zkng0^Z1iw7GMrm7R?yaSH6J&3ET;}Re*8$=_u4*W2^iZ|+cyUU;GcYO+u%yB)U%Co z1==RAMLfuz_s>4Jlr4Q5plc&CHuN*7UzW3-W#cB#8n~8I^e3|?-^1dbf8hmIoNQ>j zw(LnPo_}HAOgZ+$D+Xg{l_&huzka|{pSz;K+j>%`qS%XP zf)zH)mQKRQT^Z2W!SyaCTE9Ug)Cufi89<5&1VHZ<%h8-+L` zoOD5J71qQO{1pyg=@_0ec83npef=)D1xmcShEEH=Re*H2S`5GtvaE5^xm!WjadfBt z?IV3-&=oFe>QIHLsPT<`KrY^1psV62)*EslyCbPA!7<@Su5WHA`~_3^2#rDcOqxcC zH1CYN^Vjd-*`3}zsyFei{53(H_W=gIcH<2#8p4}_N7~*H_X5G=rb?Tk`5Uq|aRg_u z@R=FFU~+G_T}u`j?zwRx_)63$e~3p*ht zGR6ZhfbbW20}oOV88jbyehCt}ufzvmUbq|DCuPYny66~|N}D_@Ty~JcV#+|206dLD zv~>?OK@DK=A+GqxW$YzL!X=W0=&+7l3@?nJ!#lo3=n#*@1;7a7X1s}dpu4+^B@q#z zXp;!rGJl!}Z|yvCLZ0gBlwt^k#Ge7e$-54$79?;`AFPmH5?tS|^vSP$RBlp*viFPbyfnzP1#WMnahfdG6H7Fh4cJcVrPqt&Hj#Fm= zi!w8b?EUWVeyr`iEBs3$e8sV7AFLxU48^)0 zCOv?pd+-U$P{(-xov z5N)=2K%;|#Dw`@Zwhh*uVm}jkqP_rl2DzC)k)0#l6stX4itQlA9IF>RplsD@lpE?B zS!arrO3jjPJ5;lSxJ4j^sPq)80~IG-tNdfI&o^L8C6grcf=;qyTCbl*#cz|89ozT} zl(1}H1&c5@CK&q}WM&1k>Yhb$|83W`kNo@JYu9j({ZIVZhugcj`t9Aff3f}g zzxj_Gq&M9*v#)(Mv%!anXDx^4nRjO>pYts3fBKoH+ZVrhidpbo?e<%5WuT4I(rLR- zal*Yb=rgBT*~^zyFc|1|8ECWpQ!yMRwg!Z~Y0H6O+kXegk1(j^mXC{=Js8$Oo+S)S zsNCCP%yY=6w*oi-;&zQ!_Hn=bx)tsD7w6mOKC>?~^zVJ&1FZ0ItC@WYSA48&`}V)o z4!rU*C+=?#?;RXFa_kT{%)CZh$@QHKo~hSZ4(%to#XyBxdf)TFH?)s`{NrY2+FG|2 zoo3aLgDtkV=NO=H8-NG=DwJouUKH8MDihmU_^nc}lqelJH;6p8Oqv(Uqd)&jHmKK- z{|We}49syJLhsW@-Ud1e5}w&6NVh-n3)>|zxNY;4CBpfu!9B_}_)Eu8M)@Hl(Wf-W z4n2IU|Arg&ZLSk1KbE8HFI~c6yi2Cq9d~~N*NwJz;s}Q^BY#N;1XwN!E=6NM?Uqm7 zhNlzT?Qfy)*G{o7PQm3jN&TDoT`AZQCV~~@F8y+UTyfn!Q|_~}agJ~SxZ;S$1^TsxSENz&;g>Y{2OjCfI)=p%y6O7WJ+d!~9YHdhKj4oTT!P1|o5nFO zrgU+9a$+2IvG2H#iO@dqj!*bW=)t9e21X;W{M&fwU$Es|JXydabRJmUWiIezh~;5D z%HBX1vYUgpY|H_$tl7CsLr+6lCsqSbZKM)^#*PC0r8Jot6?e&Ul4&^Az=b^ff zE?2sH{3dJYh?uuzfb^&|#)ex440^f=W}RWVb(WWbaXN%&*uP%)rLX4R+dbUBx|Zc? zDx=123@XS==@=a2Kppd5UYbS~XzLkk6qSYLHdf(-r&ueqmXZ2umQ#KWV>+tAGe7Xa zSHIDNQCZ2*Ch0lEb$qjb_$4~FjMzi>D)tX<-@Y}=1zkFLfIFDIQfJ#$JAy~r6#kr+ zEr0o|x=F;^LJiTGQPxSgkp??aDmKb@_D_-zHm6_ zO^Xe^@3Cb5B;tpVD(CsYN(s>W#n=SbPu4X3efLn{!9z*MEJ3UH_bgEcLgKdKQ z_?OY)nfDr0l4BmZ^1>_1(mAD5C_Uzx>5Sr*ayjrpVdWVOTExan@cQr_EZF5-g;+4e zfAGud0@9K83BV{g2C$AdFps2^f?0zRrZ0X$-mw+z!g~lDYJ?#dgI8W-GcJ%+nGmn> zbompIpP!@vIP25Ihn&jVNU|US3Y=zDE8&z0`4~(_ToER|g}4h>(lXS2k+sA#U>+)E z^G0Ne8bb{R5FXwo7Q^s}+c@(CC%!mJkMgk+8J(Ux+wQpSj&|!Uw=i?I0e+loH|)JG zHz~M$*Lr%>dX}4`kT^(pfh`?!YAwrePq9ziRJyPB6z5Y+IsioioUuIg`myZ4_v*%- z8`tH4E<5IsNd8$CEE`zBC6%EQe`&7Aa*b(7i*DU7X$V~LH*!*el0J>86TmMIW0rR! zw0`7YTyZyoxEn}%{PGjOK+vkcGND@(QdJ(yHcFVwkRN;Ug|=?vb`BEV#`dHGh-+B49hU<>mVWrCAu0J+^0Bk-11rjHbf5E!iRD{$lVgkz0ZXU?2#v} z%NZ2RN-Xl%*>vj=mLbaa8+8fbUt|i-sEFReg-puEJdgCDg5YM02RjJr5sppbQoj;fB9cH zb<Jc@}4;5KqFBl*3F8SWc60Ui~&-EiI2?XUmH54H>c z@E6)63@YtGY2R}7j`R^u(Jr84XHaGt19&Gno98fX-K#IZ(w=|jDORz$q#gMrGV|i- z;UjFn;68c}sUx44GbnYAS?nmxly7D56srvmf#b;G*W2qHZZ}Ihyk>EhLB5sb-wOEQ z()t_<$Y7TJ8l`gOl9g@x#OXG}V8C)t=|9hPn4f>}LH2m>gcq|Y@CP!;w3$8h$2h@V zx$tniXP0>?QgV2Zogxz?3C-%p?7K;8BFkz<@qzzjcfH4o3FbDmW#^4rptvPr;*4B@526^CXj zB~q~oAJSI9xRO8o$g}EaCuEf`+I8zr2ht_Rw%6-pQ-7GpxPzYh(*6%H!NC_EI-tFj zzKc)VUI@TDFy~k$Y5ko6dI$m>`EVen!WzcDkKmS3hUei4<%qpCnH=EUi`m%|?aVFb z$U_cCRk3F~(OC{ST+U=rZf7E_{fh}JYx0+pPTZCP%bkVOc!}>V`Y4lcxu^JDSzrb1 z(x~34NMg+KvB&I*(_l#WLC^#n2UoZ%I~5sC^(!}ppj;Iv#UN5QK*eVe-ohiY3U32u zM9!@FlvoY{6Gt3@rxK-r1Pa)Kwpb2sn5qPnNE2WP81&c{>;dIfIJ6Z^#SSs!kF*U= z9X>ST*6kfUDeu9%Xa5S6hGmGW7%>DL2NJG3U*aC;?m56*;ggVpVyJ>Rgj*E6@~l#V zM*_h=8_*%qgHvLOxlrQWZC4;*k@JvW1Q}HdMkkI-(JZ2Gffb^=#A{Iu-Le>Fu}utJ z-rf*zM{vnk42J1>p06;M&@Egf4?~w1!QS{3F zoj)qzAy{z44TmTep~Y9lW-e%~C55_0VuMqg{&k;eneCLRXhxX=R>jw@j3f1voQUk` z^#=A4y5#*Tmfbp%?`ZoO_TbvM+L)c0e}Scf>@PH|jfL?*-#}8nBUUaXq|&CH|Ku6r zM!c8OxCfmW2ZP_jY#h!yyRUDC&egKGGh4{4wqW-^;1_8(22U z^)DzT)+cskt5&hj8Bh;#Y75tlD$!Z@m0QwhJ(VEv(vB&0mS-b)C{Ha_qq!G)T zI{1=nxhUh$KKFck|2KVO`_te3J?)?U(|^)ld1W7mU2!!P5q{vCzcB}Fo@1~6R?dpB z(+mdKWk*q-*_AF?l3$WY3X%;N^XPu*Q*IrOP|1e@3eUA-8ITt~qre$N#7gU>#gtuxkzb0{lw98hWbbuc4`gAv0NH(g9H^F8Ox zA5Ols*Kn9f zi`A}&f7%y}OygM6GNcdp3mm3buAmp^MOGW|HxEtXcO`~#dtGJ@4nvOY&q$YBvrMmN zs!Xtw%vt+0D1PSoGG+=r=(X|&`oZl=AnQI?4~WY|THY5{s2Q`ePT8f7s;kMM3py4a zQ^1otqql+OpU{>+Q_#yOboREh_g$iZ!;8>nP|f1((eTwJG9Znb)om(f+yyS$4O4h3 zUI!>$;b#4u0eS$OQFk@OH1+r@2F@JdUG5TbaCp>Q;gTM4k@t9H;2+*Bg@;F!yLujBTMYp&bF0emdgrhRwIh1ayYME#Wv3Ot>ycPmg_ z&yg4NEahk1h&WHMGQf;t8U2>+?TM$JVN1_x%KmB&?_0;f|5fdipZR1C0QB~Z6UP`7 zJa?eobkkni+?n>}C!T7PFT)S;Do2k#`c&KZ(!O^1@Ok9zBm;wU?U`o|afkh#?e4qp zX{#qTw}%;^cy<52_U+&PZJaIeI{r^&#o%+#Jk88|%V53-#qQwLeg`G(vpBdj$##VG zoI_!nt%)3T$`yCyR|aS3GkEBs`DDJS?0WE^E14{xmitVgk~t}h;~)S>jCtOYEz$;z9`|ji3sm)Yp-qIE=lNs>C+t_SP}JB^CQ( zZ!z7@SuKIF5^$^#0lOrl%%c8uVbC57)++oo*I1-JLvt{=C%gdskR=2J7wtYeXpgZR zt3oY0jL%15A3bBnk()5xLYSlhhctBBdVB*=w^k5sqtKWQFKHquhOpA$ccdl^XAg$jV@ylc)pR=F@KDrmc^#HaP@eH zNcCS7Bq7SBgM=TKqizV?;TGY!oCO+&{9Y96Vgf3lZr~kd1@=)ix?>+eM&C{c_&WTeG`%?u?$xc~v@X z0Hf67?tbqRoJPNiJKCq1t=qhr*#c&tZMZU1G%!o5$~ZVAMwvCZ60d*CO&Uer{l~p% zhr$>Zr%#rp!L(CMFHG93|0Y+jKq;P~@j`hQ=YT)^%{lnb4w(BzbM+fx?Ne5S1O6Tj z_`5Ok)9Vs&+TeOpzk?ytX~TY=4zryE8**p8ebQkCUN>p<1_9mdXgL_Ga^L}l-abI@ zFH7%L`t^5!#Lj~!0y|r3Ji5DI{{o#AJ2mq80v+>G3yiV&n7HLnI@c;!4!+Q7p<{BC zs{y^2*iHuM!=t2M9*6HjV;Flzb?=zl$S9u(YaZt5OdA0Vh5;@%%)Lw`RPw0cdhpKk z*ay`0A&sM)S%{?YiFim-kEnwfILd+f3bn*pz$pZ&>vb`kYj8t2l`Fw;Oku;Ub$HuB zi`>Rv58(*Fx6{}=e+CMV@UAc@z``a15o-1=4pCIsD~`MhBeaUUKr2Y_YAjj|p70nf z6a7G~r=EI}S-fYM^*Y4N-jS@_SX^bJ(%e_Xj z23&ZU^i(+6JIV)f@u$=HBYJ;P$P$N>ZLP40BSZZQ4W+H)1bQ;v?@EeYu6#N3oT38zH`pHi^Ebm-G3Rg ztqwG<=DY-NLzt(|%nUZ+tl!+H>;YsR9O!l+727CA_!;ZON|YAsCDNmx*R`sg_>|HE z36jY#3Q=TbpcD9bh{&gxIS8%^A^D?nUkcIy1YF5kFHa*yEA1Z<@l<&#GXcVrvcX59 z?{XJj$s{4PNT@bw7$0!ZUOxuHkogN2I1Qfscd%y(3ZsY4y0y&#p5xTH8@Fs8mZ6&~ z{E^n6H!kAPuJUHv^_PF(+qpmf?Z_KmCm7`U{Ns|` z$U&4Fv#o6U^kD`UI6(08&$I_W^F;D_hC>BkdHG2D@*~f*4}bVa+Hd^kueIO#o!?~T z&=fP!$Sm!lit3gvTPQ=WRuv+T#05r<42m51-DUHHj@vQH{8rm zWz>F<1MH>blegIQvrYD^9C!uoY4SSoLl`F*JapKyY+WJ#3XAM($K91L1w(!lXY@D1 zT;PTQ>kI!J)D_lp*C$HiKG0DjQ{~@2knk6|^}^Lb-lpK~1Irn(IY+urai9G;6n#sG z*LS+A!HEH-I{g@hU-{$n_4K?&6?-$n46zeJ1CC&)b4dor@vF?C;23gL!Knw6#%>+Q zMSSDVBeU+^qM2VR+m5^Yjc^Gdt|8VTd*EfGI4L@cNO(T0D zA6efJnLZt+(i0b)D$M1G!w2Wf`COjp!nBybmxt`Gp<%FGYSy_hcIbs~Xu6W;049uC zA(Gy3FJM?~iY&^|0e-RXB|H%3kMLBwBB3DSi-SD!PgMC00%j#`g-+K6P^cOz^FYSE zu=!5HC?et+gcV#xoNie*Zi5wA6hS(oDf1OFGMzZ=RPe8|FJ0LpL5Iu3+3d9S#>E5O zynA-%&Yi*I>FjnECb>#wJ^Kku(Y5pH>;wpnxX2yR(9<3|u%tr+P#UOo4NXd=PL_mE z!u3QXE%Kbb(nM$4bv_5^=Xxero9#SDp5oTsfyF5)J z&z-YI8^aP zFSDjADboJsuXPt|i%YKL5lrOL4#d^_MKq|0pNMrK&nO&e^t zmY0U4%X(gqJbVYn#ZNQ;9JMd$k#WKFbJ_MulrCrO-Jd;$Ja8s{X6A)S+2QNiAKq8) z$>YBx31_0jA1(~}9uy!8z6Fky%mjQ0p3pH1YOsiv-@&eI=@t@n3r!egA|d3Rd);eR zwpJ)?+|1Q&=MTfbIh6ZjZ6o)sFG1PQU~?jX>k&O=gFz6MY|rxh^MCQrGi%Lta_r$| z{RI5-;I|8H?c|E~1Aq2|ZPU(e?WcbBf6Gb{d8d+m)t0U8UH9MLuD|YDmgk>kwZJJ> zg>cv^itnqO6#pD6ZytZ*Nft)1#b({w_RQ1!7<}Tq76ys8ZQtImyY3pUr`t&0F*wb& zmlG)NYnj>K1P30tZg2apKlA5Ujk2!ozV;?=PoV9fP;FrQ&ToJ0Kel`CxwY-tzJcv; zyV?Wq`NsCtmw%nQhJ*eN9BEf^Xx`z2uV{)j*fCbG zJ@CML+P8i1TeD*A^Pm4h`vL=wo)EtlS$y{S7b4?7{KG%YK;x6`U;fKqZr||0x3t5Y z`?KeoYgwv)RaUn-*tCj4IGaPSeRH+MN(S;h;ok$s$*2^Y$l#F4)|dV)YknLr%bcP{uABGiOJGTO1_LsX=jwp;+sIcd5P_{sc*K#iVfo;v-Ey751mewX zI&PgFX%Z%V0P2(RunA9@^QMb)XY6-zJtwP$Jcx1mY6d=ta+-FZP6gMIT4%9Jj|#}a z1xZr$l8$_lMTNUNVAfbvV|a@_Zvn-A#OZ;xvf5u&RA%lR1=&Xd$o{4tWcU_zKo(y3 zDLkW$3v7qfG6Y@-v5?VbI^Gp_s4#ob0p1FZfuj)?u~`Y(VI4gYr1%WT${YwH7<>X= zl;TD_>1^XFM5m!sV}%pq5=vj2JbewQFeA>uSYYB2xWtHQ>^l_1#4`il=BX-~EkaSTGOHi$3FNSmf~r zOJqvs{1$LQ zQcODq(&v&<6;A6KXOK6{Y#@G5%01rJuU(%RedVr;R0iZgna)ooF!3jnyrjGGC)I(` z4;>^sW&(FyCUfBtaB#pw{-!>`Dg4kE_f?G2ALB%Cm!5g3l#kcp zItfU${=^YPMYCqyBG(!_VFRob#f?CAB78cGjkS-Rf-FVFY#r@62boo(3d$EGE{#vT zz&L>7fQp?I;f+J(-#jpV&YVrq;nA#27@vPVymtM}duIn+y9#8l<3c!b;-KR;(x<&}eP4!G!S*a1_ebD&SRq%rwoeVvpH z*z>7$jNH3_VN0F>7FxkkzDev5cs1K5Kq6i0G`}1bgczfp=!sPQ8bB<4*A6rp9y&#`p?TIux9E;*CgW)-BVHB}ar6%Ry|R+S#N zGkI{DhnuOGxwU-;<^C*6hT8#D;K%D&$uVqJC_rl|C02mco51>A;uZtG_4vhZx(HW; z0hYbNJL$vP?L8O{*1HJ@OuT)Gx5JE36#iI&sW8|w`XX=~3tAj0z`7MG`6%mGta3d( zeM;I}FyiI`sq%M%a~V9-;t1vA0#^@mZ5#vO%RQu!{m>2;Qp+TsesJwP?e2g0#K$;n z?z`JgW?v@|9k#S{I2|{=R5RWlc-P(S&wTR-+h^Is{_Hcawzu7~6J>U7yN|0YEq$n$ z#TZC+&?mFPtRVRkw_5zqKl{IOwcP%;j@vPoFaUpo!Mev@e6jt_zw^`Wo%h|_CKyDx zm_s4uxdVP)yUL0(FiR;D%kAhiHh6RfW%9X~4!2MIr_Z)O_x&FNVtISt`@XF`_1J6e zBftDx+?a87d+76zw8x)%s$IQn2mKKy3Am|2K3k6G=HS7FQ|*Npo^5yCc}x4zAN_08 zRlC}wUwV>opUZ&I+!@aEVGsHKgZtZO9{NoC6I_k=_x|4B=YYVS?dN{(XWQHEdN<4V z?+VUrk74D(aoTt5sMil4%DwmNxaQ7VWXvO1S9k!QioOF_uCj1tlI5+RC!t*12Xb3o z`c9-2teN$+=W!<-2=%XaM%c0&L^-l= zqtb8qOqyWNssQB7fj{%+JmvK)1NZZ@n!!mH2t?zQSzCkr>%0^n7qv3 zfpq&bFN{EXb&V20UQtGFksnxddqV_C=wpQ2a+*$ zKf_fF!hBVaL3`X+3II&@uaErSJdV!Gd`F-IjV5a3HXw{wRl*Bt9z`}XRMHj#YkxEN zQNXXEVHEq2oSqgtLRWfv{)c`MTn2W8_ew~<8uuWPkMhMbVdJk{)?Y6lDVr*CbONGa z=x>LIj-E3{)#)j!4dV>F`1Dihv$N%rx^xUt(zkBemWJpsC)%1H9wd_kj=*apmOJTb zq@-&td-H5VT(XvmpT@x_2fs-%2we8&(!4YV1oFzO8}{A+Hb#b7X6_xe-Ot9(Jm@l~ zCF#Shlu`YRVPN{Wd5Ew4NVjEG;ySFsikWfGpabbpiM8pPU~i(Gmt#jc2Y}fmw-k6S z-mzoH=y2HphMEC|@mJoAqc@6?9gy&!#@n#f5r^merJ=Td14cTsm(M(ezAj(F%SRRe zu26?B#eg*0)foqO6vUxH2d7IXeFU|xH!Yr!n*kbP$n1|D34U3T5$J?4k%7xV0G*J! z=axL8(RUxUod&o&3ZYT^K-Pl$B_??=dd7l}+%9JbTmicRVo|)n$4$iPJYNQZLE|q> z_a6))7^Mr@m9O#;QxqzBR<{QfPc1iI^VOFl+M#nM$7of+YWC^sg4-tBozcg(L?Gzi==X zUm_nK3%dXOW*yW*_HMu9_O@p2nr!_z4c#tVz2S!Ib0)^R^&3g+iuTZ#pC;|%0$YeB zz5J=rDYpk+dyOU7>|JF`&PndFfB!c=keSFYv$QsRr!2Va`h1i#S3uY~rVfx0=}o?x zE+R0R{x!nkSx7~h44MaP@ePMd&=N343wbM zIZ!HZqpX5KYE{0ho0QkO6P$8R-r1qoFMJDV=V7%YAyj%Lc=*W;|6(J#{0C(R8rck7_`3|G3=Xb>2Yp_`DPdqmxw5XXJ#~ikJbCX5j!Cw#^%Y#s z+`rD2mwEVlVfq4B<8jR!a$x$zAvRet$06A3*KBP6HixH{ITz-gmJ5%+LPc?ZcYj@cJk=)_AvYG|J0wjzy0`6 z{1`WE>`K{ONgcC>^Kdq9-OlOw2ifO8(VltjNc$YK_-og%X&-q1d)tS9?8n+W-}%ne zOD8z=bDG2b+_!&(0m{RN52qZiq2(l$dFWk5MC<)2kGoF!o$;6RK6@7a1tSyDQ(s)w|tzQE1)*tDjsQI;I&GEDkZ zLs_W0HbO-__Qfhb%Y%5VTiwbhe(MIG!Ut`(WzN=nNFXCF4%E>3q0Zno3s%m2{BvL8 zKuyXXcl>$S??txSoIyVOipAca>~RJ8*U9Uxr`V?^peo>NgBDq4dzSW3$G9%WCSmC$B`gbBD`({hSyP^HU-(+FGs`;9^=vdaHUf5>>=-GpR_YY_5O0O=a!(KF zx#5Nz(g}QwgW^2(+`VO6+1KZu>{nlXjQ|(8n--a;jc{4^lJm>jJMMWKOX$~UwAxwX zmtJ~_1KrqXN5-#Vw$E!~guP%#jEd8NTl3bWGbyh&)) zJGI0#gaaox9jRs%97{TV&{yH@#KI@inU0^3fv-%`4Enf5*@B1CX3%hBj+gXX@TYU4xUpvCiY$-STcV5`3c7Vb?gD$(1KjNwSlvwfi zDjy>Z?-I5KYMf~>t;VU@DK;<%Ru-fljgko=;O}(dmB&2kPwMDy`6GRM?OHN#P~*`x zOp%F~eab@~g^DC(0k9~OC*CJsO35@z$JFF%4q$RN&2mHjkzDzTD&HoTtfHLEAP?q8 z$=pf~n|to5C);iYtLy;I(FqFwiOLSV`&m6}LPd85h4)C!c{;$z z`Z@X<-r8{^_09D+!l&Qj_sDnO~C(46k-yFEr0E(c~c6ij~%nwK~Z% zVI5&cWn5-@C#H}Gwj9_7QdVrkH?SoAByHrf71YP< zHyWf_3{ty3W`|%IHx7~C59mL5Yt+dnbrFPJ3j%(#y388F~8ExsBUG1vt zxa#t?{m3fqILq!gaT5J6efHV*i(mY?_RedrZrAPD+O}=rT0IAY`E#Irg6$;B;oVZU zSgs`{|$lvG#4>`o4D6_NypwtOhtW-=2Ez6%K`+Z0j~% z-3}e+W}eqiw!2B&KmXWgI2T}B&JftWb9>v$`2Y@vonWBxD1-LGfx~Egl$Y}P! zqwu2izPkT4wnDsyT%1RNUz_tXRx{ACe#55J)t>Q{ zKl8`_f;ZpT?w{f63FRO%cEQzv*2^Wck!eK(fG&f=D%bWCQlDs6*(b5eNZhCk%(n~@ z=x1BSU%BBv)EC;tWmyr{6^N@>(@&t>pQX%Mx6Ci$>cr)ofIq*Yy$0XTa)trJ5>>}F zxAU=eh(WuEG_S~d>Sqc6`gz`ZiaoqfrVM#dW;1)ty;ojB4!}AoWaCdNxdFB+JOPFP z9dP6{Rw)LpaERX+&V`UV@*9QiKn5KAjAw8zOx2lGh|@V9Dtd|#VQ83qM))vSpg6~9 z!;659DsDU2NpufZ#qaWHI(@(n35u+z5Q)8q8jNF~_;!#XK~?xd)j&^m%Ep3yO^wwM zReZ&mfuQiK(k3tBI-X%)fr_q>UOtGtmR}+<@4f=ED|io7h3wuD3&tS{qhLu3U~d-B zrC~;a7YvI)2Ao|E6Ym1(l}(+7MaWD-Rq};L&jKvPYYZLCD&FDm|A=`iCyvnaWro62 zt(|>etzu87&^_8-Q+5G`L!2IRbPm079i!OWxZcg#M@Mg;d+xa?_ERk7%SqLA(mb_U zh0Zc^^^P5Z^$@unln31#Su*I1jEAcU)0IjUA(eNpsBwS2oxDRR24|tc5%PWe_M_BK zS7TuZjI^i>q{EUV7n3TV2Yz%`#9HNkRBrJzY$?6fQO%O}uv3|{953+9QR}rRF1O!y zYewd0&zz=#a~V6G>^ZLAVYcDAYp)~i)>YN09c86~_xdItXCcP(v73oR+?79=Ek6-H zM#&xEz+=TqJC@R0OZzL`D(v<-rL!7hXLnugAaDHHIbKQw>w}R-m%#|kcJ>?q@UihX zPHD`50JN__Q3zkHoWzyRfc2wP`18XT@1obla7r_BaGVpG&#+|AnHwq7#~=k)mdGSN zc1m==^clGn+DpC5-hl>k;yAzuCk)=DyXpz3r}c^DVcuk8yuHIh8W7m3^}= zNq-y5LD#U~_}_l)Kd}6EGoAFBT}j@cXaI^pb-$T}fek}yOcyZ^iLXzkQ*M}^dKQPO zx?~8{Apj{n6+V2Seo(PIew4ke#TTn@RvGBM+8~+J}AVg?}7JVLKPzj3nQh+d+8Ji~Qz^JAForRMRD=muyobir@A5qO3kkuU7$gqp-|qs z>l)hE>Gt!#`rGY&x8FwIvuft>X|9x;ru{h00e8naw3hIbTiXYAt!f|t^q0BA{z(*5 zlwIV=`|BqeY+H*WyPOpk4%8_nlN^dSN8fnGiuG+Rf8J_vnzr$#t=F{aBZt~+&mU~l zuTQsUsVj}s`g9d$8Z4CYS(JMQmmMr%N&T`FQ|&ZYt9c^+XP9|E`QQIf?Wca~ziE4R zt!dl0t!qE@LqE{o|K4}Er&!hV;tMY&-(9{gKks2u!2>wgtzo+X=x5lIe}Q`Pk;k5H zk3YMwEuY%l&MZ0IR;=05HgBhVvaN2{rup{q|MdF|R9tK?y#NdYk6t5(ZcqEh_BCdt z9n^9)gtyU5!FzA;SjV{_H&OrZMrog#n#^RyNoM(HX1Jo4tbFmMm+8m6f|-LLskRRt zIZl2o=PUxw6R~W9tLhnKnKEv9T}c^HrYTL4AEY=kYTBZZ^NsvP<_actlH%hZX>di5 z+de$g=py|A<$wyJ1ag(8DRZX2+DT+YgabsJW+gQVdI zJefIzQooWFWey~9-i3XZOn89D`p3bPDlfz_s9A~RE&h5-D)#ccvbr)wK~av9`^d(k zNB2wJ27qMfBH$~-ibGUBhFkP#9sE=0={Y9YMO?vT^j`Q8vQ(vp2wnx*YE*CKyb~`} z=uOyB;3Q33#ap=2{th7Vvoh|Opld|_h{lQ~JS@-={nFm~)V+eNzb;!Cfb@SXfX3kO z;r@$!dxUb3r&~uxxe<=&`=-wu^7t~)Vc&QnF9Y*tPKl$_2w8=y9Fm6w)|R$(FqgyS zv36ADi*2z(oZ}=5#vdJxf6UD?b;ajOX(mX*4J-}@DrYP21Q`;gcXcX^0bAlGB(N&< zQ;ZyM=8jkQf4Q8~88fevvl6$_m}hUB%At*k_Z+WeW@HT`;;WgVyy~jW%(R@O;byjo z@TX{myvD|BZdAbEdH;P`mg}j_jzBwmw}E}M&QRK^H&0#u>1qL&Y*`-dn7ABs*VVhC zWZK}nNmnu3=Qtg z8o{qQIwm*XczwJ6dR8ouo(*jse6pi?hE6J{_oCoCJAZ<-yEOD5gA;Z{vn0{Osk)_{pkiRBKuO+S87BrvP6+d-HjFKy7Bbx%iE z-qJ|h*|d`)yr*l2?>6c*+#Yn~46*rO2jdjim)S91pt<54YQDHDN9JLLfmRO9af^k^ z4L5A$1Z0+Ho*>VJqZb~!lkujNM}9BJ=ipYK$Z9vr6!}FGM^7&|MNc^g*C68~ya_b4 zTMLOHfaRcaA^aSfJ6+;5!XCMHUN+JHmj`p6pS-YV+oH9k^6vTxz`%nL5Y1+v!s? z?dqL7G8^OI+iLdOu4ko7lqK?1I*T=OMSA;Jn#ngnl$FlFAyxSG^cS4(I8i2w9r~Ao zrb)MQ7qA}X&+>iM#;Nu&_g~+B=N;|aKJ+2>q~6X-o=qA2^IAm@#Bxi{BzvXhVP=Pr zRm;~TX*$Zj;G;(lQ%9_0R*1W{k)^Z1dsx^D&p*#y?d#jM*X(Hzz5ZyeSRmah_kAyU zI6%Te=O|sK89IA{{rU)GW#8T7s9QM;Ajral{Ls0k)+wKkCkTY<4)v85B|b{Ab)CxM z!2eSC$PnFeD>*gd3ajEPI;~Yc%-_L|n|&3P`&Db49b3{)Q9qwS9=S&>+hkG@W3dJ&bAHfAStdf3+S}LA+NH=Ec zktm?1L(WjnlM2FB+9lXJL_Y_K0V3>nrd>sB#y@2V*WC|pUkf-MNH2C)2?ZU;uGj5BK~Lu*9`xRNMS6lyiZ zEMFHC`{F;bChp|Z5Do`DD=p9#Wh{0uS|1yMG@FV1Yu8woLQ;9F8~81tJo;EpgDOOc zhabGQj+VdX6`7TCbB4h$9|uXi3eQu@jYCEARH-- znuGdgX5C@{bC!CYA!qGeWRE}l;g1|Y+-}&-3ZEUD+JldL3EU{p^iOu}-qRjMA^-3G z&Oc~B{kQ&7yYsedP=2{R~!#;TfZn=AwZ3ENPE9X(9A7wkxgO5DP z9{#iK)dNR4b)PzH2?Hfl>ye|AOkix}PWFTCw|?sr?e05oWuN_aWNInf77nAN(+;B? z`!lC6xT1s@wr$_RUQ=iOgMi2j8w{Z)T6Rc+9&i9x1 z9nJua@^1e|y4?boTP)zM^5Am*J|JhitSs1Hadn1+3T|QPg95s5U=YSxdLQBa=}&Jf z;av8gvy6x@1BHaKpJhMAe&8x*=as>NVU-~Di-XNB#h>9C!Z`-p5Jd*=H@4T0&9#Rf zegeKywwJ8|hV6;)X`a=9bM*UGQrF9!402Nbr9Fv~xZyF4$*jTtR{Ojq75mZ51>8>M zY!+BURc?&(z`Ezn9y52*LjZ$}Dpozmag^r}WZdHlB9K}WVWz^%V}v6dWeG?sVZ4Ad zJpl@FnE4;ksn=lBSaed12f<9(0Q2&{kQ*qWI8_6-C3_7|=~(q?(gYRq%n?#*$k1cAfH6T$WUNVk+7Q zOL31gV|PoI&>mpFpUd^dZwLMa9sFa*7~$o*x|LkKynLdTe7gkA0RjgM9Pw6hau!E7 z!>SMoKg)K26Q{nAhEe)WSEUKEQa~VKV1D^^#@BZMNtkr7$8+Dh!@vTG!z5!@*>#pg zXZI320&l~2j@kOvs~t_RrThj}fw@2jVuINes|p)l(Wv;s+#+Il>mH=}#5NFb>~l_S8tyD#2qjgXsE4&0<(dG zp!|Ay@=oI|DB>@?_#(4JFEEHQ$E+471S78waP8TBJ%>IXZ{Yp4}%== z=O*@@fB8#~im=^%&%Ind<%|x4D{Gkr;n1st2VLrEXU~BImrXN3L!ZvA5l4?5raUa= z)cMJFoKB`smu1s6%9qeD;mV!mM2CSd0%0%P;D+z$iC^)d@@!y$IQXx@B%npZ$0fPz z*)RJ0k380{r4xJiU3X^i>kD7_0#``A6h-ox=bq(YrP|J7$JNL5Ie2BAbMVmN_NyQH z2zzB!9A?^DX22X6nPC5F6l1o$WKT7ndpnL6DU(*zlY>2@22vA&X55qZOWh4=nIC_G z48UUIxDU{_Z$3d(a+05QnqPJ*NX^MJ^JtXda%(WZaamA#Fmzi^z(g#>sCeNka1{ zT|qct@+02{UzsC9!qp>k@lsaIJ7}FMsqCZR^GzZN=mU_R@15DfP-}>X9i9Vf5;#P94X&ju z4_|>2j^<81b`nzT3s4@NNuF>}oBT(vrlOC@< ze1#*H8xqWZ`y=hiC!fr|c@NLq$n|?(!MBMs4|eU^$$;fi_V6Fdq>0=0&M;WzIYq8m zQt4j3dM=7|4cL!jUY9X&tWqwlKY|q;X6xOY z^&Q+80;VK4xrrJKXMST8?kF_VBd6`ue zwpDJYL?;F~K}hn5J)QnB|0@|s;r<9=F2$u>CHQ3smw(lnTpTL$K%mfU_y}^a z#L>Nzb^r|T;Vhe&Ro%92OJ-;Hz4~f8cXsd$=1iFfyR4)_ceMA+JohToklV<(AKrb! zJGO6Qi5u4~(aAXQ8V&N1BW=fy?fiDOg9i@L(Xg{YXN`4dD(h*`fK@5-lw&(bOHp>5 zDRETVCB{8%-a-4~;TJQLtWv+E9j}9KSjxZewS$DWgEMrJQ&33#P;mYDyHw6>%q;JA zG@Ln29W%yXja^YM&X&CE?qOce!mB{9VVT_#W*676yl?N`YoUcDX=53q4G9KO3*oAamCVRz%8m7`3J+l&7_p;t zoV}UKf;>2O!fThdB`;jHU`P8DOJOZX-pMU*9RSNiTgd9<2N_U!EGbh^xMJ73E0MP|1;2hD$Hd!r~Og(d4@y_E@_Xn}>db?{pp zz`&z@;Z?A*NcW@}=#&@Xe99xdupDY#4NcYsDp*(1solD1Lk0j1|H)5%x_$l&59cmx zXTRJd?VyDn)Ok9B9*DUVd2$6}04n7(9Nc6*F@s`<;7J(i zGS7y3U{U_*Emb@wB>X9>Z)KoA@$Qx(NW#R-%ixvZO1I`Axbi)Ej4yFoPNh$!9QrVi zco!IDXplASgG>ic!eioVhutSKZhSqh!Y3Sfh<_;wkO#)mXa2mIVuCna?hgA<>ZL~< z3^=kTS*1ey6b(JBgDuaY6`aDmVl|2s<%9ajdSey$)Vm#PDTAl3E>Iz?RR`?vrS5WIW0k85 zpwo84ddGIgav+Y{K0v(MDKlAJ0D-v%k2vLDr2vvbRVTfdj=??rsWg_+_h2&dF(=XC zzdTL-5)fX%*xxJ}6&$yKyOoT%WY9nfH9GdfXrH#xkN%JUZ`(A*HV2e=g0(5y zFIUH0M4_eCVyQmy!K(=d3ASwGP(7CQD^G6SvwfUr<;6t?+R)n}mq8Q;TrP6@z5;Nb zGA-R9A2~h0)V!emzsSHpyje!RUbK&4Oz`3q=PP{X@#Btyx5l+~?|xuQ`(OU*ijX8q0YC8gxkCT-okrLAYCzBO(GVw=S4 ztnOUOKKl!##WRPNGBC5m{06V9NIdk?I31`kuZ=GCXc-bW)C}LZ=I1S=*qadxtR^!e zY;_Qp%QvYD0-)fVVb$nh#$LkLGpO5bbPA_10GYe>4XB>L;#cvCv0$_dTF+uzht{v7 z6LnRfDleE3?!h;-Rov23xGJ1)9t(v}=%d=<8(cDA#1Ye^;0kNi6iQPUhfjkW0QkEs zZQv0o3JdP_4<3C*BWz6C>X8PYcu5CloODg`z@E56qk#1km^6-ar~6*vJK(;8@8B$u zPp4&!-p-5ATogh;V2k1ev~&-KD}SW>a!;bToW~_@6}<9f-0RZtJvG8y8l(1c|8Bl4 zY29-?vT^ema^(Z59QS=wv+%a@RUKXu(I7jz7RKsm4FVHa(`+NFlHdsL9J78ZFuGF@ zr($=e?R8FfJ;mv|b9APBT`aUu(UqRuOQah)WX5)j zeQxdm4fYNcR!{k5HXJ-v4&*?U)y@e!Khkeqlj0AA%CK%FUxXyQX5IUfGA(^+qzAqa zaE@Ht$+Z)8jI#mkJe`_8-gfM~f#qhk{QPxB?H#%I+>R~W^_wf3P+(Mui^hRw=nZ3V zP2On@5tduMyq;&4>vPt#lzB_8`t!g*2UX5E5{{p|^#DIRxGF?Mn!R`~b3P6-NAxqw zPYkYnaDd?c``^W(Kd;jHIK@&;Pvl*i)fFc%o2HOGCbnYU{GU4A@Iy}xCICxZ2Z#}#?ohEv5l@M->N=VrVguxQ+3H_kYQxj z%<&e9d9FpW)1sKT$9OY$GQa%tE6hy4%<_1zXI#Pz*fh&I*Ky+aOnx=XRf_#O4w1Ao z=6M8mlwUt|psi+BTDg_?odv*7ns_~cZlSFspgq8pg^((H zWLz;_yyTS;gy-5xk93%>(M+WEigskp&Z>%6?T3^vOPIWyK?(B;EtNn!w8|`}l_PIQ z=*&Lw_Pg5K-+oWFDYzX(8FgUL`p2cJAN}Y@*(d)p^_u*pvxidQ0EWtAE&Ws`PqdqF zx~aYM-gmT5eex6ScRulPl$Z?+JZ)^JSW3Hu*}a6!X9*pgmr_3% zN_h-!%PaD55d~0%$#Dnk-DQ-GmE59m_B@9IQr;~4%NbOT^5&`R$e3-(>eXvFC4QRv zjl%>{{yaEPf~5tWjM$~m`T$vWKtVbNT7(JBI=I3hNv?Dk-62xqh?n|@@U~kRVlQ{R zNo%gAG_~TC&jwAM;w&}s4m25`WjJSsLr<_Vzv7+MaDJM_;jyyVei4DWbUfw%zUQi9>LESID0t-PU2AX8tV?+|_>J z@BfwdpMLK__`SNl{OY0hWoBJZq3mv$+R93qNqB8;5|p$~uHoRf3(IKtj!@6ev^5*t z9_9g-@PK+yTHQZyotf)6J7Y^Qa2sZnhdQ`#-Ec+50k-FT>$~r4Kl?KuXv^kLwl(Cl zGw!=~ZZp~K#r?gKcsUR zGx_uI>O3p3Ox$t?oX%oa?reiyJvGm4^pL!`!-%0QG7t;jREn46u6O%jOW9VynL;OM ztC7m&#f2 zT7UNf2cWW63cI0r(j-(L#WGaoqU2i~wJHU;CCDA+Vm}i%7cLxwF64q609G<-aGr8t z{FZZzx$W0-;#rMsou1}eN*J=rJ_-Xv7fF``%qbHg06zJR!$4Eq-#V{qb^d=&uYxgp zs8p)DE?1X2**RzKCxza;7)%5arr;`%D)WL%XES_c(NH!`W~X6%#HSoqC5uDyS|Kk= z2Iv7^fiFzyU<~04#)^qbeDLql1wWCcBWi>^z41&`gI#mN0&C3m4Bs>um2%@shl#h4 z{V5Z|Y-be5nnlsKu%&}Q$7bOHss|4PyALqB+a~f9$U-<{UvQ6+*El8J?Q8Qb>U*4* z#9kQ(jpOw7L{&a@Di&P33;qO4(l6(^0QMD3Jzo}sNm1&z1=1D+3^vU4>aZWs!IkDO5P$SJ9gh8ukN$qPFbvoy#m z(JJ%its~6Ntvi44CwhC$q?jN`?Dh zyX=IGl@-YYUju6sFR#T9D90aZlVR4g%9w%Wl5!xZdu!=Zrh{ew0swdq&!JT%xbyTZ zGcm59FmECo;Iy-*xs*dY(;NzkQV|J&p`DMJ#Yk)@!$cwlUNxq|?aA$)N8q*vqtBo~ zWL?GCPAy71e0LB{nRhjY3U#NSIk@aGKgJ&OdG6;HcU_AIHquCnv+q&lxrrdou7n{S zvY(fOM|RBWlya4ea+epGb%l4%s95$?s&&t566KW2MVM^Wpp$0j&H)hnVh|p)<nw*=b~pCBxwx(cgdn{cY#2tJ|;q^MA!bTPKj?^>k(}Z*-^J zPb`hl6~^;XHWp+HyHDH%v{b_|{|6wF&65}J0gpl@(AXzP1Kjb0PrM@--L-*5IL+a6 z0q7T*BF*AXSt~+fmlvHjL*x;~2&Oyw1rze)a(knydd3dCGKDY5U0x59L126Wfy~N6 znl+y-zr-u8`lZm=(U4Z{{D!2Mrb<_0FTX&Vj~aaODS?bU#laWx`KQubu(*lW4!%Bw zQTEcugYM-hpBE^r*0W5lrp{lcYu3F7N2KC_@2F+A_ z9rThnu2x9hOvIsqFqTE@hVTM+;jF_=pR!nkHns^;S4peX38x*p`JG4e6ka^0WR$qz zBOcR4_{cYA751!#z%6luT{)JXB^k&#(_TLCO7OEDhc?#3N8M(@VCnhkww5git2w2f z%x$k8IoN*WJKsxNe7^n0zx!C*%>eNAS6|bv-MWf$bh3T#cYOn=yYB`sH%ri_nl|ek z2j*A8yZ79Cb9?W5?m|IBd4BmIgJ*xxPM=xUzVM|N+UwKD7&u|I5n;~3msxncVkJwl zr>OhSvy9yBc+~MLsB^4?a+U+KqwHlhhfLzhI~B6^pWG+eaw<%O76P1bl7KBmx81fb zXV$nuM+t~X42K#GcO!# z4?p>dwuQ3<)=hbTJOk3MLLkmFXqYq1;GadooMnJ8Tib}I=P?-$ZfCU_#OLb0rL=h$ znSFNV-7^XN+F!BoDjU|1)?+DK$Us)3SSKk-#xAS5^30LyBl+m>9( zq3X9*zpa>nBfKdZq4_QPyd@NSg?urK%jVmqBIy_?P!X6as$|(4LR~qJ-VAo|BQi}3 zk42#JKf=7=5t)z_#n?x2O2r|K2=7R^hcHzP3cCU>OkeIMbYUpqaT*eTFGLi?z)^S- zbL?>%F|VlUR$?XWIBqP18!(lC#RvrO2_h*gjG+T(zy0ZPbvMcCZXM=p_Z={g(nGBL zn}jRJI^@YBsxL>;*MMs2Dq`LkK_~qZANh9KnDzK$KE)Q^1FppN$HM!@zzZ%5au!7u z+EoypX-lPU-79~nWu?oGp$h%%8cx8s14JWomXq#v^F&!Y?7}!J?991WmsnY+VWWkz z^R05@EP?y+*Kpm^3GS)2jGbUPt;IsQ&%s70m{E3(+sJWuupn_bkbvC|m4gTF?N(`U z7H}G~d(t+rN7=n?);}&u?@QdlBr^W$N%DN?0 zP=?$~`}EUKx4Z7TyIsZ7%2)Qi#6HFC?Zp>g0Nz<6XDu8kP!8lnk*1>S(n1x-De~9V z0-5Da=U907XU8O+5O5H`9dCn+M_TQ0XHWGgU+|0!R2)67!FI)uJhl^Le6|Q~L$I^F z3E6P4!8XYO2x)bxs;dS(P)huEB9)o5@TyKrCVv>zP#JgdgI){qst}>r!+YgYT;>)1 z65^vPNm{C|w$snvNc_D5$@JAK7u%fbT-m>IMp}6?{&{A3TtT7I?+Mnmf`IcSh}%8F zDmKml+Q!-mOdb%gaDC8A9{0f_nG{%Pu&YNDkr`!Jn=`Xg-b;q^5IUWcR8mPhTcZl?>9eiW9ESIwK`bbl$T4KxLjz>(dYYUTYiov}>>1N!fAG1fEd_ z%!hX9WNwXcK+jboPdxcl+E!P3Jp0nVcGHbFwHt1_Iop2@qolji#eB3LagfSEm>t`; za^icry~GL9%J@6(znAkmZf*baH~wAw6yr{lk;c2=V=h7p2M%_; zdz||FBouKZ8Q4rm+^w>d3+n;g(kU;Wk$gIMv;a@oWAjoC2DX|VAv-bs0RFTlZ+ zgsGT|HwA}_yw72H;m|@@XzO)Q#88fcxG$sEntBTPvMi(Thla>DaLR+}o2I3*a{0%%9k{-FN93XFGc=2qM7lbKgE8HktDf_~aChB{6Z#dhC$mkHJcw=4R ziU`X(v$x#!zH{rQcHf=XpopGrr(B`MVQ!u;aGpAB$)JK4s=xh3y^ z|2MSvy>oZ_u5W!$``zFAUCQi!%GTPpiTmNVZCT1795=JfoNAAJ>5=yQv(IKZxXPn< z&!44ky6>IuX}kAa+iu*mwH>&5Pdh%hlJ=GX^@pEptC($e3!QD2u<~^??Zx!z6RgfV zR=lOms??jGNi)pxZ(y6kRc5E&hgsUx-PYrl4dnM4?vMZUAAF(Ruxm^EhWl=3djR{* zY4^P@cNe$s+;;Ph_Uto{w`X5|v8`OUgPGqo?E-^1&X_YgMI8jctp}`cFHE!zz^t<_ zf|i+6=U9Tz0e;lg7Z`}NtfbDOu8+(|sC(W>w}bqZXRcbgaFP07+RguE)HkHn8U2e4 zmROgnaLXA0yAYA88bGNcg&ZJfHUs=CLHsnyFL3DsP0E9$SO=u`Cb~EPOK@T^E+<}m z3@C5!`T`I@fO*>SD796)n0Dgy;zNMVjFkpu~A8&Bjr&C2-)Y1G^AzJhGyx`z=stJQlL@>HeS##w+o( z{QoHLR185+T%A2*X&lE@JXlQ2xc}G6+$*`SCZ;#Q=+M*AJ-hvnOJFgeWFs>5M?~1e zgwc_nL44kXK;@Hkbe<^hSsJE0Ka~sK05HQ!$61Aa%^KYBbA)xyagWZkd&A~eqE0^ba>Z>z|-hV1f?daH1SVBXr@~7bF zCT&y91bZ^RYQk|2v+=hM<@jCBFcY6;!_$vdv|Q?blG#xk326u}!Wl;&pu?D_v%YM- zoFKFDFogV&CA@farcVYgVEtm(M}Oo^R`8MEiPcE@yP&npe9%3GcRcaSGuY4NGL$4@3pJz+!xw zXXv=ivafFid72bKYmLmyb2=Wt+KJz{Zy$>6RMO>Ef~$94-EO)0<}AxU&i=mjDF5b# zkMiMCf5WMaIw0fWZr1%SLAQpPM=tENJ78eLZ$8bS^vf~%l{%L2(&P!s-*bIug2hrI%HiK0Dm6Hi%^!RIB+q7;gSLyZ_a^9fB5hh$?ply2RP1> zRc>^+xRPa*OCrmzwy|6tK&jZXdsq7_|HuE+_H&lTKmGMzZ`(I*P8>^67Tou{YR@M4 zxu0422il+h&hKasfANbsgh~0o^Nu^ClpWw4icK6UweR3D>KG4vbB4&}_~+Yp2C%;S zyS}4s`Tw|k^Jq=4t3LD8aBtn3hg)-%N;PRH$+9fTk_Q<(lSUtGG5JGHY48g&pWZ4)QOSWXqQ_b^qtLomGtNM9<`+dLr zRkxTkeDU*CS_XIE1O|6hCX z;YZnbzoeZeZy8WpX`#Bpf^-UTeeh8}`WYgQ<(&_1<;cVL3RO;Zj|*kq*NwCd2`l(6 za=`jN{Vlu_?r|G9``-QH-@_<3gPC3*VHz8Kynx!}sd&Oce7R|?YSfuEXstrYGIt?^ zbu;x-{!M(pi35N0Qc!uX0Xg5)uk;nbjUuuTs_?wK%0xIgc;~5bBUOAi*FMWHVGSBQ z2v;uzsCrf7B!Lp2I4YJD>eIFZX&&xVD2PvK&jr4A3zjD%Tm(nklndbEijW)$N?7+d z+i#ey+3^2-+G6XNd&8wy@FSf8p5oeFRhHHMiXVaUpPMt6@|JWmk9u?YNME8`?`L^9 zoTN?{U5bv@p)6}Al5K|NV>!*BuFs?I`_eOe+K>IM``Y_|@a{&p!ZB|rSrX650K_{z z<#DtK>F92M@1vh+pLy`%cGt!w?e~83|7o{g{|oJnw{2}J7mc)!eB`5T^4Q^a>*j6k zx-}Ri1V0tA6VxGB13mZbGualSLi9L$qtD~_fxq>`Z2@#$F`rccdv|lDI{T=XplBoy zXKA+-YAxXrw$r%9YJ@&y0R%XGVk+C~#+YrF5YpK;)3O{~VFtgTJp+T#jWGw5z|C<0 ztBkay&I+7=_N%|w9=iRZcJtQjsP{|SrVUHm=B*prU3cBl)@|6*e)ZRWyFK{zeQhm$ z?4|ScO{AldM}^+-4DFZYeEPIXc4%&rjB#enblXsxZc@|`ta;K;As@ve_}E4k2iw;2 z-nT34_Yu>}S)D{40h(1Oj-4tC@Pj--p20_@sI>CGe$@t)LO+QTufm3JI$oh=Pxyo* zSkeT5GE0=IxXha2=tw_-3#RzXbfswVbnzhssc(2E=_CfXpw{8xr>lu!5+{BF4cwqW z@)IS1Jgw5CgD-wA{HLZ81{y#IS|9+C9`tq`6na!r=?|-Z;B9%yAA`$$nA2DO^@6DE95Q={{acOd)u7ry`!xLrEQGB+>N==`K@Ud!jd_#UVoxNjM$ zMQ{J;rFY8Uh{LBU#{gn46T3f5Wgz8a4h+{3_FxT9sB6Ldj%Z2 z3xPmJlQH;ZAX2Zr6AduJS*MA$Lw4}4Cfl-8K+Dp=3{F6)F&qBU+!l@wxHKx`?5P&#_wC<@ zHvU{&etCHWT03oFxs-SNj_vp#WHu1(dGG_q5SdJ+u5zsU-MjJZ$f-;3mjNH&8I%C5 za5cW2koAj>44f5wK%;HsC^D_xo=2F{F2MozM=O-wvh8M$wprTdo_3>>d*siw7hl|- zygHkpTVEf9-q%f^etVT0-#9qf5Uxu~ErS?R!%ci$$)Et3nRK2Sy*rCgXZ>~{(Epj= zoiFTY_k7@WX=Ao**_@d#XS+NX+&$o%Hg7_aaug$H*aYb4BQ5-ik4D-&Km9hWoICS$ zfF=Cr7-+`=HF-SGtcYd25Lk0&jI{}t_51DYtF%)|V19h>^I5s=3*$=H@_VU!(Xf^| zGKaw`ktJ*e(fap1wk=FBTYVG(|MVpM&0xh978f}Wxn=@6+ED{^;Otqx8fm*g8D3&G zY$+=+-1eYlZgEwxapqp0lip(LQ#bQ53H?r>I5>Fd5PV;>Qd!aqJ@TtUe4d>ELbNEa zR7No#p@qcd*Dh~F-F2*t5+bvCGHX z!%w}~-hJP9uv~Uq`@j#qw|)K5N8A7TYropoF^lRlO_e{hQ6_9;#_`klKhW;v%;?RV zHrMPuN;^tF%DAJ@=&N6SIA!3GeU2r{oRi8YjAVtb6EV0a?NwDdm^?(89%tY5EVclx zTC<`ZW1s)R3m%zg&d6W}q<-Wp-{v}35g=t)H(e!42*Zr)8TMdfXU#u4`WJ16qfPfK_9j=4x)us0)TGiQ^CB~FJbbY1~rOPw`|B~)<@40 zSNZAQdKIuEvn_w>v1yu*4sNoP_Dy$Pt6s(5ur>rdBdk{7z%g)U=*ZU~Z~DVqUh-;w zgiBjyp?2{z_%}JV4P1H&&ws-hj|9QhWx&pIB22RUUbC%CmA2y;SW__8$f8Q#_1AA| zhmRbBXHL;Bxl~w%Sk+l)EVIuY8ms7t;Kx%`tasvOdezQ=AHSp?&I){!^R({cmkIa17)#oK2n8M#t{$yAjY&wWZ7Fw&kp{8K*5BVW0lu z=l5dq{CE^7vq$H(nR8|%)T`i?S1}k$8*~ZdZ)fOp6lQb5Gv?Xi%;iUaG2N>;nEZ#5 z@=I-}Vfewa|HZ6AnAiU7@k8y&7be=;RVWtcoI%+-zy073{ZM<&=C$qpANb*R{}ca~ z_8R($!;%7i-@1cZwQZu%*=bVbzyCT>1o9N zslTuaST*1d=Br|+(h$}vl)nE9002M$NklCkr^kXpcV6O=js@pR!*uybgo@Ec>>zY*)1d!~-=^^suRcG+srF

8y(NC~)ln`S~5e#c;q>VK9pDSctKNpP2+N1u%tAJ8Uh& zTYn6zQb6ITADG#(rV}$?=9N77tNIpD-0C}N#A%v%4s;A_$5ZV<@27jg^yxDACGIh& z4cxbHUps~onIp#zGSFlnDDaF&VEck4?oJ4*2+UBJh` z#~&xo;+<+Yv2=Oe`t=Bj&IXs@=Riuj*&-icBRsVbLDu7-G6)Io45S(K zNy~ng!M?AKIjY%zl`U>PIe6ee+dvs@eATV(bD#Z8%0z>cB5NEKLLOna6T^DW+{iC{o#9ilu{l(=+Vq5GcKzrJnSxUucny$|cx+uQOL z<839&(^b+L#<=pb13it8si<&9cMIFCVpE=3spBZrT49|c-~9JAjW;eG zam^#XzQg43#g$h@uDWQ9s;~JrzJUSacYx_V{GAXuf{#K&#qLw+tj0=M!I7R!(4`f44!Cv7)#tAN?$aE26SnXwdPrNL zfK%uOApaF+aTRW*#|M1iFYX<<5*j)e!}7}o^0vcizl>)PZVC`{7A%VL=nVbK31*44 zC*o0QbFnqDZ22mHV0oK%E#*Nh>+@{3jkpKjRc5nQZa^0ThDIhT?yjA&Z>hwpT;wD9 zC;b#Yxo~rfQk01}R9{nwOKUIFb_O|VPzQk!u$G5E(=<gu9)!{&AE`Db6uY(Bf4+n@aL zXWBd8@%C(2dGwLT$?4qo;`95kqjDVDsoeBr4wj^A!k)4_&AIUt6Q@yvo@`G%@oZbS zW-{#`l^K}WN1=@6jNl)|5&1!AHJ>3F?V8(%&e{G`zwN)RpXM=FU#{J!GrJN$bTN=T zG*d-^eK$%2_TRJi3+wyWqg*`E_8vy@ykt)M_aA+zec|El?eG5VPqsB1wzYS^?M>~o zpLrl<>sF$wzd*%~k0*)H0EYiX(p3pF;enYL!kgt&w=gTS{p3SCBf@aFq+!GArxE5M z(It-4i`|h+tcqiX-@Wyhd1{xzCyi$P#9un4cdNb`F6W^21F5Q<(vM;kVI0W*$cl&mbGq*&2*(=_n^)14^ zEReqf&m?~pvh`VreY@zTc#Y%>S4!S*J1RN_9_c6)OsX!?u_4SjyEZnqh+>+>z}mCr z6@D;UHH)Ry#L4V59icNFTC-Mgw9!}N?K#QESqA?ULaZ~%&aS&u>i~Nmr-0?m$WnxH z_sBblbJoR1-3~~>#4~r@<0ou|jY}?R#?3*$GfdLMH=nBo_gl# zwvWB|TEy2F-Vu&jb7tEu51APSIR!xNEVu;U8IYL_VpPCr^I#5f%->OjGLJdb-7{~U zF)v&$A`BwHVIkN3)xtDS8S(U)G`n%^9j^H39k2Nuw2uJDUm9TyxpA(rv$+nmR;?Vz zP!#*sXJ2AQ3nNeP(^T*iUF$-Ekz=X>nNd6~} z($Z}hUT#Nl(C=||8Z%VLunxQ$q5fU(`hL!(|2jNy1R;50*_&YL{}NU*+=EcOXU}d1 z(O*XhUyTA}Zri`s>>-|MP!=75E##??PxNtu@N%()VYcemXE+DPvh2 z-1k`fu@C-4+p=X#W+_*p0E0k$ztq^V^96YEXqL+sFEexLY6LR9Y{}9H`_AsGh*4qZ z%=ZQS=Ce}4RWirH`53dGbLY%LA$1r9)tdGTzy2$2!-nfo>a1mn{5o=vumo)%gM9O$ z;R^C~{OB&WSgXXC&GP(xEcu;;NGIEq?XmXkb1y^@HixD5Jw2n4qHdj{y*Wdfs1(o; z)+EO!O}e#%G-gd+W<|kQQJCzdY_wy55JnxezF*q41D+nGOj&NOb#P{BJ!(s<(F4H? zK19h;J5X9IpHJIm}@{<=c8_o8ZnP+VW%T4GJ@Tu3j4TRCW>&qo* z9{pI(Jeqd)%Vs=eJt4k9bqAJu;Y;qLXYhA2R{c!%Ma2cuB0tlmjXryp2{TqcZCSUm9oV;{{nY#4)BfeZ{?)d5!;KM| zj~?CMKJ&RRw0B#V=P#zMTh46uing8Aa`)f=1@_a=!@%5jR#vga2FdhK{^Wsn{dFta zec$~igywT75>L^`pU!ryiwM!4K(m5VTaI#y&Bs3ehjr#UioQ7um$joDsks1J&mChH zoT==Lr&Db9DJoJ!Mfw0vWueb-Tad-7jSXkVGxi{VRcAtSNGd($7pX#9N(5JK%wT3* zA$V*aiUHg%koH_G;?KOe5Jln4_RBy2Kd{2*%k6{r{apL;fAG_7{pQ zg)7I-q6D98M^IRvnqmTiazL*`Kfr!_+F4JPIgbL+^0&-s{CG00FK>%CxXq+Lb9EB` z?GkOqAwZR&5rLI-G(W%Kw)_Mxs^=I08A7!TwfB=}W-Xg^-{1}ty`LSPfPo`KW9 zSIcMJalEOGB*&QxfT^YYOpbQA4I<~I@V(OQmGSk85bTFZDXFWtY_Q;27)vX_UZvHv z@&D!m>5Di4U-D)s8`duVH-otbRqkBn&|Jt`oO|-5+&d+Z`0|)+tudhAf`)~!sm@j)7ypQ@)0Rysw=ew_0C)0oT zFoxswZvR!EJ!0QRB0Y(cpP~50le$j-vSi9!+ZpAjFMrel_q_XMJZCo)*c8C+($X3D zq#<{Sqk|NMrG1>^K8q!_*>{fs=NYZ^5_GJ`1AdgHpks8X*~=!R*&KVq0N^s(Z)YhT zFlBIL%5)eCz3vy*%}c{(6YN{JGtp1nR`UNv}y7Idx-8l+JV$eA(sxvK;?#UN=t!p`N(3$a+w>V-3t zQ8>(DDYARJ6}V?1Y@n`SR)k}h=(HVEDtI`!QztKIkuc55Lq7Q?zl1Z4PiOrPGKg8t zUgOhjmsrEB>=A_c1C)V#-LK!cAsw!RN(T$o`4-*^+#0)U&GUOFB7h&>%l>9&))n|& z+AkajZqB|hW_y8U=Mg+Hn&hf*c;o=HtXcv-gy3g+d1`^^i{A+b+5U9ji(sd4=aO_S z5yu!K`EhA@Eej{o-~xgL6FLkWzs1X-^oS=xr5`1aP=Dm;K~7KD+K#gi{M?yS?UtLj z(!`^wDgI>=3PMf&QO#LW>(q-&fA45<&j6nUtAN}F> zz3+S%iZ_%}qDH1>8#L-C(8Dob4+An1_!x_T4Yn8&XM!=WO@^K{Q z_^P&j*ZvITXVbPwH^;=**`!6-B*;DA2xSqVhdInXKi}Vi39X~oU{vE;2du+hLQDEx z*a2+#se%};!z)p^=@Cz!dXd#WUIh_i-b|w22rov)GjEQ=3?a{Ym9SbouF&sQG%<>} zm{z3{3K+RhqJNfm;+7}eAgYr)6%P9aY(ha_S_r_s+J?C4UN+OHgh)b9@m6th_)pvgmP=+7tmMFl^WCVcbqs zmcMC>BiL6N8ZLMxF4z!9Q0COFEdsT#P+8W~Ge&9g(M`X!-F7D^nxt_VcvZkDz80Q+ zfPJ#YElppgp>{toLDC+7W@o!){oMAC{>i^--~IOQrCmmO3O=m3Z<}toiF&q-zHur_ zX6bPNCET+w9&RfaUg89b#jFhChq7+(0gi{;`8dZ;-avc57&{f%z*)P3)n9K5U7mXC z84O!K&#Il}D0_EjCCrkg%iF{x`5PT?=SP-+`#iSPu>~ysAp#kANClZRlS}oHd`j;S zH~!vqAV4DVw7oVw50|n-D2axG0k~NFpF%-?n0{pnW3dac(7yZ7x%R$0*SGh+>)!V6 z?|Xe)wfJ)T$Y&mGcb|avm)I@r5U*Fz*&mA-q3gH+{Wt?GJFTA*` zee(WC+UxJyMp_sIwQr_vwuq>f)nCGI_JQ&RBxSq;*IjZ}-|~l_0AzWO@T(bc08^gg zZ+U0Z1h|dk2xpCG=R$WT15k7?U?SkU8@D9CDp2hgZ@Jkc`;N6Io@NCXtIJlbS=Y|1 z9Giur8B6>sNiExuPZH*jm0l`Axcco3lGArdYv6kNP7IVL;#_=6mfP{x*Lj&jG;D=1U;LS<-_%^+r=e6DYG?evP&$FfWfbeHSG15 zd>_WK=rjOWi57}D2D2^?*TTc#U6cWczvxTgOcN`F3;l{jSEO@|qWOy^`z_;{?E}JbSRlUN0Tj1?!B)gvs@;RfM3OWO`q+K-Dzjwn~1oJDmX%4Io zu)->MIq*tQ07ySq3fPe=EN=skty?yO3jKr@Hx%K4Jqkj~DU0MxQnO!~Go?*G< zp+n53GguMsMR0b2EP*Qb;M4WUX+liYGGkz9+0}I!;oegR&b8~-tOD~K|>WN z3X#t8tCVmIm%5-;Wau-35IyemaRJ`)nMcuyqnBF(oGnp-=jsy$<}xOD zslDk9cef4eRwJ-K79*Gn+>br-FmxJiTW`WpB*J}44B9$yK6dzEI|4tPX4d>Dd;H(> z*0;60Uwc>R>;P8F$*$~h3A0KufAWRADLqd^r$yMKc!KNB5h?|;wt!)qAOgnykK z^W=gN!^5}p*m`h*fvSo^t?%1rtXy+l`_n&rxc$R_{eQPttzD4g1|v+_M~Z3J9+>ZH zhpcespywNXroa6fToojr@STB{PP$c^)$(-dcf2hA zmRUaIRiP5a_%eF;(F@qZ&c(yoY5m1VA%CXJn>+6g9mnao^>D~t?=O(y_oSs0e+g8c ze#=AEh5<~$#<&tBK@8uas(U%+p?BiJ8+|?oPjISqz&$t`mN6#$%zpAag9vl@YXSUyo=<8S*&E}6;I z2}f<>h(7tk;dX-hxpdw2;D-Nl~Y zvbZfZ$GR4?p>Nl&dG&;_=nksKIUl zhW^IpE(&h)Y|eZScrD`Fj?1ffa9NG>o+p9w)CXFJEsJN_+m!AqJdjFKI zw6KkiAkVwPxW42xbx6Av(v1>{8-byX-=r-}>H^VtR(;8&i8#gG)hpHarCw9^#0Y$! zuk`Ec(am4W{8*TStD}Ajn41lf14$de2+bBG?+KQQd`0X5n3sAf@Z1Z4!1%okjH|t6 zs6mYWy>v}i2Tj0)73mUKDy=KiOE!jJmM?b!rt>vc?`qzM;s*s?rri?4h7G4Q3|$^m z;Q(1!6DoA<;^F99aH#-%)up>IyR28BE}F4)uPp%OSmBL32vmTsb-yaDYX$jcx58cb z0qwdM@r?VB=haCBE5he_wP#{~`?r^b)x+@2PZk5Z$kKyDIw2ej2xyq!llG zyTEM7U+xNgum|#q3TM60ae{51e4h* z^n2dz{hW>S={d8)q8kai&X!~!Hf@J9d^Yp|&0r_SI1v(647jAv0nnDso7-AuJ(saG zP$6sGx^>yxtblskt6$9$w(<7GFF%wt6tr`JQ+2cQ;4q=A58xslaPI3&4I)8<&a3>% zCpcxGMji|odUl``US0CXcp z&LEd;LghcDGMqr=qVB=pPFRHb2N^B8JCJZMsak(69j{@~=4|mXmZG~9aRG`Ed)AaE zPZcAFFz!~kvow$5a7H&u7!(Y)<+HIaY`)#+H-o|6Ayx;R#7LFP^;fMLqa4;I{9Kkw zIsN|^8@s-C9W2?cswQT7!RvsK>mi`2Mk1~WX5vWO5MUEE1%}WFoko(%#zLvrG zGPXXB6(*{1L) z$^eC%u!nU7`pOHIi^r5{H$x%fx((~u*SoxJWu|T7HMg<9cpeJ8UDPS~k@n^kLYw@) zfUHm*kzC2w2D`6;P|pS)Syc=`{ldg?5f4qf_P z^U}R@#Jg2ohhC%gK~!dqSy$INjb3%lPbisaM9Te^uOL2yl_hDwu^&55*9%G z#K{-Fb%GF~h2e!ibfq3!u{xN+1Al`hY+n54MF;Ckq!d^WH)qJ_(&o)XAvZa3lKOHS zAs#F39CJ616(6fst!CTGapGcFlsYvF{#W?Vv8vPo4Qj^9H?R?7fNxqL(_PjJuR^2q z!O66XZz@j-MOXzv!+IqSV`EwH5=&xizq2eHH_wfqIi?U)<(RTGfBdXZi)ovlpdI*y z?`3cOovi91x?uw`ke-zV^;r+fV=Keb{WOeJIoBw(;?m*x0$y z_U=F4cI>Agp)MZUH<|58bEs>x=rb%bGibier_U6(6+QpbMIYRYIK0)jfmL3l+F3`# zH~P_@qBzXjHrl8q938ukcA*!N`lnL{tML1g5B^B|vv2%LJ9=;*<-LqHCyt1?=cn`MfSi@bI1cGac0kPkemZ;l}>PjhsHRZ15rqdQ-HYukF=@^<&_ zH@EB8ucl8u-ah;3&t&pKI^A^R#`dOrzoU)NNB&>G^B*ZsCo^WXg^X=RISJu>+B4II z3eY%9|2y84ZqX}cS{jqhxU&=3K2t4Y~Yyt9} z`fM8Uqdun65Ic>W3KHM>*%+As?Q{^r%|6F^m@xz4ZJ$i@Z`#%K>MJW>asb7VLZPtx z8T&ByHH*ojOQdV$bGTURy`P!NS0A+tCY0{A-ljh~Myn)jL}fgA(O)i^t-pG=0Xz2| z)9@?40gL(k_AdYftFWp5i>8X8mel`H1K?NAV{B~Y~-^;`={EHO*`?ccqex_aJQcvBl1^!xY!8?2;ZHFPo z=dbSeO`wBuHTZNqY0#x{_<)iyJilmY@%5M(`ZoFy8((qdorXF%6Gu(0dy!q@H9bRI zOC&)~Ex$0TQcN(ZQsEN6wQfmgtCI>0m(0u?~Da4dCID3rivJ-eKv^G>sW zPGLx6Whx3Blw?hvF@|U?yh_(hc6si?@W>T9Kmc(U9|tZ9!U}E?TDx$<@~4}EmO|Q| z-Mcdj;_Trlg2rNmjD-k>o~?YGJ)jECE{UAW;Gr(}Dbhl~AU*wc7rWuhbPVLfJSR_N zM8P{t{1p-rnwM}4*gbdOMY@ZaojIN(isnK)l^j|;FWMnoVwb?J4_c94%%Im9+Y1bY zWnPMt4wt3bT;|{MRhW0F^BIIkY2mSCmbJp^#Duf)TIP3IJu_zr>mi!Ra%BKAqlA8K z4@d*^;3@-Wg_k0n`JKyWDvPZq?>!6)ZTRYfSJ2h=5XOLH|<*UTGq`C}K1R! zf$!`jwK*#|cJJQRK6n5981~u}S~_d5(nLOyr`+ms$DMby2OjtWs~bMv{^39PhbUX- zGm|#f4(#5+IoyAgRU%6eI$U+I7)9Q3@IFnMEn7McAD(NU_=DeVcfbDLwt3^0wuZg4 zYuP^VjYGSb<$`zRqm)CnVX~9?te&Ory-PjuD(wlq7$bBnREq7n_J=g_|?8;TuorxRuk;wC2``3Ur0i< zEE%_L84B0urQ#*E%9#0-9wx_MjUD*tf^_KRyQ*#i4yA8gMd1pWbo%H%BP~@N?n$kl zdd7hV`B6ZCrYb7!zg(rD!8>_bAzuC#H`_dqKwSoZE?|q+T#W5$2-BnQoRxLCzQV_4 z>bWzp(%e3(>^)TaCTzWyV8NHN&@FX8C@E@-3ovjuT>g?5gH{>n<&3AcIqYL?bL}@& zw5S9oxSJPg%_Trv{?XzF}THAAgeeQFr{dP}ukPg<8KpqMu z%H0fgmv8>0%itQkN;~_t3S<+WJ`OrBLb>_1XI^Ok>i_t6Sp0u$yKeoe*h!fS?anbX ze}eXC;e6^h%kSUz*4MWG^hcj&mizhkhBw?!_&2o4!#mrO*%#V7-umXYYQ+)&pUbHw zk3aELd;H1g+UGv?vG%%q-`;-ohu_-%*>8M|WAwJMLV{IWbKnEYM0}GCaiSPgSKvA8 zRg?qqw2a^p+f+C}DkwDP$-7nG_IQG}>Xz%*GWoES_WlHAuqE3AmM&V}w%v4n+qHWS zN9Eo`dpJQJW?_)_HElmL{D1VhFK64=S@?Akze_VXodr7pMLvLsvOeqT-}+~j2%+O3 zR*IV7XZ`7*7*qZ=AHkdVs++8+yv$fC{sqExtt0j~!m(};jaTCe2OO!D#t#f#C4%W$ zZ}C;><(TfQD_Dqc4N4nL*ouS0-;hgc|Fyp?IE!Zb!X<@DVY0ldj9^qJ1WOaF8rYg8 zCM<;>_6QIwLU)BTC{#af_4GG5k9w8eI>#=oUvL2dd;>1=$}3O;CII4Y?8Gn@aSQ`Y z9zwqQ3Y_@hr?=^FRX%(ZSL0Vj(51f;9KZVS;^SEmc)=-X<1$D)o`Vnx5KEkiF6IhA z9SojzRrvZeOnnbQ#cdEcZ+^!u`R~9~W=I3eqUVQ@A&cXlw1yX{4P|HwFC_nh@{ONcR=bfvZA`Y1)wcG`<~z z@tiTrY%Vh_vk;V=4RE#_q_U*nb79?&@3JoiP=zinXDi6K3|~R&0LR;TzPEcMW2_CK z)BMo$(IS)vxhUWBpkLCW%BAPc;m)Lgmj{EZxN|AA+CKrj>&)c!3ZwgcmZl#(bT9(2 zv-Iw_zw^%9Sx!CP4zpZ-|Na9ATSu`@%-%-!eF`rE8?=)ys6v3`uYzCD82QkK~}8|vUOgGmNOE`b-0#(OTz#ezEn-pdSv zoz-(OH&fs(p7rtTlIMVih*E4nKuL zMytdshFneHRtuLLTGq}kX)rM}HOZg1%3l($&)lU!_^on3@=9904<-1m*px>WeAIc70Z{AfA;4?s}U@{TL|J|u`BG4A?Q2c z$*BUAh0Apv__)%*8GMFQsjII1aBz9_$YIjuC^MGUdZ|p1#%^^u!m(D%P$HdT_Hq{d zIG6Ht53<_|yv)-=mL$6@Qd-BZ2GY%0%F5LY?2>64H(wV)Xy5K#D2tZC6Q{ER#Qn)n zFw?hl=XUactZm|0ystj=5KB#uMNlz6Dw7nu&Qr$LU2Q;^M-A~=E($bS-&fH3rCa!TJSbNJO+Yh7bZhc z_#&5ev0k{VFyPyPEA7uPFUkYX&X%!E+e-1UzWWXY;AH0A0Wxm3o3@n{Z|Bb^AGW#j zw2CQlw2cI{_c(!h+Xgr8wQacYY5li^lmrWa>U{QafEMA3#C_B@bC$HwKSisPQ zOK6hdyd|FfYL$mHS1B4{h%&|~Mfl&XOxACee{Ny2-EnnJuXwb8M%bq1@oMZqrVh`E zP`GmG>b4T$aNE{x?Fh%tna>MnU9mDB7;JwzdZL|VWe?4L`}C(i)86`)H?}QnmSF#4 zJS!QFu~mE5u03tj#*K+Pms#N7`@N60H@@+8?aN>O63W3^`E!;f{o8K71%=ueCs0i0 z*wEF~;pca2lSMTOB=SdoLz^!Dp$hMz39K4tc)Dm7@)@aKq=$Zn5>5i+#)}G+57^lbFy0vZDxRx3UK`xy}S%?uu(pgSB{`k|+wJb6#yS<{QlPauW!jnAo^;BO@O`+etj_nTf*e>wu8*gOx z9{VO(@^f|bYhH6l`X87WzQI<}o)_BKf+g+tSKZW3(ARwB(P!Fe>4 zNw3B^p((hEvsFqzQ5F5rH<`f?N1WrQPk$wxZILg+;7^5cCSwfW#VHz8EMd*0Zlp~z zUak`AO`xL;VWbnDBF0m>={$W^^}TMq=;6Zyjy=2Yyu8A1uK>YbqSuvY$|$9kLUV7= z#S4DZooiVV?z6!AN}CR^O0^n-yt|)5W+Ga+mC(Ff@Y7fKKJ1i^RM=jo>7~RWQ`EPN zohL%0 zJZuDf_?Pfq-~=h0dCjGNw3gNef{Am%sb?jppD-#{`unL1uX$EFT~r~9a77^u@6tuQ z3~zpuO}}*>aG0hqhOVLg#w)}A;SlU!FR<; z{NOMh@7sM7-K#IP`+Xj#UnS2QK&^q}7}W zeCL@NKZh`sz02^}Oa?y=x)iz`_&7Vi^W?6;bVlPaOWGCe7cl780=5GYr(awuU9-y8 z<0^$|(iVOWCRG6R^+aNZ{sfG{Ii6)(AXFrrT~P6GnPA$L3{f%Bmh(z(= zF>x-nT)KF??cTWu8e+r@`YDuXwRw`fEOelu02kQc1H>CNx60<(n+?;*#uz?03{ofIPK!?Yit~%|3OFS%JqaW|dt6>r8Xa zgmKop!Ymn^K|EQ8m*mseT;$z6S6%Q~&b)PQk{k-~^Qv$NI&rIS&?k=!8ki|}Z?_;+ zRAd=0gDl%)l^yaeoDBV0nL@e9tL9mY?ILFqwhz*D#mdEPl;GYMbh;_yv}~E3~^b*jd(ntSr&uyN2yXupIB8-r2jg>(;{O%wi~{ zFle1QlR^J1R~(e$NPcjpOuiaLG2kA1j)H)H3Qy~@gK!P|S)Lc+!DSvpN!gn(jXd3k z5G=p#cEbMaiG(xmDoYxzh;k#*;21Y!R6c zoCyZIDke~zV9k5YnziuN31~3R?BE!@h0+h8+NLd=+DT@@CRu5)9Oa3I{8lVk$iSGTq#CKDJ&JJbFp|bpekksdZ)`8f74)%1 zkl*AjQ<5*l?XsEfl)$I z7M1v4MtQ0Q?(p*}VM0ZZAQz;}Gl5CpFkbdw zPITEX*tYYaD1k+LW4b(|U{tV=y$%Y@V<$Bt7DZxc4Ub_s?IcDnm$FJ_Is3pDQ`F1n zFJ-iQnWHpaCF{&G>G7LAZ&CZTfAb-l1o}kUy+*JE>F=IJ)JXsqqt z@hlDhY1)>Rz=X!oWj@07Qv7b;b|VV#eQgqj{0*#hdgvQRV-zsP@xl(^N7;*8cwe+| zvaPVsFt1{r04WjkMtRV-rw)oI`8-Geunt>5M={{~nk^gK8}7aXI~S9*<@7&{pEPK? zV#S*F^b?PPA~tFkE^P;Q?QG}iUsux3&8JN{&9ygfv7fxKS@mReYpf z!2~Rxwv$fws8qJ^^RgPH3Wlb+#a$H5R$)+1ucZ4cK(L=Cr$nA6eUaRXo*5)7f+a*r zR-<0=Qm~d#e{}$?$kW#ldDnY2I(;*QXt`%d<_X%3eWP_;xw~@*@tGso(zN16-FsYcYN?`}IcYm^~&ev;5F7T42B^ z%zHVQP)n}6_?D22rFnZ=!aG~zkzWd*(y9i)9X&|@>Jqk`4CmfT@vcj^;=9hFcQ$nJ z@Aum)M2U-ovOeFlp`8Mnmn6OzAq|V+%w8)r&Ecoe=1iie0gTYG#dw^}C3NIbc!Ev@ z3f)0S_!$_PRYPQ8;~-zZYJUvp((E;>S4TiS!m@7n+?zGKbB{6d=tAk^v1Zn%*=&Ds zHHLe)4QKe}41nfx{L#LBd&2`uv6SzCL^78VE^(;KPT6Js4lp)uDx+?btWC4-|~2*dHDqkT|xpl3jx5Sunj9t-%@|G4ClK!h|NqH4O3c$3P+A@CRbv z1!&o%KO)=&!mo-B2lxtF3Yl(~@DuL7GPzx_?(CjtH5a#tbccac~A+4~^lKGQoETIFt!O@N9&3hmI;j z%)522IGB2a^1(RToj8MmC}*qWfef^%U-FqOVLkH11O;}56<4~b$k33WJiC}961Bd6 z>EcXgyV;jY-SLRIOXplEGcOjiJ=$s>0=h~bk3d|#hU3HBv&uGs82US~k69>`5#Z0(xg95{eo0PvoT03{792g~IY`+HsCp*;inR(>$QDgz#W{E2qw-LFmAOki+QrG&Hm zCr+GVHNt!Z8-z0Gaul9kHog?g|1Y$S8?S3C;nh!k{A2B&H{8QYf>Z7A(H)d?&3{;VfWpSd+xVL!bZ}x#^O3>F0a;oCLr<{hNH{Dii2SHMcp7Fa|HjaH2vM zj^Rz{A0d{(u0puhxIKc;B%IiHh0Y8VZpgRVb`DQ88+p4dQ0NMDpwFPu$|zc>?R3u4}n{Q=qFIj3kYvPhRFIOdLN3tV<{&7hx$M%kCUSdYG*^=QvKz)^$`qw?ib2WFbPU`~p42)Z~04@p?Bu z`V%2|bpiCm%{pdVV;Rn&T{WDB^JcJm<~-$hineg}IqP!qiLJkYxw2c_cTf@?FSN|M8izR%@eJOqD*3E0$o8R>M_V0e_z=*)@IQgfkzuU@o~p8hCHHsVv5ofsAj)>y zF>C`^k5z78WHw&ACMrF5?RbHiC657n>qu>NYxp3F5t}0uh^{{aV30kKLm9%gZ z9ys-U5qR9JQz|^N$DTGLsp;7#-@)yYdqqEJQU3a07C=XP3Zn{)vJ5k)qp{bafYi`L zmt+AODPig0`A$4t0;r&c9}Skuk>E+F7)K8-{kp`hGetSJANlO6<5-DAEK*pGK15W@=U{VO7!sHX64eC{3oX!mjSq zu8tjwcJTp`dJ4rfdypL@^4migG&rF_K{Qn5!cgK-?uB2+XZn;wd47v~UuIVa>l>x3 z-T%_xqCJ$S!0YIl%y)Sjq%-tAC_%Cx{PgpEKsCOH!Vh2!zw`ti1RZkds2iZbanLVk zMi501h;ZRxf{vpX-c8#jzIMho#LlQo)A?xlFEI1zjN%9yo=X)A`7#u3COP}WRlkmby?N9wJfwK~G5!mNh; zs&z297>*xKH6bm>xIe%U`kUB+|5Jba|Gj!rn6z=_3d|l=eIct;AZkRqrK|3JBVZ1 zQJa_aoWXTQ|DyGsD6N#>O_x`aZ?j0bUt zo@qB|!zwI!P8@GUFiyTJa;kEi`0ilyIk+l#g&jEZ;!4kKkA#kH4a=T(&p}7=X8Uza zB_s)}B-WON_DE@0000$07*naRHUt& zJK8?-(cdS(+FQBYKKsDu+Z*n=3n6_jc215nQ@<4hm3ufg^Z9l!TVj6v$A6;z%c^N*>WFA?Pri0Qj3w&6A;^@PM7WbkDVg2Mg z<7A>|Ad4eT1;>|My-N?D)rBLh5L3tpfbB(;&2F)}crud&_CHfoC+P%Ir!<;1I7B0uQ zXE?>cBL){S)@mqIHe*Qi{OpOg@2q@he`Nb4P7q((gAy1Eq0W?jgDv@f;nv-J%g*Ef;#^j0o| z&sXq^)#DX$4M@(5?-nopQ}zvJwhc#_K=-rCe|8MgBbBX#)3r0i6vzI~OCr^Sd;HQ6C6Fl$yCwID zUCWHiZ&1MnSKtdy?&2j)>(4YQmiTppnxW7N6;*zQng-@uSN97lcn`4aP&6;oue|Xu z4GNy`eheknzXtfVJccpo1791&wC{i68-yBQYZ-X?6i4xSnX7_#ak{X9rPH^F8?cG` zG6C_Dwh=Z7YiG##FG8|28~!XiXDsZjU9RR?=uTRCet85G3TrN%pXYnKR8%434Ci&b zRNXzf&R!1lO?WkF(itUnkgz;SUp&-QU!X%)fZ4QZBZK`pZ4bwKSsKEdamp~@$$-^P zz~k2x45sL~6_oTd+wKJiV!mDS=jwqdfapA~<`XF-UMjrAU%_678jSJe&r7(ee=M_3 zUB*SFjpMEiMi`VU94b^hlcExhVVMRE?cW=3~o9^Fs=3C{30@kz7Jr_aK*){R8 z-HcUc${^`mzd*t~>R)aO*DNJufU3~EX7ws&WLG5}+XCyPX)g8nGw=|v$DjBHf`dY< zD+^q9xhS)twp%Jw#NRYj1WX~IUbmi82AHkYsN4YrKote%DMyVlAnfTWKIYLho#kK4 z@@Z%1pMCb(l#je?p54>!QF!wZ@LdiLp+j45DLOn%P4HI(bax%UNb^CK;>(obTD~YY#n)ai!O{+ittH{r<;3jNtB(lXEBo zj&p*}@}Rsj!Ju8Z^X9uvg_SPMk}J$S`Rw-0z&nG!lqKs9B$u*0Sz+A$zQ^HNXXuZy zTv;J@;`l+9|Bs`fVX%9Nl@F(}I6ikNxVk-N3Ou&q#}S6$EKkouv7v%(5ytP__b=^L zOiUp_Er4cj@0psM$4LWI$?qaob$s}@Ka7B}DPe6>tk)`A9QAx$!C3oD!j(ccsQlcBBY}YWJh7)$<3(>6+D`9~NO1J4nb6Jr&dl?d|?GPS><0!;z^ z2*$q-O|smYJl@Dj78)iz&+MLp`URHcs`#7@uRZ+2a~>(t?%uYZnLkeinQG4;+~4+{ zzSQpCu%Vr2fbVi|>jDK0f76b@E9SM&u}`mZ<<5WHx;j?AFLyWQOI*WV&`|!iu2%|r zN>|)_C-H(;(#ERIFnF-(>+oZW3)rIi;J=F zei#ADKI`Ct!`RBe0{o(JqK`0Rdx-t#^egOUpEHN;GQctq{+VXdO=99jqH*+AeF6BS3?XRo1ToJ_z0(jqO_8pdyKG3vETCSvrkg&-^;$`7R9QDI5%9suHAmyEo}nDn-=e90Nb`| zC98N|H~)1p)+yXmY*l#jsb|`&UUf_QC~2qQ`}X_pLt*wH$~}&pdozaI4o|kdN6)om zY;Bo6r&frh3@y~I43c+fQ2Y;V;NO&u?J8pq^G`uVq2cNT^DSAUM61Z$iwBAybQHc% z+j-U;$mjf(BD`R_T1wxuj6t;dv1jj&wrFG=V|cgWTBm+U6Z>ApUbR0N;>Qsc#gd3L|Ie_1P4*6lDF)GSiX~yls|5%i8;B(Jo^*!9M-a{yk|US29a~4C9D2_b7vp zplqOzIS)V*pQX~z6@%0rY1d;>WA&bId5TYP0vC7`jKN-7RSZ4`mo7c`4jhT=p9Rpz z2#*J5mE9n0UOG%V|2PGx^~qn2cdT2|E`mM$?`4$4?h}gZEC2S25$vxZb;sDWL8&yE z0mIEgDwg05lk1SOwvf|F!tgdU38Ms1I5Ri4KN-Rsp5B^ z)j;c2m46zx(fCRnZ-G!wc97i_Y=XQFRtzthw8udh^{s&5Ksb5EzY7w`1)|~XefwNili2~%y`y>ZNQ6*^ z!2Ppg_OXqZ)Z?5EwgZ*;78r?5(;F$-I?v^VT|J;WVxKUX5LASv=y#QzXT5k&L+Um{glqU z0Chl$zxW;@m8Z+-LNe3yMc))ov5j>!v-RNM%(QtGN3R4AL;7B|;u3?QnsK59A&xj0 z(2mJ`IBV+w&cP$V2rD4=ZGzWHjv{;d+2;@dId&;CI2ipwh&pv@Dud5O2;tf#IS&mL z9s`5u5hQpPUX>rqzsJwz)$S8rv2s<)D`zC5L~t*;mvmM@@Er6Ajrh4|{5*;j2P(D2 zqJ%HYa}onRbHR53v)IleNiS)mkYxTc@B+U94|epF9x8$y9BRefnd^NFo;4z88M(*a zTnJ0SGXh62?CDLY4pyA|8yQW0$+P~`gAxMh=O2YzG>JoK75WI;Lg49avCEiUy)Ykx zaN)kaDdhl`Of0 zS4T%pyEt?<^+n~5e7PLPY_1bQD1aI?Rzr z!F_7#M7wV7vi21FYXAN3emH4plyW}%*iGBnErm}N81qrKp(|*cHm)L{$d*$WzMIXl zT1U3i6P`=mz2Syi+UnKIavn3%N9vyf?6DIF;8qm|ZmwF956g%m*8Ksx++(^3uQEhs zltdCOM9UydzyKAV*q_G1~Qa5#iUL3K9qP+jl;f z`mAu`s9H8iUq+cyEAlTd=@CKG0O1#$9)ZJs(GE+b2n4D?gUFn4rD+l9j8$KLgw z?E@cpFEgdP+CToM|DxS;(}wnU|K9(I;%E^}M;WU80n`QR_Doh-?Aw2={Tj=gAA9mC zw%^QamspW>8M_z%Fc=9_?;63wg_|CZun{+k+ucD!I;Ak1WXv7l@xdX zEw5ZvzXGmz0%8=j_^W73!oaug*tgk_EoaroNmdx0_H+jo0Px>@jE!DidJzHnFvlZK zwJGY|WoB4a5M(@89cJ*Yq`ccF_>|gU!K>f?9Op;}m3r3SxEl_?Y}+tah)(|kjWlfO z=@o9M|OD8*kX!zWyxA5$f}7aMw1E z6tM5L%%piJ!n=wMmG)lYGuj^MseqsMfPL}SQ5pf_7`JGY2wk}gGGGJ5{>oK9w1vXI z=&U_`?j;1=wA<05h0ZINugr?LZ#?=$6wflbO3qWKIC2i&a2wU4`HQf_u`<66>()>Y zm$ZXNzueZXSkSf~JVqTRZ=~<)p?-T!&`7z1m&M=V4eF$u9C!=PW>q7_hC4ZNsvSSV zm}->M3ZD2{yZz>M7&SfIe(V4Jrx+~!k@lKbzZNC>vh>%B>DL`wSjSxv^y*t~YEL}< zTzh^OZQIP{;392HIPcpqsb|9Sp0rffv2KY|^|`o$hzjW_0`wRVHj%&SCch>#fykTr zNq%uoTua)^dyheV=Bu1~F9Rl8!O&B|-qi@8X~jaF>6FIMIh zj$9qasPYMuSXLCG4Oi6yD>4pYvMND~GVu-Dhbym?v%!lo@U>Cs;&(|AviD8wd`Hmi z(&&8!*0W^?9$16a6R+?mhFR$X4LUB;@n4@j2vik8cYbtS)3FLG!55wdGqI-;=d)w% zv={}aG}CI^dT?sG3<^dfbp_5HmINz=Rv?O!J+UGNc~P&=|(3=$CmyS9xY+mdSnTD{MI}M z^$uzf_L)&S$Y94=Kxc>+A;4U}@#Y9J&Tt;*eBATrFLI>X0p{&EK8yi2!=2>YL7Dls z19dk00^tqmKd6twgUpUS13g9Wski3C#99f^J*5AK}{#L zIpeHS!-2~!x7>)uNN8FjL!mw9iQF&EZb9QOh&fP5QT+lXc z+7vn{R9d%HFsx?aXuqIc1TRZrxGn7SSws|mrBH)(GRmiLqU`WfI{TNAQ-@I8C5`3o zFOdS$(-jULI@Fe7NKLXjW3PZOPsm$YNq~(3^J>bLoBPpKQpl^$N~z#-&uonC0nakl z5Z@g9eRgGn*pT7$Tj3W%jFEV33GCGf0$6erbishs$+m0PCB1N)n_xuzqM2;l= z5zcEqkM(E`)`|brKjikFpX!QeHx=p%Sjgt(-@wT#oVefW2Up55*6cz72%GD^a#|xY9)-%NhD3DE3rXeE++CAar+3p+KW>wqwVR2*I;vU25Y? z7qkuR?U$!LPEw2K+J^Y@pFfZ?g!Oo$q_mFGR%ImyX^<>=to~FU8mdxwSO;}eXd@v0 z8qt!EZD15eW}}2u0df7hmF@bq%d>R%{y%wjJ8=r$Ig7mmgrNl}L#S=UmfM`IA7wf4 z+V+Om-rio=zC8lbSHJpH`^8`UnRegnZ^v?XYqxCpxwdlQy!MGtJ=Es9)R`Gm>+&(^ z`@j6m2ip(5?;UN;Vy%R8f(86ZOV?JgNB8G{_9xmHvv>ddzyD9|CbmhOrkz!}QhVE_ zLDh-8@lkn(GSr>qku=Qn6<6{;>|$*qFGNVa3QYa09ws=qeszuYv)oYjx(dQrRQRl7 zvAv+pvBk9gwcW1zOt3Vw#1tpu*awMP->xP_(<#KK)2EEm0(W_-i4|}ouK9G^l1ee> z#YbreN7#3NivGrJ5wJv*nXaT-vvwt?EbK!`#Fm}eb2%E%6Bwwa@LBI5NU zOQCD<4i5T5F+BWgaRpnLo4ybF>Q<#Q-LV&X(?RpIdj@&_?%FJ!e*2*9(6h% zUL0$S+f5rs+HZgOBkkvY{)gLb+irv}PzplheHfD6L!Z53&ARs3W8dId$_H4o|JHWr z9XGef9{C1Jv!_t1&1~0ixDFw6K8nUY>GQP<^2@*c%k7q1w{d*lYue6TFShmTH?k7v z=Jx8_Zf}45sn53;|NObMiz+fFPtd-BukC1bcC-IZ*bRr2RpwSStwUeHWEGrXNa z3crh-hdj_Qa?9hp}dz4c&#@T+x68{xTnXz9wr#=1Rk=VZpYVe5)mCC2M zxE;^bWsQ1DwW{ytgR3%?JaoA!_wHWaCcwYM=%ShBK5Bt6HqdP=t+xXx z(@>3*D^G9bVBenD08E!N9jL;;!ta0m1$(LA7fwg)6bSD=ow>=kOh${T0O2LGr@-+v zdI=lTfU1gi-w7Z*UW~_Y5K`cLC49nhBQ1i&Elq*Z43=9L-UhgbqCd=6+W7!65W$I^ z&%!4D10ebtQNIFgPG3m61aiKwk;H|0<6@rZjV}v4afR(ScPgp*w=2HP)z?=aZjjAhe2^U%QwS2)U2Vg}a^-rb9AdJfdj zBh=P1Wwqy6zGW8MrTphua_oRs17!Z+X*TVyE>t_GA-TR;=4o;bE_eW=M zhc0Xr3t4$_R^uW(PY~W|=J9hs?hIyWYzqx&IvVxzvb>_PPhIKik;uoV{LF*1lxI*F z~0r+t0%YnuA;SmO7Yq=3aw-9tF3KW%Mgpj(CdMs=a&m zQf3zs##cuPmTtc0kMAF>eRI{Rv^s5;n6oT9$k&& z)`$_51AE~kcIAiIwc5n6Cr+3qGly8^pELVnTe*A-u!uX;tEk3*ayyeo6GK_Ff$#wi<=DYieOC_3b`xh&J4$xJsb0epqhjlr=BGuw$v41~oC zj6%<3)xzdQJX27-rE}HY%X&#ZoFR034@C?wnJ1J}tg1MRV8}FTTe5I&+la96`+szQ z`_w1@xIMlaq3ecK?R9tE5=G4sW>6n{Vh6(gLg;gnnOLJ?KZLsXme<|YRwC42!f@8j z%%Z;K^>?&C`prF#h+s3_QeV7Vu9H#U&xRiyYVm>>xLNylnbdWYF{Rzm9Avn33W&QfK?I6mfa|riyQBbM)n?XDf z?&=ODSj0>|#V6HZvxbCC3-ly-QZn)KL5lhEsbDsJP zj3~xF1$`X}AmCkQzxLAh(N8|u+SujxUiRCsTfdO{af&_gyV)jkzMW)-e<^M8=O6sj zDD>XyP`8Zt#84oz&A z0!O})SX`E~j(PUp`KC=|hQ7v_gm#&mG-vjIl$9_GG4l7RuYaw5<04<_X44i? zE|)H;P!%(B3O;klyQ?kibJAAeGb$eB(>z|X5*nIsR68huQSQ?o9%aSWO*gFNy!sp4 zLdHe&-#fp3b&JIXK>+|HY<&X4qSb7-z&0juc*s5|F8EoMA&J1 zmt($Zuw7DWgJr?hWksMe@;BtvRfd5}A2?544L_X*-@_jSsD?yG-jqv7BM}_A;54I2=(yuk94MWgX?!Wn2SB<2^#F(A2)s`>oP!u$DtMB% z!7EJfZ<$y=eSW$yd|MCfOkJis6JtgWw4K!($J+D{zV|&ja%&BSurAAyz<@CAoOrR;S7q)1k2c6FW5&VkbzoHGXMxI51#zfWz$(Zpdqgaa+!VTg7<=D zB5-rOVx9Gx38D&s2DK!5fmS#X?g?vB+@fq(cx@4un5tamRSihb!Sehk# zp7DJSp~I!rDowWU+<_9p_PFq&Lrd@XmqWIg}3jn7KN9 zNE*=|kfw&`<@_xFbRTtQz9|P+XsATh@R@?YhWwIm+=LOqwJRI* zEoDNX`tVc4^T-F^nR%@Y;Z8n+k8c%@;N6?$>>!Z+?aT_VU?zDLvsmWcak@AX5P?vI z2e>jrI-3;*Dx@@^wFDzn&i0PYWBoY_DhEi;WIOna@&-P4V235A6q1qw?T5;VHbbG`rTWz#t2kE) zb5Wyq2#OljbLLy&UL0M`q6O&GNoXO>RR-9vOt8{J1%_j*$;pZ2&H7+dZ`xkyKd7gk zUrk#vdlO_hiEw%>Gwomc;-?uHua5HX@);B;C=0YQeVDeyIs%f!pQLV3?%FIEA79fRdE{%f3u~ghvYpAQ7HH&F1u7 zR8E-IS;}q}1K>pqS26qb4QxuO*kB2^eRg=Pt9#^K_OgDt50(JFBuvU=+7oA&MgRZY zy$OtF*>&G{t83}*s;=s-df&I%I4fs39FiK6!$l@ViXy2<)RIURoIo;^K(LL#3Sa|C zY$JAH*-<3HiR=J^oJfgeNwFw~q@>{tcXBu!4rlG2-uHd2ed((Fe*gR4SJllSDJuq| z(X0Bt@4fr(dhWUBo^$TG=K_Bia?6+QbeRT4!W?b5X?x1rvJOj^A>jX&uY9ANy>h<% z^v51A_uspx3?V=qId-&s?(<(_uk@O7;qo*JqgCZ1^y=}4?kx=x(8MfI{lUNyw;e1t>Vo|m2Xj*ogZza&o%Z8mw?yz?jFi}G3&PngZ! zRC(#1_qrvh7vV)y>TdWoy{nr6C|v0jouY2jYB4jVep%_Q6{;^NGklO`w>%ClYHF0b zb`go5Bd+a*2HJn%n)gfC9?PA|J3;9=Ju<X#0xGGmeVW{@F!7db+Ltd z)$lN5xvyM>&QBq%_p&!!zY99l^N_y1cWf(PdhYqMWX%9RPSyfL_KCA%e+5grOE^BA zqHVi(ZYp2+!k5Y!_&AmZu{2l5%5*Wx^Urq?#U^m6SKf=Yk6`1kth=fQKH0w zCA7(MMn|DQT%)tTH=DWBABfhb&zxsmxcY&u}P&=&t)^4;j9DEW3 znK(Mhev)`AgnJogU?yKv`Mhw|C%)TP{3eN%(2>t9;6$MC6u}$@trA!#Z^>pGZ&4l` zFH@1myd)BB<^%`Bh#MlUFy?)|Vg}0lPKY;r(yk`XLS8Kr6QM~^-z}tX>()*XO%`dZ zHMdropi)koPm@_Pt@ZXhg$S5D)ZfGm!6mS1V~uNk?u1!eIiA~`n^#Fw!-&hgRRxqL zg;|XCbFHtj#WcZJ<$j@aH>Y8{xJ(81y}^Tk6)t z3xmzQX!V!5gkY;gF?~SZ0gUgyf37u(IW^;>P0|9SeO~n2>Gnlox%CAf$DTkF|0J54 zvb&nQ9HHJx`~nWW{?niNM0w8>?_$#5$|~hR1in7bN*(2Rm9H?t-@uX9K!0D3wc4|L zC#$hnv-0clOA6Y0cORFD=040EWi4kCl)+aaunA{9M~@ysU}rC}LOB)m_@BO|gPd8t z8iAm@oH}&`#;YrW$hIw8(V|~qU)lb$5vIfQuB$xl1<8b49fLj_hpPq!SLUPnuYuOW`ea;@PFx*l@?Xy$<(<2BnN7AT7*7Fk zfHRq0CASVojvOI=Eh4y(f@llBeq0@0jS%Y!{R|AirOTY{j9~Ao?JyqKmjnAlhmO!L ztBa)9TrFI(lEiA1Rvnu+Z;843iIXP+BZXiY9{XIuMDu2Mo_S;|BSkBytRM#vpnH4z7Y z9<8RpaS?^qBrslsiKa@9`yP0RmF27KsXhj5a3)Bb#<6ga0T=#un$uWTabV!2g0)V( zxZQ9&n?j!!S^B_46t2)sll&)_7v`ez1~E6&Rt>Dk&n^x~f9 z!&^W5#yZ49K5<*-(}dCheOg$Sd3f%(uy^!WH!t}(E=n*Ie=1bmlA$F?6bTgOetWk)9N7OV zv|t(c{pD+4f2M5RvJF~P9RZ%958P8P(OWSM6nbQ6{JX?6glB>y_4aU?7D+RI8yzCsJq%@Ue5nDbJR-FZ7_U5=(`S`B-Q7 zHS65!*zt4a;^mRDdh1$zY_JVuOgb@vxxVf0DW}By@7AuQ4hSWh4W|?B$J$VCYI|~H2d9&5?{~jU8kzwh{A;hyT(%Ijkhz1abAdp> zO$T47uBaEZReS?EW>7{=j*LbCvj4PXasfg7HBFm~Jeo9Ln(KBRX+W*M0`@`$>e#Sg z@wcX~Z@uS^a_3ZvL9gvjt+m!~T*Vph)A47q9BZC#d`FC9O))sIq};!6OBB&#SV*kg zxE0!u(1%i5#f15px47+GU4@e>^tNU38hml4^IE899vvKkX=fYpk$Vmg+q-U7ywt- zw3{xgDU4VDlTRmEvH<3$$vBipN7YUt`X*pdGM~}M!2R-#@$$(}KUubKT!#=2onS3~ z7R#7X1nF*w_W28=SR{OnQ$^UqgCfIx+zK_s(Rj7QixBfSw6Iy{lmbs?OVfM_QKXH<|acO*; zY}>jGnyNySJfO{e;HL`KL5`!9e&O3;acZP7m36-gu=W`E8#QSifqtHbV2F ziRTEZn6Qx6@#!3{a%T#-wR60%v|mGWZp&^_ac{WWzxslG?ZMXttgkd35d%apaitPA z5D3EVI1F;wagAV~u}QqFK$xJNF?bQ?CsMoVjno#)v+*cHqKe9pN1sWP@XDAtc~m?# zAs@<56-Z*-T9jzVAS53LcC`EEWfa0h$$HP7<&i=2ns+tBRvXzwT!@eWOZ2Mc*9pgz zsY%{c#%iJIiJK%%+5Dt#K2quA$d{8!DwF`*R^j9zs%YcF(L``@j8f%KP5;L|MtoB4X#op-k)X`#W(&&}fDN7oWdVc?Qyq^)08qI%oD3Gin>d8kaZXt< zR57)8?uNnVtA4=E9NlMLWLXsi6P&m%MUA@*%v9h@ZQ&P>|t%Jh4tNN!-a>P@q`$f%M+A2;e=-F@U*>*9E zvmwu3*WB4vVVUg_81LPCcC!b211p8!gz=~=vsO2_n2Li_2swAMdZc-y`_9)*442mq zA4(hrW&2X+g2u}VbF(6BKHu#!f7?hko3bi)hZdShS`Y?`cqprEuxwsaB_h~H7#{FR z9}#X5n1so3W#$^I)$Wrv+|_*Hx`NXJbZ$6=lQtb*jRDIum_d$?O|q{X3liX?V&cTH z1Hh*;qNWRD2SX|RefH1Gn%JK{DB&8I zsPN&>c8X(U3!~@${3`q;Jz@57gdpO^*_3^qI*I#LSTaAydp#jT6&2%$zhn;1h9>gf zQx8=7%plCGth5N6c+Y=e1HE$9ewOk*DP%Pc@}h)E z#^S%qBFz3dPktPsYIFpl73(6@Kj3CR?VI7e^mAm^Pd{R<0G+-6{yWQHe^2?$AAF`f z`RPxWJv;Z6jjOhoom)4Rciq3WJpaloF#PynSjwplFzSa7yv8^`1%2v8fwsN;_>Z!O zn0j2|$h~uyua=YN-S&WG4J*5Iz-wVXvz_f#?`Z~C6J8(M2)F(krD>zl7eC$-kr&~& znn>Xbyl?VW{??y|u)K+b$ALaPv*YigdzMpGu)es8fHZ-kZA|(AzO6xU?AOs|3TN91 zcsDNYAp|I7nYBM1p2TWWmJ~udZ9lmR>_?iQk2Y~*f__>9Y_6jOas_-9Tg!9;7r!nq zU156!h_RZD+0>JXs+6;%ge@;U7cQ4a@3|LqYG@dAAs)$F(1>^9ix)q(J(P<3INwWn z^WJ;vl)4fxxNb7<85;_v(s>nL4C>HgtFn~&dXjA)4?VD>{MSGD(|B;dT6z&ym!h0k zsC@GSca;sp%gbF`HkDuf)nDi6HntKCabg89J$~YRdFhqc%6)sb;FINg`TEzML;1Fh z?J=Bqfudb28|TZ<{^_4GPn^y+DwSp%@y@Qb#hKHW;`ni5>Q%h+dz`5&%pBFnICQl> zZEbNx0C+WRl>RE%dS$%uEKN6D>nGu0zl85jERr_A0j5u6X)mUnypwNr0Nb-#1Jsq_ zDA}o#{&r?P%7;3RPR^EZe)}M+)~43dic@{uPH6ck;EboU!P6Hn1Cze8Z|{zB1$s2d zSpK=6`xz9JgV2BW;a}%CJhnV_bxq-00KYb~H{e4C%Q(tZ%go}FW;E%JN})36go7kUBeM?eM~B@+;_2$+m*R!wK0cuQk=jlK!Hkzd;*hTh0)ck zFe^mJ{Me6t1f|3Ksl!#uzFLkRKUPkhIf>(}Vd4*=q^QSM9~vIE28>IaMej+YpbT3cu03|x#RxC@e^hD?mg_k+?4%^VLHvidIKZV zT!Y!OEUh$d;zVp6^_aj{!g=Z>W7Kugy{p@@T7UWK^)MFB7q|3R@~o|H+pkHxtIpC` z+vBArfiSRaSKY)jnN0U!$4Uam-9Ch>k){jA0VM@>T!90sdc52ug8dD0V&5Zit|H_s zILgc_i1zg2T^@mQh*g=DtJXx|T#qO1W5B_cjzNwZ^Bm||1Z~R}5Y|%#i@#l%LW(sZ zeKbU7#rkL}X?*L|2Xm>CLx#{+$-LX9Y*B#;6gG7pg~=zKt2)-nw)fyfO9hvX{Hh5% z9{1_V!+fc}0=5#Fa8=3ED097*mNl)&S0BOob=F zKN^;x#vjKR>;_HI`7*j{lH7;9$zkq>{QyqBX65d$fKtrYCJ zKYQtSD2FWz(C{VTVAUw{vbls+ZL9q*&*4~0ESjS!Fcb==Y zjV8%5>pE$}9KPt8jC5v|Tij28ag= z0MwrPG<5-=Y=_^KYS!x2@o%+wS1aE@3PA~rAuzJq(@>`G-5Mf(>KIX6cdONPl$!JO z>vE36`{O_Pbouo^e7d}O=XRW+G5!z`!9ohHbg7nC$5X8VugIr``Qo~zPDB#=w#5oa zr~Hcm*wk6S4x#N>HYkveBXD~1#1rqntDt&_6^DKAkQE2nEmZEmV^jIXU-{ZzZJyR~2MZse_w+&@}B7Wdu7KEE~p82l%)rB>+-4W*D(`6>*b;IxT z#PAD^nw!;s4uUtznWf8yfS|B^28JG z#j@ev^7QAP#6b}Y1G zB$@m*_*%>n{*`Y|?f!}i_LGBG54I9KSLEjTMBB|k1T_gK79DJ-rhiRiydVrO7|NAQ zm?wXke1Z`TJ_H*WE1-Y`)qEW|{5ANJGV*M8UKAFx5=^Q!mNS>R>P&7_puQ%5Z=9g~ z<&!wMr_5B;@S3&1);IfB(}tS7*2O%@r&fX&)|pcIq!#8$+S>M}UQM=5gbeOFcpw^q zp{Q@6gocZ_{0m(#;Z;{RKIGf_IJ9?75s z`-S)IU0|07`@QLF3#E<{R|N*O#U~CNF8}TS@ZYn_x~IJM>dOdmoZ+hg25e=>+_x%I zp*i3LtM&tEr?10M?%K6GOq!bEojZmQ_;z7F%P}l44SK^)Uyz3m>C%S?T(hh!_*u`2 zY44_uS=CiYa0O6P+9@U`C$sHacCt?p<^ciU%Ol`MhcRbm|9CwU9FM=}&X%uz<*VhH zZ#-K*^M%isH|@J0EXGL;&X?lw4j?-Ty7t%#5+bN=3K)Qizlcrn2LJ__*yC9Z2R7X> zo)rdFFpg%M1g^+rvSHHJ36Sk{Qns56&-)Z0GB95Gt8r`zcf^q?@SJSJjhYXzf^Scl zwQ5(OjAIP*_pN=W32?20%6FZku@wR9i)FxT$BykVYOJ7g?=ffB5nQ)z+ZtMV6?0C_ z2K(@$j=Ud6LK!PQ3dr-^*-P|wFMU41b_ktGEu)|JvT}2|Jpa;5SX-<`NUD3|6-?_` zv~IN>nj-hGBI23MH(}DJ5N86`a=rq~_t8o-b#$qks9Tz!B7@4k|WK zlE5%_EdkeE5drn1(5A0lNw>|yEle9_+s-H_Xordj>mz*?*X;i;Dz25s6auuz6Q<9> z4c}`5?_N(=bHqP?`xwuTb^cSHzftV+s{$f(toTQsQ5MkoI$rWj0jhmln1RmmU&@3`(kIP#2W&$L%q(@MgXc=tft7L^0;6P-dSV|S~t&}zuj45m;R z(e1#@1|byEe?15f?%8%o+ulAbesoTG6CrvI#e{XYF$(FftkW4l-7#i9CgKyowV}4N z(hXSQat@*Xr#|>z#?+Sb&wlk+$~gOByFd7dgn@D}N=9km3b06LuG1=3fSG&`>Za_6 z?E=0N;M>6qm&#A?+QFW9EM!=*e#=|mRqnj|LE5AMFk4pAFK>P5q4N2so-A`CER^5` zZRubi^maGaP@g5YuJUJp`e)GOrFc5Om%Y1s-CkODZQG0a?m=ox4*@&JiB?QBE=?0S zj55Zk3NV5JVn|@iCzvx`9m++R!jt_Sryj(QWdwPL=aReQI2-7|6}C_il{HYc&w~gMa3f&v0AF40eDJ_asfc|F^}-6 z{yLCuxp;01BRon=(n$;KTWLL{HRE0Uk{B?0bClg5{rfMV)LvIU{NZ;&*Qf^gA`McQ zoFmaBE4bV5*j|3%iFcQO@X!A@6yqz(BaiMbZ+>t$N3FfJy!h??@sz)jqb~2ee-D0a zdfD1>lJeY2#VS1t*&~PDSAGM9?nxZHT`eE|=*P+rJpQio)YD&LE8Pf|b8AZf862Zh z_a)$&&2vaO7Hhl2k^0fPZHBEfRdFGWQyIW`BtZ|SM}+1H9_D`=E%Y)Tg<#;;7 z;|h1hXU03Y>5-C#%`*sQ9f!eXlw0(gbaoyKi#g(XY@o1pp{d7hDwGx44DEIhD1_@= z?-JXun9AGNJD30fKmbWZK~&1oBS*?tp{uJ<;;k6i3Vmd&;h1!j4>Z0#vB%?KrA_(( zl5WLni|0uMa{ERca7-!a+Lb-{O9*|Jo=aD`RE#?xMOi_+rO}Qt=Ma4^+{B7$1j~Q{ z=AhlXc9;GYt3tO`EykMYr~<=D&5lsg~(fpQY7vr{bEH5h0q#PI}+T|Fq%cNMDSz zji9w!Q{lXDnR{C{ea&C{v=HZwai{eAhPl$A*0zDROq`#rtbjz~NLIoaOrUmyEZhcp z=q3h$jEpODUL6DysqFp)^V`JF2(fz!&np-ZA0mV&g(xEf;E(qXWYcp?`OOW%h8Zsr z>wSWn@HTGJf@ls-r^_Inam>oE_Ln&AGg(#yq+aB2tbAMPrp&an&D)lwJ~c1XdRev9 z-TUNV9qL^jaNMU!l^F7h1b%Vlhj0lWVQtlF-cA1eR4u8YKD0@>Y4Tmji@S_B-qnhw zkebA_)}dZ0t9@w05}Pb6+K)fP={)A9)~>$gJLUL9JBiyqnzc|cz3EIKW$ zPYG!51QYRso$ z$TR~Rhp}}J*8qEGW!e-7reNH3cqgN+gFRQ_r zWXC*@c%EPH>e8Au>&xAD-5rL$Lg{ANwQDz)0B3WQ*Gg9K$6;{y?A{q~+#mYThsxXk z^r`Z%f9wB1_!&q&JrA`Co&Y4Us{&&SHQ^v?+i%h(g*+SG!$1^R6;t3PR**e&pew|8`a|N;*e=UQtTb+eAr3qw~Ir!ms9qbxdUy%!Iy7 zgi2p^RHmSK{ygUiPppiIxO^BF0WyqGp6pxIuSDd}yn))w=DI5omDnC>bD9G#iy`J2lm51$j zg&tv$&R7C4#G7`NGFv+6qbXJw6^N~~47_uz<0lLwaLh^$LWSd61%zWyShQyQu9U(> zQx=&ai1}V01HxN;b)UHV+jAr(45oDtdNy;C3WBVX5?Jd&U6Enz1C=NTk6s0b25=aM z`RZzfbH?E6!F4eI_-kO*Y?f6gSvgHwWhQlAB^s+l$O;}6k+~NyYBZMb%Q20Lx*_72dmOi~a@tFlvL}TC_}|7|MzlrmC*ihpsxPi6b8R zv0MQn-nCaoAAKTxJ?3*QX1b5Q^{pH$wzsV4o+!WZul@zJjg_`lE5Y|m^ero92pKb^ z=|)pGJBRXt^XF-Cg_r%tc(WPz@7z(gZ{HCM7vXaad|RS%cSjl_Lh%6@dygd*RZA851*O1j9qk|gq~9(A z=*M9IL4A_=2M_LNjBcc#SEoEJq9)-#oIh5x3NBrhPa1U7Ua<1x7YDWBb z-fSNiYH3LGKKSf?6OX&vpEb6$LU|+>7%`wb=7 zw=i$vtcEyR;tU*mf?kqXDYQ87)8{Q#G`~R@JI!a}<|i4N)|(8ynx6Xv$x-L>iBFKq zckR$Hms)_xB|Gn6&fw-b$r%iZV_NT%jrBCxnXkSN!6$(w)rpMo{QFfuGKDo^lPv8e z5Aro#5?D^fbbf1{D;bowHA zdfPj>pr+n=V_rT7AE-~K5a0UH)USzVsH?@d*E(?aC6{k2lTiiN%O_8l4Ntr+ll2^D zUTcQvq;T@oN%qE`Et@cf*VDRA^jx)cFa5S{JDJ4T3zpTj!Scvk-ok`6jmG#Y0>wnx zzGEw(#(eQQ`#}*fbWo!ZFLS+i?V5yHlN{f}1Uf~2@bWyFM$t74Yp z@plt!hjL|7!QM+@AuD%jgY8Lhz7&kzCUN@AX#`XDI**Nn5jlJ23>Fx}n4J%$56^)Y zdM3}x6!ogGF>~98f`&ZYvwnfqffL7%!+fxc3Ov@}E!>ZN;rY;-SZ7s3m{E~1800~% z^6dDte&U^qq+L6=m7T0^%5=H!J-Q9+%=cDhd(mGIj%H8%(hl5%a*c zB~cx^ZKX^fxK?_Ul|}N?JauIJJjX8$!(?9LXtwJJx@%Ar9%IYKsf?*X6mnM(1ZEI& z`#7qvGL_ays|hUt=raUi>t!2M9=Vc<%N{E@1D9m`i4ki&)sD22>)~0?yQ6d&G+|&iHWO>uYRH znPHp_QpX?u$VbbbUC=vdm8*B3%eXI<#_2Z$3A1?pyGoLMg^65{NH{E|f4!c&C zAN#S7L-Tgx^y>i1uJu{LOI7(=#nzFS^r9?4??<-*XM}TC2x9`0XOI0TIqIFOZU-_r9PS3MuW?_DK8eZ_-Hh;MS$1M-DNr zwVLCMc<96-_UzBhfJ0rJ>>-7CVPI4|)^az;T;#Cr`b*sn+xh@1-SfiK8d1J*aKIO%(UIY+igGFwr)o8J5JkKxPZTruJmJJ zFu?X8>$7^*I_S+swgw($t{4U8^UQOeqJjb&1%PG6%8<5op;#4{RZxiUsRds)RTw$f zRr;Fh<;6TSQMxA{=>sNw3h~aN$REON|0+u28_+qojI4vd(s7^)fNN}7RI$*9HQ#Es zKrSENT%Oy{@wHe6&FD7=|0b@A*X>Q@-hqj=@wdNj^`=qY)5#8W?kW<=+!2@j!1;tFZwY<`Q{p?>SPt(+ljf%BY!RYXVj*2J zN}e?Z&zZ1@R||30X!7x0jc-VZ3i(-6C+KJ*n>JQ6AL82f{F|;KZNi$`RgQdNk~2=d zjGv_SF>Uc3;SMnKO6PacWuCSX zKx9x6=;WGm&9BC**_wAdtjWyB+pebCgr?*qHm~~B){8uZyJdKp54SOGPS~xnfncKD z@;Z^kUhzy($f^t;2aAlcRg`mQmIu z0?zgwJIV+D#{0`Z`<34;ci*`)&e6nkJ&oJ+?8}6ywj5zQOTBwJ4@w#|k5JZ)LmEek zj<^J^lcQs69tTx!BQmi4BfDI}(LYzAvND`!h7tJ(#%9FjYNuri6F({z+Wt)*#0#@* zG5I4=9U#O@w*?l~!8-NXCYTQCrGn5HeiA%7(4LHEbtZZH#Pe*0y=56sI7|@kuLx1= z(A1R>tLr}cm8)?S#igQPr19RZP@GkE$c?MZoq7>3_oTI5rtx!u;}FMD00@CA2v^Pr zGBksjTHBw-5f-+=OE{QM#cxBbU&Ys}tTa8sHVpkV=#^e3GfE563U}M+YO_~$idQW` z><7z;(3rVJfxgz4PN7hQTz-U&UaqxFi1h|_(Yc$)@@3DrBo@5!QkYfwvjoO>jMWnv zF^@}fb>AZc$0tyLA?QbW1fF~JnR_tZrr;{L{d*Gynx3~kn$EiQa@Kq|%(z~*rx9Qs zD;{U%ij?(-^`t&^6<#>GMM8XDh9~vl6a8%2!Z!{p6>do{Y!n2RA=u_@Zj?aPn#NUd z%duh1xz5ADBT6TjRnPXG)XW{TT(8_efM4TBML*x*TU!I z$&Y}xXIWiPAWdYYaGPF?sOxHf?UHk6d_ zc=Qo02-cO~{nY2mI)xG#b0whA_e@see_9C)@*h~xY62@RpM&3a2HMH(yz}jEE{{I;W|T!Jl&G!ich@gd6;&TH7!(t-MGu9qvRILD|b;MI4K)Y%hL>B~5$3^f7T<};L zQqSqn0D7D)3(%B`N3}jJeK#-rVDXjwjRr6l7v18cu@|Rc<_P{zfjc)@DR%C5{9ZVx z5Qif|oqtll`6y@VsW(N_a{^~)mX|+!`uVb-t#^+-@@A~v?kzia-NgwtFE9qB=>@@b z1j`t<89|$*r(Tw||AcN|xbo0_!KX%k;8kkJ**DDkyD@?X_M0 zYIaXc?DyDa=mUope#%tIt)t0mJ`avEzGFpUbh8lv+(@saXIc2dBIX#*djHYSe!RT@ zad-m8Wq%+21KqUk6B9G|`Iusx-ZSNw|H-eE-D}sOJXIm()2979unvWhY0vbI8XWG zWd*{$Cj9Z1Pya8&Oy8|cS8xJ2HjV|*B=Z#h0`A*&C-vUUX$lv?8!Qkyj^s@~K|a$Mknbk0NfYKT4qox-pArw&ef ziPNMdD=5@0@slTMJ86=SlN4#%%c_`f>f?hK@0lc0j*r$|#w+kKtshzVnywv8hWjR2 zHu=`LHH~dy+$6|m7_)_!_YT4ZZK3d}gUy&;mgl$H!+OVW&8T^wpISz}?R+=I<+-M< zuUbM;>&zP}*oGNn0d_Th=R27s*F|lptu-$@vx1<;F{rJz_w^DJ2qj|Dw88u)6<;m9 zd}aFNdVAzW>8Q-&r`Nd`=Jdn&jaQReUaPqbT$0WTzkVfZA1$hbQO(LAZ`ySJ`V3+B zI4>vd0ZfKButM*|*@Xb`zz-#}f8>!zvf^m_H6znpUqR#&LZHXRs3CWyK;|-nsCW;q zD`fBAzaOD#3~l%@3IetZ@X86VSI^q+3tz!8HPD=b(>-aA0+?~^Hz!l+P(PENE2>WL z3P#c=^JwW*oy2PY#L=9?ob;~lnO>0D1^#+D(Yu-`LuZ>TCp8AHUKI;djU@D)W7+!U zB0$E*crD%sPYJL2)qH(t9pa3u=|jWvp+53`l$GKeFn`wBa-w9k9?7R#M2J6@w}BPM zr3iv&&z*yD#1r_%iRsL8U&`6q*#)w% z6w?qDITq#;dhLFGw+9#~-Bhp^cNKiKkX(+*wzSf-=;vUBXAn@A!FX-kzJ>FPkCtzK z)a3SzlxI?D+Z-Ag!b2?kzemJFkPIf)aktCug7RhVv0%W+et?agoc zxb};Ark@BioeH0=n3HeXcCLK>8|TZzZ@B~KQ&oZ04NaJHTMmq}!uB{!_rAOCMELJ1 zCpgkF3NPlhN8a)v%y1753fE_>OOyV_2i}`H{_EfRP4@M^9U6mj0=O)NY5v@kFsH8Y zQNc|Vbb>zK3U{}EEBQBcm~FQ5yhMd**U=Uwu# zO18OX()sPwB1P14l6m{Wyqh!$G9NB=25!l5%i091!O~AH-P{*`>C#xa4(*Um=*L38 z2a?uqR=>@wr;Bs#arXA=!Rhjaue@B|^Vq}XO?T~uesBcb%>lMt?O*y-@2t0>AN8H|U@zQ1Zpz$nVh^r$gH}r$z!lTMtmBK2yT;PcHA^qb*gi2yFb-e1E z$Sd=F=uy+wgf=)szopr>8=fInSUo6h;i=rpb(#}zR!&T_D6<-xg2zM=gft#Oti_OY zL<^-$ZV~$87t4n2_eGI$89FfsJ=XbZ7Sm{7TbDFCI4jX$L^4(@DmM3q+Q<9_K1u19 ziSl2^v++Vi9qY#AV@65D@8XO1bAj6HtC5|^AX7y zfMnoby=wk>aJYRKuIaPDK+toV;bT(S@OOjG0&-^d6|>xYrX{Jxt4E2 z!|NdOU41rweKM(e*LoRl?VCJ}1YC{NmTUCHNxgjXrS*0q;?{hHT`HY~H44GW&b-q% z#xXES39T@5!bpNVo0Tv~v>KeZO~M3o&-+>)d1P=ez@n2jRcte=Wm;M5(1~MyJXctx zAt5qt-pm*Eeaf|1;Z(21_f1fK+U~TDZR8d&YlIrUP_u;I_Ek%1VSC%lMUOHB6mv_1 z0-mO(zHDkt9Lu!c^|CGY3D0fNqMQwM0yj-wcW#VSACh&xh{pss2~+Q0`6-;uoMn>O zy=zbTu^<1*^6lrp%>>ZTBn4vz()6)1F*oNiXQZ#bH9wBlFw(7$=34X$v?4W?mIK?)wO%-1E;>-^(nxe{c)hc!eL8G{VBZ zuwR6+CgIjAd-9SvjR=jFPRn?!#g|!FgE`+CR>$2!VclHS7zDnW(+|K+&~UF@-y9E+!p^Qw$+Z#s?*`1EJK(?VS!b`rfpkF@A_jf$S}f~cI*JvS|^QzSQ@={jFY)#<^TMHPnT0?uVZG76;%H)=F_VYx@O96|6iXhFYP~CcJA5LI{pl&ord%0e?}33ZCu~yL$pLS zL)K}v+H#zRhA~z=QH8<7cyb$)^t37{C9NuZj2qqx-0(LRgXCy=3idU3?-yMbm`dFe zx+ubboZGZLt+TYI4)(ucG~VN3`w=8*EzRO1O-JcND|pWsF%7pJzM`pj+G!rd^LiEK+m!IR$d+Hj6Mm&+{_oS4JPW%p9Q`O!DgG z)S5YP^Cl+gI&=Kr|KRCz_pVpUHk{{8gC7F}tFc(xQ67Br+bC{XS&ty=wvikBZrG^L zl$9u=E->bC$jX?X#B85wg>t)Dk!F6G$1;p@T4^U0RtmVKq6l}lu`~SYI?Y>kVeQ-}%w~{#!K0>qnQMMHIuUu1> zgMW`c@=*ElPrR=jKY9jhH5Apr!c%)Rxo_uq_rM43sNXF3Yn@ffjiGECK#@i4Msv%M&-;E~mrSF~<7{3c;l)r8UbxaT3J>aGK^=%oS|aSjNIf z|G*3u1{<<4B7e}`UCr>FD{NDp+bX@!eQMqS9hlrA+*40troMg~%QOpD8!B!X*BCXg z#3F8J>n&-_!x2P05*a)6A-|+DBd?~Iyssf|xbHWlU>{=D06!}nP3O7qRH7%>Cw3sK{p6MD3@rqOmQeau(#2%6WXw3tVv5Q*Cjs}O4@BCZWMdw_N>eSo7<|FdUxYYXP$5fR;4m@kVwcfR^iO{C!p*D#;DW|sCz$R`}b|<_h zUMQ$3I9=Pk`_8zP4A|~uN7)&))K8(JhLL#TCNT0bP4g>vrsKh9P0egW?mMp&l$r~o z=1Owzg@L`1rgvV}{5nP3ZXSG27HvL>R+;@aslN+tZ6gxc7PvTKbMGq!JM*u^yNNDr zLfmU&+nKuB-VQDkm&Y38bu#Bo{=RDj-`XyIEsu%z8WXa|LG`g8Yy{_d(+K7FzUcw> zkFLr}FLMq8!E{z5jib=+F*)ubbANhZSU)OO!-2WLIAr}@J9i&>p^kF%5Q z@b&d&2vb`b3G6^bzrN3dGAZVl!2m!pRd2aZGJ@BUo-Ff0GI2M#_f z=z*bvU1gYJat!RGRl?56SOGv!xK6YxBn)?D+IQ_`9P40#m9|v;szQ1bi?U3sV6Ew~ z^>M{nO8}XMN;?(4U4==-@=hf3Pa5j#aUVx%8OQAnS{sNdGWPDvbDU|Z;BjDQ&zvsD zjvYg|Lckz@%hP0k8TA}TA)tkYry^WLx^xv>I<3PVi`LA4HGMyfV1Dw%*}$WY0qdor zfuqYf!p_xWkG#8l`BF?e_w3nS4jnp#sqqE+@<4gu!3Xg&yt>StJe71oOz&(HS@lp@ zg)t8n?CK6k~K%vXZ7}F3{>AD})|-2oo9jQ$X5E9G_F$rY!Hn zoN39xUthBdA3ShgGG9KzJM1aK?NZz&3sYA^TxIV^;jxsJaLd=KK?TUj$hEB4%z^_q z`6yMbTDQHt_{y_o!=}f|&;R^~QIcRfiNVRWYnR!sfYV8Z;<@FlW?w76^E-cxfM)Yy z!t4jSbPnNP#dPmdSZ~U|NnPCcEGIiR=$BRh4S75IJ} zTW-i|9$1_9)|Gu2TTETu>+7ESaupvCDDGCR9ipG6V;Q3Gaq;3gI}d>tkNm(-hmSJd z;?O#jOntOTCs3_|LmZ?~(_KtbGF-akY?yA1+m8H$oi7uef7 zTWJKn01Sm00TU3+5aqegXyNXFvOFdDGov+1tEr>wO4X_%h*Wxc!IDmopb9s1uIDXo7I;>BWKt zTHA$C;>xRV$`O{VC`(Ud_?NTaeJQ5$T777i?3nA~EO}wDl(A($@swxB-aKP#9yl-K zo~PhT_K{OZiNk8PH&i^~y{onZwp}`BCUk3rd&i+;5crz8;{=7oAV-gh8=6Y9z&oy+>H{prDDCjS9yD0lwJ{7Lj2@SA5;?zwX)hV>C9v*@YuxgKj zO%Lz$;HqBfTUy;#LFh?SZn-Q=xVH7?CN!`EJloW~G>qGtuVM0^{^F35xlI1n`OLZ3 zsGc_A8S3tPcPoKgiE{KI0=`1@j%{1ZDJ(_~A3jo^e0s9H@WQt_cJN11y}oSS@s^eQ z0^TCTKKJ|!<>gloa>B_v@{t&UN8p>=KvdSa;yw>inF9wb&lP|BQc~25B2CjMHce44 z6+6_4`dD}AmcP;!X|t!8WD+1WbcbKtEqw^`K<~t56>=&J|H~i$hvg@K;e+KL{exd3 ze-&ic%U8ef)$-t@kLFm`l_<^bx??Ab=+lfj6izt$Th7)eVd4BKEObEYnfH^>i}?F+ z+=I7MQ~a{1AsmjLI9@iRR8)E9oa@-Rj$+wyYQ3rz3?vTTWdI*5ZX48h$}BvM7Cmmy z693&kD8DegVVL<9ev0{63mkcc?&T;2$vD}CxFTzJVF$qQ&j=2j?$d_O(C9219f zSY@I8uJc5#$Hv(2FFjn2m6OWLXG9Od`^Cw_r`O6N=_|a-v$nu+NuV zYK0Ry1cI`8G)oaZSDyLeeF(7CGELIgSkW{Q+4|IEHGa~oj4;srn{+9Xu;i0{Xhcb& ziwJxh-?Ww~j7VtxlAf=$jez_T9s*|s(zIfP)eI~x4+3D~HXXy5XWAu|&Bd?zHTNAj zqznUX13zhd(;jorb0x?NsfpKQ>+2d`Yhr@jC7mzL%Y3L2gunI);a=2NlV%GIW7?!? zav)#sQjTepz`_zwT~qtSCrRL+PrZTsc zd0X6tT6pI;SSYgQL4HnX?InD;Pd2w@-A4J&-#{pdlI}YrB*b?u{Ck-gS7X}FJjnzF zqsuIP=FEA7uC=VFt;__YBe5BnFn|Ehy|J!vyO&#h zb2ZZa%Q76sfBBV{E_p? zdZN*1f~|W>Ss{WM5%voE*YPf_`7af5GzQlKIP2pLK|=^`Id+aVUx4AzSAxobz5DjX zOMl%9SeYB?G)e2#+}K9*5mwc*5M~JHY&vXQjpuPK5!^1I4}t7OZ&pL1ETZ05Q1D!$ z{ZlZbW*Gs!og^r!(t+mJvYTeedWa|Jh6b4@6g-od?ojRGk zde!)@(z8!qL74uNc9@4u*(Ll9eD3Kd%aLQxm7P1caK`X1#t7%Ev-LsG==a|L5XYI_ zlVc;Fdipu~#{HTqkXZG{D!`Q{HY&rMQ5$aOkmStUVS$6Xp2~{6yaRtxe)Iq*_w=jq>c<~IS;MK@z{0V3W9(}Ba}6H!H*8#2 z4j(+oXFqKns9Qm3!~D&a;3Q5iNwb8$8A5^351kl5d8d;(6+Bwv$ZMQBd4fIsn)FuM zsZwwX0bIesmHvJd46A|Twd>=+8Uc53O)L%cBcM`J zGytQ|maJqX%`!uI0m^}R(g{4GT+Pi@%0ErmJ}kKu5XeuZzyR$Tf!3#ujG<~8QR!5{ z8YD`Ui`UE6)hNF{ccRSx@VzvVamQbb@Zo<1j(8^|{rd}F!t_7pl|C{<>#wkp&NxCHvC(1DH zy__2~0gp3R@=_5L8rx}Og^S9YW#DG~evr;FCoNkJ?O8&HRFP5MEsUJazUlRdZUm^!8ghKq$qsN#B zE=9rq+JP6#{ugk5xV4mZ>-Un67I-VlMwAHp+YpBG1JZ%aCyXr>XZC}0qNKzVLsVw# zq)*={oJo9bS={4t+^w;j|4Jp{$3wC1&8olE{lyR&`!Z%@ly!;jM zd@m6X13`G0J;;Kco~V4)cP+{!c?xn+CO==rVTcog?<+CQZG$*wCc~97d1!M>DJjTg z+&IbbNu7CalbdVJS|Z=vdqZ5q#n;Ld_+0Z(-HgL0NS%A*8fG4b-&$7o!W)nOx%Nd3 zvrV0M+}9-5kIT%H4ZpeP!AUz|{Fu;kn#;VL+RdfS*SFrczhqF$12C?xRM;g_n~hPL zD+Lf|(WAG?k3jxgoNF2Ql--nH@0+wq=T|55)G2QRM8g-})$n|O=U3C7&I{7lns!1u za0!fR>j_(&f7_@VV{>(I1AFasu48?A@K`ULWK`e|!vLH>FwnVI>z!N}YnFE72Hy5zzV&=P zgW1|F!oUauhQ~Lly?^0_R}fs5l`YJ03a6UDy9Z1Sw5!gWIOgoyRnA$bEIqUL*`Gjg@}!p6Pn zPNE9-w$C<*hYHxiQzm_(Y&usCd@o&5h*AJo*pZGAoVxg>_TBeRuF^aOan0MUtLa-> zX_y?KtHHs2$~B#^@z=P1Ts^gKym$QiE_H^%_||jJl~bqBz#t&BF@AOO<{taC!)u7@ z8TT+I2rIEbpe0ji{`;xFLfb|B9qin_JI>5xCgT(exae15XeFNUDOaw4ZwF2ub*_MA&mbvTa_E zFb7CdSNlV_uVml8iX%1t?qkn~XnNP7ItU_v@6=SUw#<7;6`M}JK!C#?7lO`~6hpi9( z^dppAzT^t%9Q}<0MFq(SuAWRVkJGmo$}?a45_QJ^0t&8cI8qwJCxz{r!0F%3`K`1? z6LOM)Q?^Cg7{KMb`V#2T2^uTzZc)(dyIT#kBmgwzMItMP;sN4vFNwjGtEe-0 zh!8%>o@o6cXo)Zl)7^toU}|bCv_>naZfLK0W&BeE&FU2@`mhX8@G@^5gh~&jQQ~(m zN1ci93NIcV>Q;bNz@YkvsO^%LRr(<zd+dT{#eXFgbm#bT6&@)h}Ni zEeFnBDyy*)Ts4GOciO~kOzFaqHp=&a4^hzas35wGaeVUpmGW~x`rh)Ned6(gjtB)R zo0aBuO4^Td^xiTDu8+9=2*;FTYLg}9^)v?wJbiY8XC-rLe90$ z!+-wge_p=)<*(p~Z$EIuU%|HR<%#$1DjCD@b@5pvUI_=ss9V?u;A^PTNBo_-V;=jA<2E+UWvm)OMB{b6QgLB{|Yy%>9Mxcok$`?&|@J={6g%B2xY7lP6ja3n&;WQovyU&I86=vP8e>zov^#xXM^|&pwpgAx3um{t#zqf4J6cc*^ zBJ4C3^|JqCs+o?fD;KVE=z-tKxf|hM^SA@Ay;e4&9T&Q;V7uC=P~v_xk3thuL=A;l z)ev^WWmXO2v6eCv{?%@KcKb${|2Re?l}G+!L>9cM9Nb z2g&&Q@oI5V`Vp%FmVJ=Qs{`5-F^gCrZe-bU^C&% zXt+Y~na_L%rshmmx3yB(xN$wqjqnx*)3GoZLIAOR`2J)jt@ixgix)1k`b7;rQ&@)9X|Cw1g%%z5O@%w*XP25NP>5d^6^{ee{oD`!iws_8O6 z_G4OxE860dZSB?66JbxqlJkmZZ>wzHuzp*4<<(c%y7FRH%M~=oMtjQW1Sbs)?Evpl z_E7IJ_GVABhui)5t|q&cpBX00WnvrL-lC6&muFrmm)RaPij|0hyYN-OcbkKby4+`b zjuR42p-5Cn9LDnK1d2oR7{S4(O1CLYWj&V8K9JrxkE#ruUxs31lGQ8(peVO!10c=i zv(`hin3})oj;%1>A1HU(dvty{tBZhi-j|bwIQst~R<~Sh}F6YG?t) z>cgbJA8QNyGf;45MVQA@qA8X|b9@jm_S{Q5h_wN_l}xGjy`!-034h6wl#WcPF#XQQ z%V*#D@iK0kfBWn^!+dAHZQiC;H21m9BXOIDHXg4-M?t$vM|rlc$m+>dBLr{TGPv!O zVVS8D5$q=y8iYwNi8W(4rhG#c>}p)o|79<${(6^n_={cU0G+o{Kt+X_rsN7`8~NDo z+MhKyW4p?mwo{1Zv~>`_Y;${gpXV0fz90eQC|5{N($t93qN*`0hNZ zb2%+`JPLCb-c3buHCwOa7K(=eTlr2;d&%h;SlRHF<1cG|RzWjwE!CuZ3V_mShBRZH za`>~KTo6#{i0(0KHskase&^B%`5bXdo>#s?rIZd8wem4v1<@`{`X@1sKYILp`CotY z-LEOfrS-MI{t%wxvsk`(Py5N{iTQe^^W+$PMH^_@I z&POHdM?Uf){DHiueEo;Nj`IBZa_9)#%PyQOySDEx4?XZ;dFSJgBm8e>MSq~|+q;Lc zJXFq}K3P8XsZYhT{-(_+gnsltDO5`{6T;3d+5^kkJ(`8a79)BWK5GO@hhKOkxZ~5&^OHxq+j9b&2Hi>yAucS|u zrk*vROD2!9=S*uJ$(eUG^E?y5f~*aH{#vkcntR)xH#JTubyHw00czA_DUr>x2EVDk zDN|3wNpC%PF^4IUiVEAiB=BQ4NS+8AR^s+6@63P?>CC&BC21;R+D6z}&o)NX4o?CKRvBqpzV71o)JY=>oernHQPtDEO9UM)ZMiI10u-uw{O z1;?`@sDP`Y!^u=aO~TVUX`1Xuq0;?u zUcPq{uIWff#`7>g?WJHGoRTq;xgwu7%(N;56o3ue15@!Rdkp{Q|K&Hz-3m73TWMt~ zl=d2CSqj&K)H(M}9W>>?&Pt6!>LhqDiAQ%=SjB@I2GLm_*Vq z`%$zg__&Is7h%2eXEmNOWIkLOk;xM#B7Vj~gZtjwCVyo_Y}*t}iRPpVogRCqkavSR z3Wrg)37C_@oU0h-r?4x0X&7%Zk`gY>2(2M+-|$lfKkij*m>)rbM?1#ScMxLd1mR?! zGJbQIT8c}K7lTz|*q;ig45Rdiiiik!3UN5EQc>E6urBV7j*<@op@O0crie70D?L7S zn0@H0unNE#6cls`641~}`WBoq?Q+T-u5k230L|nl5GWN)^`9{^>fTL+7gogU-q8jQ0>om3P3DC9EWC0mMIdGm zcvS(!c}wSUl%9U@3~uZ!z#+;T)VY_Q_;EHzn@*iN6CBhc$U1pO^y5G9uJWZXeYrgI z>>;K|jud2zhYA>JiCclR*imRd{MtdB5*~%gUCSv0Yvae`-h1xLO5@2RuL27c9rS?; zNtx$s*RP?-Vmwgy(6C@Z<0u@8m>}mDGv8K{0Xcz`=6t=n)i@%@z|J zd~VtVBaf28aVJiQ&*Fl7OtlojAtUrv-yteTcWm1c{8foJgVlpLGsXBia_9gGwF@XA zS3pZ}*d+~Pd@K+1FRi7c$yi)j#&&=ql$guNLxIV0Zyg+8@tRIN>9+0mc+m-PYk1xI zIP|+o|A~9jLagW6`^Zp zRvVQtZ@sKVTa$%4)wii73q|IU_DHWNZy}W_Yo=Y634K}I+QoSju~Uw57ILYjO2>u1 zoJJNB2m_?m}6}(TM3@~`ZHzA z8ny}cO|ysoa{2Z*UMeRJT`rHk{oQ3?)w=TP(GzSRgNNzkq>owrVTgasC2j|?T@&Nf zkg?PQ&2&y^g?sMD zGn%4mo}{#oJNYNttzX8kncf=y277vg2=>dS`ae#B54zt*lA4zmzsZ&I2rlX z+!SUxW}0{Am&hhIh$<3htN6_ddQ*-sh5YST(kG8LpGCjzZIdXBngcQA6WG)v z77vN*S6jbI_!F04A)Sl+wiYeZ+<8HM6+VVo-&^avkgmdw*SYFX3aJ6UXxdL zD6B%ZlVh5ar?zcPPW~irleW#mxVEjD(uzgYm6tW&Br<9GtxaRrGF^-FOB~~Q)47O| zM4j9$Eae%6ERwIOT68jfGdiq9bJg^&Qr((=o4$?r`oGDB0#LSt^F1-Wm(kNS(@A=) zS+N~poPn=qU6nDAkOw|CzzCQK$-JlBt4x_a>7!AvHu zzPr+<*KXUkWh>_VFxpxS=uAd0_?r8#hB;q3#Fzyi9nbFF7iJ2<3Y3;xojZ9>_DosD zaeUo413G`{7y<(fZeKt21cA|s(g6)n^?<9e;+}o?Au0^H%BHF3Qh+dP+Y$aDL)pK3 z=bd-JcrT0A+f`qgb%n%wF0K3iwKP~7A<}(qQ7&ZvI%a-MnwsrtdgtniX0(+-k$zbx z8Up|n1pOGt-gNcCOIoF{WEq;u+ir17p*kyp)IF91z()EhEM-)Lm#fH*GfnPhsPnpE zJkP^K=xy75f;uzmf>H0q{I?63#L*#rXg^NDU@ha_9Pj}RfU!&my$zj|)OO+Je2Trg z(onY$Oh-{7_Sv3%r|eiskYFiw_AFml+3P-SOpNi(&=1_(v)N~*!3Yn02PXd7_V%)$ zZKLURz-D7zVYOWf_IhguNdj~IDXfGUlF`vyuvQwHE7q%_IK&O}MW8fFy6Nh3rDcvo zaZbj=1~~@7KiU!)6RuM}8PQNL;OF*+)$A4RQ^^1hQ<46Im*Gs3HMTHj<9M9zn{XZgKM{WW`rHN27IpSFYf7sENd=pZ3bjVj3p|+v zzj=h-HQ>%z6bz07SIHQ@2ypY|!j)0>fnLT;6v2@)H5H$k8OxR%;XI020Chl$zo*tX z@tGlKYvb!bKMWAyEDWO@M+gT*i65bp7~;;tRpBv5Je8R$9Pkbmcq`Bgo3w*|*1X=n z-?)C5drl8HaS|bT9VcOIYqE3Rr!d-B6*i0;#)`@e`_X%kqS~>|6FZKUT|0Ni8R5CZ zC=tnD;n(A+T;aMnGRb~u7;)OuO+U3;4l1EHFWW(xl=PG0#}lOxZD^ z(?11-7deqc_-ImWy&V_n6K+&`m~Stz9MCBi0=+auD=9taufXp>1TkPK)=!`i9Y-;z zY4!`yIr~jI7>g@lS(P-v4j8$QH}r?{Jkn8r5a#PXU;D=~C!DqD5^vqFd>+f5aTIMU z!KZ%mb^N#}qNjEpce?FD>nZ0d&GD^o-F|~2id9X}Jc^xJ@D(Y9G@e$VUj(+_;LAfx zG3kw$E%I{Du~!6zddIgguW|g%HUvVVJZ)f~an3v2s&ADFA=8nso;-pQT$&(S0c37I^ll`nw)aj;UV4AY6gS5)_yWKNa$1KLMYhZB7-=_x zta&&$I_CYjO$lp!+KF{dSATi?!~4q5{K$LCzkB+{GO+aj6ND&M;;qZ39_1^d1vp(lJ z&v~}<9JUUL+xCVsU1vc)a0vJ@XH*F9;T-wD^FRKdW!L78^6&hmf4w|$@Zs{z9psQHVpoV;*&c%YA-tAor|XHw-*xxEH}EfQWE_N_m%QIB zYq&=m4h-XI$eQeS1^EV*p(?RGep4mg6659R7F$rDi96@co+-yaK3=}@jhD*9M?B(_ zm?ywZMM0N}7-&Q2Gik+1klf25`Q#EYk|aHSdD)c@4xpvz4>K6KdCLx_>m`m ze_pRj&3=wszjlD@a6&*pT-HSxi#ZlhtP6c;m3Yuiu!?0D<`7vHB^C@9L5YY&$FdSh zllRVMf6J^I48nnx38+McB4pZ_kO=_A+c^k?Gq7p`O-_AG92Ed+ye&&a_gEr-SGOX| zlWf#-Ybt&Qu|#yAw@78pwTEK8PlNsShFh6ae~^cE1pkwqXHr|=`q0bwKH_IPaZ)r7 zLjWyfrL5%0>oBAc$9OWB-Qp~#xmL<*AEc6|?)Di!Gm#|H?K8fGLx_CJvmM-+hT*E| z>|N7t^D!=YZaN#0zv<7~3eC-Xb9=SlCh?QsEBQ@PpQVU3`79&x3Vq+C zPvZ8^XFY4**{-JI7AC%G%Ry`+g$rQK;B%9weYJtPuWxzYj&I7ay(A*f+UKUNr$&#b0gjYm7(a0^-0EF1%UIm_N_8fTE;C~OO}k9TL-Gl&fZkmm5ZDc z{mIFTSZ!r`VGg@^&p+ML6rj5BBybz&~kUwJB-WT2AIwH zd86MFKLI6b7YvLH#?1V=1jLhR=%F5tFfZ$kYz%V_Ax02@jx)xS&~aTffmYgV(-*L^ z`9sC2za6WJcQVbD7EW^1j#v5{(+>Bfy~8m?)twYU0$i~J(b9(_B>^~)(&?9%kF`cx zr(-yVuy<(RZkVm9>XuJCd%?kNTTlqWRCO?xp0Rw6W0^YXhk0#VqU6(9>2THs))1e& zCtsWres>Up?3W%}9$lsYq9Eqj$Oy}n3SJdQ-6)WjfUAA6#l{Wrc*uzfwy@wmAoJ$_ zQn)~Ho-F|`HLf?DC2buls3IWSUkXjRjwSDONmfxXuPZ(;JV)BVg$9l52L}bsB<|@R z`8YV_i3ipFb{Q-53~=cqT77>%W7Y{1N&PCG=EMPlMOnrW0@FMJ-t;OM8F4?U_(gkY zWFP%dkkHaThXp@_W}j25?Sl;jA3ISvs089CYcUEp=8tam^D2*g=trwK*rPBgoRpQz z5?gS<+ik?l@brb(-}*^;Xz#up@FxIO(6O%;s{|T1snc@MRM%Xvr#vIB$l_}Da#Snj>9nRGD z+Bhz7)wnc;FBE4~>H*PD^dMAyxjtdtqPzFbwO5edPg?#5o6)b>)imRp% zXUV1vv zadU)@8#_WJheDh1v+d$ZXg|-~i*LLcd0y#G6p7Sh%!Bdq@hEvzT&bkgtL6&9*mSEl zV5x4~uCpqH`dE`{+w|J1!D(r5U|_qYsVZ|a_fZ^8Ll+c2UDKlM05?<|YXZq2=mu}S1w-2);Wb+$67_iAZxnO*Nq8r--T6L7#UoU8Zt%( z>Ybgs8O3r35x{o?aqDsO*$wT#~}76qPN!U%rEm?n_9)DNH&fKbKKU;3S|lz;7; zFO`k!+5R$1q<;(s2M7{60>1z5fA-(uLAZz0Li202JUNn1d9}zTYI_#Fb1O zU9@J=md!Jm%n0xYqyT}voLZT1-A3hPnvpL9$a}3Paob{Y=?b(A@>^$jgJ2P!70f9w zxMZD7Bx_w}1@#^nD&zbzdmHKO=TF|Ax z3MuKg?Moj1`oAgHEcH1r9fMFC?s;Jn-z6#EUMp$q&-_h0*Zy8}Z#m}aG#HGPHs!WS zYTnfvY>$_qyuW6Dn|*ECdf&p?_n9L#vp>1$2g%I0k~jCOxLVurnRa6Ij&?U1pxe~y=oos6~5WhxacbF>`vtG##|hFX}K zPG-xG41pslY*bRJuw+b7})Iw!jY#P=tXc=!58@K*ts*~ zkG2G%&SQ`o3XD)DB@V{AQU{-a>3z6bpSJDwovn1icklOomj&^tLa=$0!l{qG8MU}x zzy_RYUHJVR)cC`SjC7Y#+q+`efiWfzs$#pMDZ|>0w;;@hGAFeYz+@ zOWm5G)iExlx;~0uv{5{>EwM^8)K0Ilg}WTF2J3t_Tfq1Vyp3|Nr(|XTa2(z^ zLOlp{xPt3et{^kKX();yx0`r*q?PrHK7B-=SNIVZwj#t#5@CI^lb}*WTc2g_#M;a| z>sA2M1z!uXR%(?K;^rb&t|-aCmOIciO-m-XopqjKKhozK7c zwX$Q+K@|91coZy`E!+2%|KLCRt5~lN(;kE+aG)~AF#HH_M^Ly;OmJK#O!k2ThstJx zecofd7GOLOHG#2MXutTT{q0!T7ca|5I6bewsq5N8~W5#k1D+)ya!0d9H#C@i}rLuKY|1aXD2 zUKOIu)!-S8lomKgd?sui6EE?(;vypInQm+gikv%FCn_ zU;_TNz-a1II32n?7<^G!w0N~7xvVg&rP`ywR90QRb_Gw3ZH)U^a9tRv)EWgx-15){0m~L2@@c7*9!gskn5&@f zHkr8uUUWOr4Fn|H?7sLBj@X=@zF4kv?56kTiJ(gv<`q7+&5z|epI!Hav*YBLD$rd5 zCsf>8kKP)#XA=Cl!L|pz9HMM+9#Ed^n`@+HTc!fA@J#u@#C1wnYTJ0~^eMJuTrIAf zra1!*yUqA3&^s44;TdMI$<27S*&gF(c)2Etvk96^&wO{}7{r!F*q;cE;I&G!b||Zpk@z}+F|g^B$F!ZnRun1H2e#(jzR5bIvVG%N85-S2dwR?6?VHNYJExHsP;lxE z(5wvxAkA2S@coSYtEVoP|M;)`PT9A8Lzx)AR)*QnzRU>#T_`DDKtb>q|J*mqcVB)T zyvH+%c)6~z_FdeRHg!Y4!dFA19E+?wzNDp@4@^1NbC10Bois*;=RFjCTIs_VfDht? zikNwnkSghCSYJQ*-~%G_?+G3&u)8%)dgC~T{s*6&)Ae%PCfOo%1%=-dbp9?%P8ABC zNZ`0mLnmBUZ12Rxhf(T!f{OU*x*e)T`L12Ywy~bgoJ8P?74HwVBGNxT;tbRyZ~!E9 zvKmj*bNep>Nbeg&khUjKb;eGtvQ(jD`|G$`f4$b^=Kk89VGuKL$H0CaF zFm6LGDycYV9x;~i zRuzdVvz0bcC+!HoQqd-hV&=6kea9dB(|(#{O=oFzge!iEq)8V{3^F!}AWG);ef@6B zs0*jLYTjBKMJAcEO~jY*cx$=b@Nr7D6M;7?S0=#9uiCVgx_F*)EX#YV_41o%(Y!%; z^O|S*wr=~C%GwOcRoi2B-?f$Sy;5$I%!ax!uuSr{DT6QXYEzmYO(~UJi1w=~YEiY% z-q$qsDU_9@!m7Q@*OuMf*@w37ylvmpg0$b-YQCDomccmjSC|E^O*-GNru0|6+P;`J z>B%UQW%(6GHC>yxO;<}>?UCl$vD*RPL98a zMoR(6ON+a|ZGX+}-^ojEA@BIKJ%}}|4C2#`_$mrr$G$9wmaPHc*8-)mh1BE{WuN?S&W0 zQ%^rr&YwJ9KKF3(W=W>c zbxP$9JJGTPsA#2|bkBtLQ%G@fALh~pQuy)Pan%)hX7&zwIO~1;ZWvybU(OlF7QqFf zvTlv2%%Np;i}xxzSx}v`%mC&a7DL)_<=UmPX$u}QM7Qe1lCM%ILK1obang0VUpP_6 zBwHrLxdgXzJX*reZ9FnaKNnYVaD{Y}fY~-FjBOw)zxZ1fBGTsCFS{)#&3 zAp$-EIE$CMak|w;g}@A_dw6f(1_n7IZepg~VXIDuXLuJqX;e5UtT->JRNUr9#gO05 zSG^BU9=}*FUAR~tIk+PXwpLUHty>-einUI!hm8m_p0uG=)Ui`2aGuIgE6jDn=v$`0 zoujtN<0CyD)8LZMQv>EH@G985<;UQc9)IW<8IQs|3JreSV1>#k@3~()C#6mGm{5fn z;0g`YtIDGf4<9~^^>+ko;^olG1kGeFxD`O5+cA`eiDQ=Oy_apbA1z$GS6QJ_paaF( zI%uXxSax;KF-Et_+=s^yE*7Kgu#H;lrQ3Q?xkp);+x|CM8 zomdftkw=1^KX*P`yF71QrLl?taZGwGd=z37eiR~XyJM#SCLd@z6)Ac?-2{K0eDY~( zs`N>PhKdHgBW^OL(i1QHZC}M%fb8G!vf{j+Hqw!61Orv*QlWYX#nS$L`!cmv&N%*- zeTnU8H&9%t+}nuvl;dH0w8-1uD1pc?ZL!XcoH!z_TZf|LB0*2}($F${^3=&FfIj}@ zI9^FZ!4K1AjF|UYm8(LTc7k86QO*9>Ij*&MIqlI~;o!l8!Phe=4Yc-u#OV`S-G^~C zcgXF#S8%R@iEU9R7WOI}22h@Y&cUNsUwy4S^UTvxXq-H8s{HVWoVvldh{s=f@x^SN znw};G3ZRs;68ciDCDu0i_uD9*=TIa+g7?kra(CIcbGUqZ5?b2@PTGgXs&qshtQW7m%gGve@GKK4UU@{^vtN-8IGL)!!r3y2;>ZsBt+=-ZAb1luVzFnscwtjzP*woSPC zpp6?Oy6onW9Uw0g3eCO?p8Fl=AZoWEte0WvE~AycL)6=`xP{>giQh?I9|61|OrnmA zP}_1RaS#w{6CQ@iFXQDuk+|X@-wiTmVz7whCqHU_lUgDlzmur`RbRv&^V%v%aPsD-E)=)a^}ktt4t6@J$*QzjUu{ACE1rTBn<|zT;CP zMO#0gw5z_a{q&K~>*bhbL1-SO%)GKc{=5J3{n}?yA|y#g`$~9xKq?cisVm7+0ClD_ zd9wQF!L$$lUQJo=KI47h%t8zx)nz^^$DU{kKee> zf;SoKKq6Wrtf|G8!Ev9x7O!;((6*?y%kO$GgQmq}3|H&QP`VG3V{CAnb`ib7T<_}H zkom9m)FW+{S@h&0#C5NE1p5tPZZ~CN9mcg$re8PDt0)I{Z5_ppj>z`7(%HT+Us$`W zPr+L2nhd1^gnnsSx@4fFC2GvIwAgl;D;I9tD--8@kYN)S>`lg8jRp5mNIqWfvvX0d zuCrCJua+R034dqb87W=V!*J3!>8rRVQ)e23;%HIuNH7^*;bx#9gAw9&O*LI**N*LF z6pKyWqdJVhGgwBjw2Yzf7~vjO078Z#hQTd_nvg%+%^R=GZ=2pe$V30stDXO=_}IQ_ zvosm`GHu41`wEvj7hDSzj&z$;$jN%(M8JdQ(I<|ULB`Jg^YMZptpNfRSk9k29U)*n z0fYAJ-HlauPdSG2<}&9dcOtNM;tJXU&ce%q7YLAD3Rn~m?9@9e9F*Qkp5yK=^9x008hu5!PEYCdmEY{1x^5$FLgUPcFELBVs(2_D?g78$K$o%#h%>^&*pFtwo zS}`zGZr)ypAa|`i{mhG47I&5Jeeb6T(s*;wA5TV*vgn>_gk<|5<2{G)Dr2aCted{f zt?jb0GKtO$tx8=4;xoN%aSjaQu``NraGeO$b~Lz3`wR@FM}&YLLRt9kyYH2M22;D) zdB}4uRb${`6jjg#g%Dw-VxfATuqIHB0V}Tqhu`P4hsy|%&T-vK-McL)6|%`3c&qGk zjwrl$v29{vaxVM;drhFJHSSNSsQ>`Kq-!fzy6Ri5>k5TaDAkzf2xSWP(t=>G^PBd! zc_Y*}c-c5nLH}%T_2? z;VBICPLS@-Gby6*sG}FW6vhTQ`{<*Oq3;{Yk%y1a4+W%|m7~QBFc?_UR_h3T1$R_P zRAmAEcl>FK>qGU(fZs&9@d@4v-}>e^%i)I}LYXm<_nsi4XM~o01v_y^oOUgdPK(ge z92Lg%{Ek9{vGN2Nw@}$1$L{gR9?zO;IpWj=bHyNxj*Vl*u<)&?SXI2(cIToWpQ$jC z{%Ey#OcXjzvwJrl0l@GEYqPj$nVwD)<6A}nzJqyaTjkyLh>&)f*Zb+IS%m0KIcC%o zZ~h?x;(p_$-^f;&)8K$@(slf;x8BaWKQW>94;tXwOtU?$gTnYGDCWQj-eh;nKmE=h zl`lT~6rNez%Rm>3vKh9TaAF9(OZ=B81?)0>#WY?V2R8N*E&i4ATVH(|nmr0Wum)N_ zd>A{vIQ3$o96IuF`SAD|=0D0Jj{m$j4-ZX{L+7g73xsjz2=JtJ6{Y~yzAGWrz^2SE z==yDr<(r*l4JMtiNKjtZ1N&9IC^nT3vDBY9d6J;Ohe!*}!Dw*o*fEqHKcX}ga?o4_ zbWizEneyl(k1@tiL@DChB`vsxqQk&=*RFy;c-DP<{CF8cF{dD};wW&T&hZ;4x|owH z7~B%1wO((>5l&j!zGG|YhNn@ee+rps1vC07m z_(~J&`sE<{%$$M9n(vyfZW}grsHF*W`O6$;uXh$ApMw&gIU@Z5ybWD9DV7*GT@t;PaA(o_(d{$dN#H6$cCycxTewQ8DSK$!Q2EtI z4wao-M$53CDYHqyH<@{F zA5)*N^2`)ePzy+Lam`O%B+_ab^frAmCEH5bwksw2-m7U#Evd;;r)2v+sqBnxY>Lb~ z+m>cF&ztuV_AR+-f9mje)2`&H1@M<~^xoq6qBZ$lTOc6szbZ6*RvTg+UR9TC3C(5Q zw&$}hsB3U$P4f13ZH|>^_LFkfzO&fR6hs`u)GJ(Tjx3~2JMyG?oTHnp$V;}mRZ~0lu!OPpLPGgUNp|*8Fib!!jUk8 z12B15HZO9f?1giu%5%6l>;5;gaWMN!wHSNJq{ytfXI<^{CC(RjzwhuyqM>#&8BRITPhVHwpre!c!UIViz2x+)a237|clvpyN7B5VE^>?+|cmbNMg-i~pRX zWIiZwzwvh2zkgpCDCt5E#70fH^r2T*UaGG`oo?1uuy^caxMZYS2FqtM;;qHR1=4$; z$rw3Ct9Zd!0v{C!GG3PDrxgNBr=>_dx9uuH9RIrCn|>k)nKo8v(rEdVk@YAwPaqg3 zSXh`HDp{aU>lm*g#sTwe*@T<^$Yz3gAprK{z0gT~f?mEAXcZa+cy+^TaE+SRUiP!W zygU|t^Q3leZPEs{O>L?*cuJe<6Y^Rfu$0RIGPCQmo8l>Z*ttxH(q=R0d_l99xPxZqvhJIDaM^+5tn8nw7b7sqqfw_ z`eN;+0X=<0(!V-aM#i?ntd5j>;9x%jp-hI1n=btZQ=4Cy4i0Fw>SSw_7Hi8<*i!&V z&?5Sv(#QSc2Be$^-xM06Id z0wtN>bHn|}cw4`?C+uW4WlF^1i@ZqG;(64Z?g@Qa=9-hCBNUGFFV! zod`L=ANcB)trcDP=z-wJfLVwljQu*4fdr9+KDp(<_zsR)1f(?2zE{}tH$YKT%TRs@fzqmw)>Bd(Bdomz@34Z`IaI9=SLS-<-5}OyS@6 z?j;sRwq1oLH{hSb|Jl$!`<(vM9+HPPyAOIB3e0!keuu4Cc$ID1ovi{_Q5GolDtx=u z!h9-FBJeQhv@|^@PI{p5-z}{d_5jN|CrIzMBWbvE%HV=fk2e!k@b~s0+0~Mbu z?%5Av<+c&is5sC=t{1v?;>3w43-;hDt^&ig=PKLk=H@-FHKk_FvkVZd!2#))a8TI? zKLT7W+qJ3><^0SnFnHs&c+wnsnJ|GM4*aFbIy zaG~$(xmVtJ?T;Amt@H&Rf%^KphwPfBoP7e)-Lp zehmvX?P3dWS8qqTdgE^S^z20@A!{13SC;hJm7%v8b_(oik~(mZXVG|Z`SMlpfTMDEY>V<}C-}9Abyd12?ie3o3_j{R-~A3_I+fEa z&YU?7&vK{y_{Xo7FC2X`0=^zk1{YSSr$NAuZ6thl?AV8)Wn=Jk97Dz}lvD{`D~+ZP z2Jduiq*2Bjo0`6Za^MEu0GrAlJn}ZO-min6OnEG;w890D0d&qg_gcE^3e+hP69-5V z-qNIzm3&ZXS>6Xqfgt!$aZq|pZ}=& z7wY;P2=*7iFH62-G8l1Hi;zR6RZzmVMC8VG1eKU3c*HEk z^tnT$<)J;>Vb*cI#d_1Tgl3+zuNQGoF_71siv)-y8iCpJMsNl!tL2NZtJmti zea$=G`%j@E(I!lvWVP@0zQO4{HyfFykh#dsPhpablv5W`Up8ftG_IEXv|6vGsCwVD zv3-|^5@E}gIZH7@EEVOoe{6?&(ii$}nNc$MGQWJnbIWhb@^{`PQT}8hSox_oFxkjj z%U^lrvsb502ZKZIBQF2X`K}`?q zTZ?E@kqE|{v=&|wsVS<~nfCBLmu=->r$V@zr*1MmT zRQEucd#y`ZAee9SFoXLK9H7`v7Lz-1Ejx1LF&6e~C$i58!4NNi9FNHG(+;jS<#ea6F1`;_@vNd9x@1Hn8}^ z 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 literal 0 HcmV?d00001 diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/figures/programmer.png b/bsp/gd32/risc-v/gd32vw553h-eval/figures/programmer.png new file mode 100644 index 0000000000000000000000000000000000000000..ad7ba084d1c014bdbb55bd354329851a55ce1ff0 GIT binary patch literal 55778 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%0DR*UM>-{@S9uy0uJm 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 literal 0 HcmV?d00001 diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/openocd_gdlink.cfg b/bsp/gd32/risc-v/gd32vw553h-eval/openocd_gdlink.cfg new file mode 100644 index 00000000000..1791376ba7d --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/openocd_gdlink.cfg @@ -0,0 +1,42 @@ +# +# GigaDevice GD32VW55x target +# +adapter driver cmsis-dap + +adapter speed 8000000 +reset_config trst_only +adapter srst pulse_width 100 + +transport select jtag + +set _CHIPNAME riscv +jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10307a6d + +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME riscv -chain-position $_TARGETNAME +$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size 20480 -work-area-backup 0 + + +# Work-area is a space in RAM used for flash programming +if { [info exists WORKAREASIZE] } { + set _WORKAREASIZE $WORKAREASIZE +} else { + set _WORKAREASIZE 0x5000 +} + +# Allow overriding the Flash bank size +if { [info exists FLASH_SIZE] } { + set _FLASH_SIZE $FLASH_SIZE +} else { + # autodetect size + set _FLASH_SIZE 0 +} + +# flash size will be probed +set _FLASHNAME $_CHIPNAME.flash + +flash bank $_FLASHNAME gd32vw55x 0x08000000 0x400000 0 0 $_TARGETNAME +riscv set_reset_timeout_sec 1 +init + +halt diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.h b/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.h new file mode 100644 index 00000000000..d84ae18f2ef --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.h @@ -0,0 +1,417 @@ +#ifndef RT_CONFIG_H__ +#define RT_CONFIG_H__ + +/* RT-Thread Kernel */ + +/* klibc options */ + +/* rt_vsnprintf options */ + +/* end of rt_vsnprintf options */ + +/* rt_vsscanf options */ + +/* end of rt_vsscanf options */ + +/* rt_memset options */ + +/* end of rt_memset options */ + +/* rt_memcpy options */ + +/* end of rt_memcpy options */ + +/* rt_memmove options */ + +/* end of rt_memmove options */ + +/* rt_memcmp options */ + +/* end of rt_memcmp options */ + +/* rt_strstr options */ + +/* end of rt_strstr options */ + +/* rt_strcasecmp options */ + +/* end of rt_strcasecmp options */ + +/* rt_strncpy options */ + +/* end of rt_strncpy options */ + +/* rt_strcpy options */ + +/* end of rt_strcpy options */ + +/* rt_strncmp options */ + +/* end of rt_strncmp options */ + +/* rt_strcmp options */ + +/* end of rt_strcmp options */ + +/* rt_strlen options */ + +/* end of rt_strlen options */ + +/* rt_strnlen options */ + +/* end of rt_strnlen options */ +/* end of klibc options */ +#define RT_NAME_MAX 8 +#define RT_CPUS_NR 1 +#define RT_ALIGN_SIZE 8 +#define RT_THREAD_PRIORITY_32 +#define RT_THREAD_PRIORITY_MAX 32 +#define RT_TICK_PER_SECOND 1000 +#define RT_USING_OVERFLOW_CHECK +#define RT_USING_HOOK +#define RT_HOOK_USING_FUNC_PTR +#define RT_USING_IDLE_HOOK +#define RT_IDLE_HOOK_LIST_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 1024 +#define RT_USING_TIMER_SOFT +#define RT_TIMER_THREAD_PRIO 4 +#define RT_TIMER_THREAD_STACK_SIZE 1024 + +/* kservice options */ + +/* end of kservice options */ + +/* Inter-Thread communication */ + +#define RT_USING_SEMAPHORE +#define RT_USING_MUTEX +#define RT_USING_EVENT +#define RT_USING_MAILBOX +#define RT_USING_MESSAGEQUEUE +/* end of Inter-Thread communication */ + +/* Memory Management */ + +#define RT_USING_MEMPOOL +#define RT_USING_SMALL_MEM +#define RT_USING_SMALL_MEM_AS_HEAP +#define RT_USING_HEAP +/* end of Memory Management */ +#define RT_USING_DEVICE +#define RT_USING_CONSOLE +#define RT_CONSOLEBUF_SIZE 128 +#define RT_CONSOLE_DEVICE_NAME "uart0" +#define RT_VER_NUM 0x50201 +#define RT_BACKTRACE_LEVEL_MAX_NR 32 +/* end of RT-Thread Kernel */ +#define RT_USING_HW_ATOMIC + +/* RT-Thread Components */ + +#define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 4096 +#define RT_MAIN_THREAD_PRIORITY 10 +#define RT_USING_MSH +#define RT_USING_FINSH +#define FINSH_USING_MSH +#define FINSH_THREAD_NAME "tshell" +#define FINSH_THREAD_PRIORITY 20 +#define FINSH_THREAD_STACK_SIZE 4096 +#define FINSH_USING_HISTORY +#define FINSH_HISTORY_LINES 5 +#define FINSH_USING_SYMTAB +#define FINSH_CMD_SIZE 80 +#define MSH_USING_BUILT_IN_COMMANDS +#define FINSH_USING_DESCRIPTION +#define FINSH_ARG_MAX 10 +#define FINSH_USING_OPTION_COMPLETION + +/* DFS: device virtual file system */ + +/* end of DFS: device virtual file system */ + +/* Device Drivers */ + +#define RT_USING_DEVICE_IPC +#define RT_UNAMED_PIPE_NUMBER 64 +#define RT_USING_SERIAL +#define RT_USING_SERIAL_V1 +#define RT_SERIAL_USING_DMA +#define RT_SERIAL_RB_BUFSZ 64 +#define RT_USING_PIN +/* end of Device Drivers */ + +/* C/C++ and POSIX layer */ + +/* ISO-ANSI C layer */ + +/* Timezone and Daylight Saving Time */ + +#define RT_LIBC_USING_LIGHT_TZ_DST +#define RT_LIBC_TZ_DEFAULT_HOUR 8 +#define RT_LIBC_TZ_DEFAULT_MIN 0 +#define RT_LIBC_TZ_DEFAULT_SEC 0 +/* end of Timezone and Daylight Saving Time */ +/* end of ISO-ANSI C layer */ + +/* POSIX (Portable Operating System Interface) layer */ + + +/* Interprocess Communication (IPC) */ + + +/* Socket is in the 'Network' category */ + +/* end of Interprocess Communication (IPC) */ +/* end of POSIX (Portable Operating System Interface) layer */ +/* end of C/C++ and POSIX layer */ + +/* Network */ + +/* end of Network */ + +/* Memory protection */ + +/* end of Memory protection */ + +/* Utilities */ + +/* end of Utilities */ + +/* Using USB legacy version */ + +/* end of Using USB legacy version */ +/* end of RT-Thread Components */ + +/* RT-Thread Utestcases */ + +/* end of RT-Thread Utestcases */ + +/* RT-Thread online packages */ + +/* IoT - internet of things */ + + +/* Wi-Fi */ + +/* Marvell WiFi */ + +/* end of Marvell WiFi */ + +/* Wiced WiFi */ + +/* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ +/* end of Wi-Fi */ + +/* IoT Cloud */ + +/* end of IoT Cloud */ +/* end of IoT - internet of things */ + +/* security packages */ + +/* end of security packages */ + +/* language packages */ + +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + +/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */ + +/* XML: Extensible Markup Language */ + +/* end of XML: Extensible Markup Language */ +/* end of language packages */ + +/* multimedia packages */ + +/* LVGL: powerful and easy-to-use embedded GUI library */ + +/* end of LVGL: powerful and easy-to-use embedded GUI library */ + +/* u8g2: a monochrome graphic library */ + +/* end of u8g2: a monochrome graphic library */ +/* end of multimedia packages */ + +/* tools packages */ + +/* end of tools packages */ + +/* system packages */ + +/* enhanced kernel services */ + +/* end of enhanced kernel services */ + +/* acceleration: Assembly language or algorithmic acceleration packages */ + +/* end of acceleration: Assembly language or algorithmic acceleration packages */ + +/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ + +/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ + +/* Micrium: Micrium software products porting for RT-Thread */ + +/* end of Micrium: Micrium software products porting for RT-Thread */ +/* end of system packages */ + +/* peripheral libraries and drivers */ + +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Infineon HAL Packages */ + +/* end of Infineon HAL Packages */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ + +/* WCH HAL & SDK Drivers */ + +/* end of WCH HAL & SDK Drivers */ + +/* AT32 HAL & SDK Drivers */ + +/* end of AT32 HAL & SDK Drivers */ + +/* HC32 DDL Drivers */ + +/* end of HC32 DDL Drivers */ + +/* NXP HAL & SDK Drivers */ + +/* end of NXP HAL & SDK Drivers */ + +/* NUVOTON Drivers */ + +/* end of NUVOTON Drivers */ + +/* GD32 Drivers */ + +#define PKG_USING_GD32_RISCV_SERIES_DRIVER +#define PKG_USING_GD32_RISCV_SERIES_DRIVER_LATEST_VERSION +/* end of GD32 Drivers */ + +/* HPMicro SDK */ + +/* end of HPMicro SDK */ +/* end of HAL & SDK Drivers */ + +/* sensors drivers */ + +/* end of sensors drivers */ + +/* touch drivers */ + +/* end of touch drivers */ +/* end of peripheral libraries and drivers */ + +/* AI packages */ + +/* end of AI packages */ + +/* Signal Processing and Control Algorithm Packages */ + +/* end of Signal Processing and Control Algorithm Packages */ + +/* miscellaneous packages */ + +/* project laboratory */ + +/* end of project laboratory */ + +/* samples: kernel and components samples */ + +/* end of samples: kernel and components samples */ + +/* entertainment: terminal games and other interesting software packages */ + +/* end of entertainment: terminal games and other interesting software packages */ +/* end of miscellaneous packages */ + +/* Arduino libraries */ + + +/* Projects and Demos */ + +/* end of Projects and Demos */ + +/* Sensors */ + +/* end of Sensors */ + +/* Display */ + +/* end of Display */ + +/* Timing */ + +/* end of Timing */ + +/* Data Processing */ + +/* end of Data Processing */ + +/* Data Storage */ + +/* Communication */ + +/* end of Communication */ + +/* Device Control */ + +/* end of Device Control */ + +/* Other */ + +/* end of Other */ + +/* Signal IO */ + +/* end of Signal IO */ + +/* Uncategorized */ + +/* end of Arduino libraries */ +/* end of RT-Thread online packages */ +#define SOC_FAMILY_GD32 +#define SOC_GD32VW553H + +/* Hardware Drivers Config */ + +#define SOC_SERIES_GD32VW55x + +/* Onboard Peripheral Drivers */ + +/* On-chip Peripheral Drivers */ + +#define BSP_USING_GPIO +#define BSP_USING_UART +#define BSP_USING_UART0 +/* end of On-chip Peripheral Drivers */ + +/* Board extended module Drivers */ + +/* end of Hardware Drivers Config */ + +#endif diff --git a/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py b/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py new file mode 100644 index 00000000000..79d8de523e7 --- /dev/null +++ b/bsp/gd32/risc-v/gd32vw553h-eval/rtconfig.py @@ -0,0 +1,73 @@ +import os + +# toolchains options +ARCH='risc-v' +CPU='bumblebee' +CROSS_TOOL='gcc' + +# bsp lib config +BSP_LIBRARY_TYPE = None + +if os.getenv('RTT_CC'): + CROSS_TOOL = os.getenv('RTT_CC') +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') + +# cross_tool provides the cross compiler +# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR +if CROSS_TOOL == 'gcc': + PLATFORM = 'gcc' + EXEC_PATH = r'C:/Program Files (x86)/GNU Tools RISC-V Embedded/8 2019.08-2/bin' +else: + print('Please make sure your toolchains is GNU GCC!') + exit(0) + +if os.getenv('RTT_EXEC_PATH'): + EXEC_PATH = os.getenv('RTT_EXEC_PATH') + +CORE = 'risc-v' +BUILD = 'debug' +MAP_FILE = 'rtthread.map' +LINK_FILE = './board/linker_scripts/link.lds' + +if PLATFORM == 'gcc': + # toolchains + PREFIX = 'riscv-none-embed-' + CC = PREFIX + 'gcc' + AS = PREFIX + 'gcc' + AR = PREFIX + 'ar' + CXX = PREFIX + 'g++' + LINK = PREFIX + 'gcc' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = ' -march=rv32imafdc -mcmodel=medany -msmall-data-limit=8 -mdiv -mabi=ilp32d -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections ' + + # C Compilation Parameters + CFLAGS = DEVICE + ' -std=gnu11 -DUSE_STDPERIPH_DRIVE -save-temps=obj' + # Assembly Compilation Parameters + AFLAGS = DEVICE + '-c'+ ' -x assembler-with-cpp' + # Linking Parameters + LFLAGS = DEVICE + ' -nostartfiles -Xlinker --gc-sections --specs=nano.specs --specs=nosys.specs ' + ' -T ' + LINK_FILE + ' -Wl,-Map=' + MAP_FILE + + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O0 -g3' + AFLAGS += ' -g3' + else: + CFLAGS += ' -O2' + + CXXFLAGS = CFLAGS + + POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' + +def dist_handle(BSP_ROOT, dist_dir): + import sys + cwd_path = os.getcwd() + sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools')) + from sdk_dist import dist_do_building + dist_do_building(BSP_ROOT, dist_dir) diff --git a/bsp/gd32/risc-v/libraries/Kconfig b/bsp/gd32/risc-v/libraries/Kconfig index 682e10d342f..ac4edcc7a68 100644 --- a/bsp/gd32/risc-v/libraries/Kconfig +++ b/bsp/gd32/risc-v/libraries/Kconfig @@ -7,3 +7,9 @@ config SOC_GD32VF103V select SOC_FAMILY_GD32 select RT_USING_HW_ATOMIC +config SOC_GD32VW553H + bool + select SOC_SERIES_GD32VW + select SOC_FAMILY_GD32 + select RT_USING_HW_ATOMIC + diff --git a/bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.c b/bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.c index 8d3df301d42..ade2d7b405b 100644 --- a/bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.c +++ b/bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2022, RT-Thread Development Team + * Copyright (c) 2006-2025, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -183,7 +183,17 @@ const struct pin_index *get_pin(rt_uint8_t pin) static void gd32_pin_mode(rt_device_t dev, rt_base_t pin, rt_uint8_t mode) { const struct pin_index *index = RT_NULL; - rt_uint32_t pin_mode = 0; + +#if defined(SOC_SERIES_GD32VF103V) + rt_uint32_t pin_mode = GPIO_MODE_OUT_PP; +#elif defined(SOC_SERIES_GD32VW55x) + rt_uint32_t pin_mode = GPIO_MODE_OUTPUT; + rt_uint32_t pin_pull_up_down = GPIO_PUPD_NONE; + rt_uint32_t pin_otype = GPIO_OTYPE_PP; + rt_uint32_t pin_speed = GPIO_OSPEED_25MHZ; +#else +#error "not support soc" +#endif index = get_pin(pin); if (index == RT_NULL) @@ -194,35 +204,74 @@ static void gd32_pin_mode(rt_device_t dev, rt_base_t pin, rt_uint8_t mode) /* GPIO Periph clock enable */ rcu_periph_clock_enable(index->clk); - pin_mode = GPIO_MODE_OUT_PP; - switch(mode) { case PIN_MODE_OUTPUT: /* output setting */ +#if defined(SOC_SERIES_GD32VF103V) pin_mode = GPIO_MODE_OUT_PP; +#elif defined(SOC_SERIES_GD32VW55x) + pin_mode = GPIO_MODE_OUTPUT; +#else +#error "not support soc" +#endif break; case PIN_MODE_OUTPUT_OD: /* output setting: od. */ +#if defined(SOC_SERIES_GD32VF103V) pin_mode = GPIO_MODE_OUT_OD; +#elif defined(SOC_SERIES_GD32VW55x) + pin_otype = GPIO_OTYPE_OD; +#else +#error "not support soc" +#endif break; case PIN_MODE_INPUT: /* input setting: not pull. */ +#if defined(SOC_SERIES_GD32VF103V) pin_mode = GPIO_MODE_IN_FLOATING; +#elif defined(SOC_SERIES_GD32VW55x) + pin_mode = GPIO_MODE_INPUT; +#else +#error "not support soc" +#endif break; case PIN_MODE_INPUT_PULLUP: /* input setting: pull up. */ +#if defined(SOC_SERIES_GD32VF103V) pin_mode = GPIO_MODE_IPU; +#elif defined(SOC_SERIES_GD32VW55x) + pin_mode = GPIO_MODE_INPUT; + pin_pull_up_down = GPIO_PUPD_PULLUP; +#else +#error "not support soc" +#endif break; case PIN_MODE_INPUT_PULLDOWN: /* input setting: pull down. */ +#if defined(SOC_SERIES_GD32VF103V) pin_mode = GPIO_MODE_IPD; +#elif defined(SOC_SERIES_GD32VW55x) + pin_mode = GPIO_MODE_INPUT; + pin_pull_up_down = GPIO_PUPD_PULLDOWN; +#else +#error "not support soc" +#endif break; default: break; } +#if defined(SOC_SERIES_GD32VF103V) gpio_init(index->gpio_periph, pin_mode, GPIO_OSPEED_50MHZ, index->pin); +#elif defined(SOC_SERIES_GD32VW55x) + gpio_mode_set(index->gpio_periph, pin_mode, pin_pull_up_down, index->pin); + gpio_output_options_set(index->gpio_periph, pin_otype, pin_speed, index->pin); +#else +#error "not support soc" +#endif /* SOC_SERIES_GD32VW55x */ + + } /** @@ -329,6 +378,7 @@ static rt_err_t gd32_pin_attach_irq(struct rt_device *device, rt_base_t pin, rt_hw_interrupt_enable(level); return RT_EOK; } + if (pin_irq_hdr_tab[hdr_index].pin != -1) { rt_hw_interrupt_enable(level); @@ -433,14 +483,22 @@ static rt_err_t gd32_pin_irq_enable(struct rt_device *device, rt_base_t pin, rt_ return -RT_EINVAL; } +#if defined(SOC_SERIES_GD32VF103V) rcu_periph_clock_enable(RCU_AF); - +#elif defined(SOC_SERIES_GD32VW55x) + rcu_periph_clock_enable(RCU_SYSCFG); +#else +#endif /* enable and set interrupt priority */ eclic_irq_enable(irqmap->irqno, 5U, 0U); /* connect EXTI line to GPIO pin */ +#if defined(SOC_SERIES_GD32VF103V) gpio_exti_source_select(index->port_src, index->pin_src); - +#elif defined(SOC_SERIES_GD32VW55x) + syscfg_exti_line_config(index->port_src, index->pin_src); +#else +#endif /* configure EXTI line */ exti_init((exti_line_enum)(index->pin), EXTI_INTERRUPT, trigger_mode); exti_interrupt_flag_clear((exti_line_enum)(index->pin)); @@ -572,3 +630,4 @@ int rt_hw_pin_init(void) INIT_BOARD_EXPORT(rt_hw_pin_init); #endif + diff --git a/bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.h b/bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.h index 3bfc37b3638..d415309a950 100644 --- a/bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.h +++ b/bsp/gd32/risc-v/libraries/gd32_drivers/drv_gpio.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2022, RT-Thread Development Team + * Copyright (c) 2006-2025, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -21,15 +21,27 @@ extern "C" { #if defined SOC_SERIES_GD32VF103V #include "gd32vf103_gpio.h" +#elif defined SOC_SERIES_GD32VW55x +#include "gd32vw55x_gpio.h" +#else +#error "not support soc" #endif #define __GD32_PORT(port) GPIO##port - +#if defined SOC_SERIES_GD32VF103V #define GD32_PIN(index, port, pin) {index, RCU_GPIO##port, \ GPIO##port, GPIO_PIN_##pin, \ GPIO_PORT_SOURCE_GPIO##port, \ GPIO_PIN_SOURCE_##pin} +#elif defined SOC_SERIES_GD32VW55x +#define GD32_PIN(index, port, pin) {index, RCU_GPIO##port, \ + GPIO##port, GPIO_PIN_##pin, \ + EXTI_SOURCE_GPIO##port, \ + EXTI_SOURCE_PIN##pin} +#else +#endif + #define GD32_PIN_DEFAULT {-1, (rcu_periph_enum)0, 0, 0, 0, 0} diff --git a/bsp/gd32/risc-v/libraries/gd32_drivers/drv_usart.c b/bsp/gd32/risc-v/libraries/gd32_drivers/drv_usart.c index 328770af418..2b3f8881d15 100644 --- a/bsp/gd32/risc-v/libraries/gd32_drivers/drv_usart.c +++ b/bsp/gd32/risc-v/libraries/gd32_drivers/drv_usart.c @@ -1,11 +1,12 @@ /* - * Copyright (c) 2006-2022, RT-Thread Development Team + * Copyright (c) 2006-2025, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2021-08-20 BruceOu first implementation + * 2025-07-11 Wangshun adapt to GD32VV553H */ #include "drv_usart.h" @@ -155,11 +156,11 @@ void UART7_IRQHandler(void) static const struct gd32_uart uart_obj[] = { #ifdef BSP_USING_UART0 { - USART0, // uart peripheral index - USART0_IRQn, // uart iqrn - RCU_USART0, RCU_GPIOA, RCU_GPIOA, // periph clock, tx gpio clock, rt gpio clock - GPIOA, GPIO_PIN_9, // tx port, tx pin - GPIOA, GPIO_PIN_10, // rx port, rx pin + USART0, /* uart peripheral index */ + USART0_IRQn, /* uart iqrn */ + RCU_USART0, RCU_GPIOB, RCU_GPIOA, /* periph clock, tx gpio clock, rt gpio clock */ + GPIOB, GPIO_PIN_15, /* tx port, tx pin */ + GPIOA, GPIO_PIN_8, /* rx port, rx pin */ &serial0, "uart0", }, @@ -167,11 +168,11 @@ static const struct gd32_uart uart_obj[] = { #ifdef BSP_USING_UART1 { - USART1, // uart peripheral index - USART1_IRQn, // uart iqrn - RCU_USART1, RCU_GPIOA, RCU_GPIOA, // periph clock, tx gpio clock, rt gpio clock - GPIOA, GPIO_PIN_2, // tx port, tx pin - GPIOA, GPIO_PIN_3, // rx port, rx pin + USART1, /* uart peripheral index */ + USART1_IRQn, /* uart iqrn */ + RCU_USART1, RCU_GPIOA, RCU_GPIOA, /* periph clock, tx gpio clock, rt gpio clock */ + GPIOA, GPIO_PIN_2, /* tx port, tx pin */ + GPIOA, GPIO_PIN_3, /* rx port, rx pin */ &serial1, "uart1", }, @@ -179,11 +180,11 @@ static const struct gd32_uart uart_obj[] = { #ifdef BSP_USING_UART2 { - USART2, // uart peripheral index - USART2_IRQn, // uart iqrn - RCU_USART2, RCU_GPIOB, RCU_GPIOB, // periph clock, tx gpio clock, rt gpio clock - GPIOB, GPIO_PIN_10, // tx port, tx pin - GPIOB, GPIO_PIN_11, // rx port, rx pin + USART2, /* uart peripheral index */ + USART2_IRQn, /* uart iqrn */ + RCU_USART2, RCU_GPIOB, RCU_GPIOB, /* periph clock, tx gpio clock, rt gpio clock */ + GPIOB, GPIO_PIN_10, /* tx port, tx pin */ + GPIOB, GPIO_PIN_11, /* rx port, rx pin */ &serial2, "uart2", }, @@ -191,11 +192,11 @@ static const struct gd32_uart uart_obj[] = { #ifdef BSP_USING_UART3 { - UART3, // uart peripheral index - UART3_IRQn, // uart iqrn - RCU_UART3, RCU_GPIOC, RCU_GPIOC, // periph clock, tx gpio clock, rt gpio clock - GPIOC, GPIO_PIN_10, // tx port, tx pin - GPIOC, GPIO_PIN_11, // rx port, rx pin + UART3, /* uart peripheral index */ + UART3_IRQn, /* uart iqrn */ + RCU_UART3, RCU_GPIOC, RCU_GPIOC, /* periph clock, tx gpio clock, rt gpio clock */ + GPIOC, GPIO_PIN_10, /* tx port, tx pin */ + GPIOC, GPIO_PIN_11, /* rx port, rx pin */ &serial3, "uart3", }, @@ -203,11 +204,11 @@ static const struct gd32_uart uart_obj[] = { #ifdef BSP_USING_UART4 { - UART4, // uart peripheral index - UART4_IRQn, // uart iqrn - RCU_UART4, RCU_GPIOC, RCU_GPIOD, // periph clock, tx gpio clock, rt gpio clock - GPIOC, GPIO_PIN_12, // tx port, tx pin - GPIOD, GPIO_PIN_2, // rx port, rx pin + UART4, /* uart peripheral index */ + UART4_IRQn, /* uart iqrn */ + RCU_UART4, RCU_GPIOC, RCU_GPIOD, /* periph clock, tx gpio clock, rt gpio clock */ + GPIOC, GPIO_PIN_12, /* tx port, tx pin */ + GPIOD, GPIO_PIN_2, /* rx port, rx pin */ &serial4, "uart4", }, @@ -231,11 +232,19 @@ void gd32_uart_gpio_init(struct gd32_uart *uart) rcu_periph_clock_enable(uart->rx_gpio_clk); rcu_periph_clock_enable(uart->per_clk); - /* connect port to USARTx_Tx */ + /* connect port */ +#if defined SOC_SERIES_GD32VF103V gpio_init(uart->tx_port, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, uart->tx_pin); - - /* connect port to USARTx_Rx */ gpio_init(uart->rx_port, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, uart->rx_pin); +#else + gpio_af_set(uart->tx_port, GPIO_AF_8, uart->tx_pin); + gpio_mode_set(uart->tx_port, GPIO_MODE_AF, GPIO_PUPD_PULLUP, uart->tx_pin); + gpio_output_options_set(uart->tx_port, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, uart->tx_pin); + + gpio_af_set(uart->rx_port, GPIO_AF_2, uart->rx_pin); + gpio_mode_set(uart->rx_port, GPIO_MODE_AF, GPIO_PUPD_PULLUP, uart->rx_pin); + gpio_output_options_set(uart->rx_port, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, uart->rx_pin); +#endif } /** @@ -319,7 +328,9 @@ static rt_err_t gd32_uart_control(struct rt_serial_device *serial, int cmd, void break; case RT_DEVICE_CTRL_SET_INT: +#ifdef SOC_SERIES_GD32VF103V eclic_set_nlbits(ECLIC_GROUP_LEVEL3_PRIO1); +#endif /* SOC_SERIES_GD32VF103V */ /* enable rx irq */ eclic_irq_enable(uart->irqn, 1, 0); /* enable interrupt */ @@ -442,7 +453,5 @@ int rt_hw_usart_init(void) return result; } - -//INIT_BOARD_EXPORT(rt_hw_usart_init); - #endif + diff --git a/bsp/gd32/risc-v/libraries/gd32_drivers/drv_usart.h b/bsp/gd32/risc-v/libraries/gd32_drivers/drv_usart.h index 5c5c1af2ad9..6a6f75697e6 100644 --- a/bsp/gd32/risc-v/libraries/gd32_drivers/drv_usart.h +++ b/bsp/gd32/risc-v/libraries/gd32_drivers/drv_usart.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2022, RT-Thread Development Team + * Copyright (c) 2006-2025, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -20,18 +20,18 @@ extern "C" { #endif /* GD32 uart driver */ -// Todo: compress uart info +/* Todo: compress uart info */ struct gd32_uart { - uint32_t uart_periph; //Todo: 3bits - IRQn_Type irqn; //Todo: 7bits - rcu_periph_enum per_clk; //Todo: 5bits - rcu_periph_enum tx_gpio_clk; //Todo: 5bits - rcu_periph_enum rx_gpio_clk; //Todo: 5bits - uint32_t tx_port; //Todo: 4bits - uint16_t tx_pin; //Todo: 4bits - uint32_t rx_port; //Todo: 4bits - uint16_t rx_pin; //Todo: 4bits + uint32_t uart_periph; /* Todo: 3bits */ + IRQn_Type irqn; /* Todo: 7bits */ + rcu_periph_enum per_clk; /* Todo: 5bits */ + rcu_periph_enum tx_gpio_clk; /* Todo: 5bits */ + rcu_periph_enum rx_gpio_clk; /* Todo: 5bits */ + uint32_t tx_port; /* Todo: 4bits */ + uint16_t tx_pin; /* Todo: 4bits */ + uint32_t rx_port; /* Todo: 4bits */ + uint16_t rx_pin; /* Todo: 4bits */ struct rt_serial_device * serial; char *device_name; }; @@ -43,3 +43,4 @@ int rt_hw_usart_init(void); #endif #endif /* __DRV_USART_H__ */ + From 294216b76824f9d0910e8673bfa297c4ea8b1a99 Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Fri, 12 Dec 2025 15:58:12 +0800 Subject: [PATCH 16/20] [dm][graphic] support dm mode 1. Add backlight framework for graphic. 2. Add framebuffer and plane, power, EDID for graphic framework 3. Add boot logo render for graphic 4. Update lcd.h Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/graphic/Kconfig | 13 +- components/drivers/graphic/SConscript | 23 + components/drivers/graphic/backlight/Kconfig | 7 + .../drivers/graphic/backlight/SConscript | 14 + .../drivers/graphic/backlight/backlight.c | 231 +++ .../drivers/graphic/framebuffer/Kconfig | 8 + .../drivers/graphic/framebuffer/SConscript | 16 + components/drivers/graphic/graphic.c | 1495 +++++++++++++++++ components/drivers/graphic/graphic_primary.c | 381 +++++ components/drivers/graphic/graphic_simple.c | 295 ++++ components/drivers/graphic/logo/.gitignore | 1 + components/drivers/graphic/logo/Kconfig | 31 + components/drivers/graphic/logo/SConscript | 84 + components/drivers/graphic/logo/logo.c | 216 +++ components/drivers/graphic/logo/logo.html | 243 +++ components/drivers/include/drivers/graphic.h | 367 ++++ components/drivers/include/drivers/lcd.h | 33 + examples/test/dm_graphic_test.c | 310 ++++ examples/test/dm_hmi_test.c | 421 +++++ 19 files changed, 4188 insertions(+), 1 deletion(-) create mode 100644 components/drivers/graphic/SConscript create mode 100644 components/drivers/graphic/backlight/Kconfig create mode 100644 components/drivers/graphic/backlight/SConscript create mode 100644 components/drivers/graphic/backlight/backlight.c create mode 100644 components/drivers/graphic/framebuffer/Kconfig create mode 100644 components/drivers/graphic/framebuffer/SConscript create mode 100644 components/drivers/graphic/graphic.c create mode 100644 components/drivers/graphic/graphic_primary.c create mode 100644 components/drivers/graphic/graphic_simple.c create mode 100644 components/drivers/graphic/logo/.gitignore create mode 100644 components/drivers/graphic/logo/Kconfig create mode 100644 components/drivers/graphic/logo/SConscript create mode 100644 components/drivers/graphic/logo/logo.c create mode 100644 components/drivers/graphic/logo/logo.html create mode 100644 components/drivers/include/drivers/graphic.h create mode 100644 examples/test/dm_graphic_test.c create mode 100644 examples/test/dm_hmi_test.c diff --git a/components/drivers/graphic/Kconfig b/components/drivers/graphic/Kconfig index 5ce0835743e..768d594a998 100644 --- a/components/drivers/graphic/Kconfig +++ b/components/drivers/graphic/Kconfig @@ -1,3 +1,14 @@ config RT_USING_LCD - bool "Using LCD graphic drivers" + bool "Using LCD graphic drivers" if !RT_USING_DM default n + +menuconfig RT_USING_GRAPHIC + bool "Using Graphics device drivers" + depends on RT_USING_DM + default n + +if RT_USING_GRAPHIC + rsource "backlight/Kconfig" + rsource "framebuffer/Kconfig" + rsource "logo/Kconfig" +endif diff --git a/components/drivers/graphic/SConscript b/components/drivers/graphic/SConscript new file mode 100644 index 00000000000..300b71afd77 --- /dev/null +++ b/components/drivers/graphic/SConscript @@ -0,0 +1,23 @@ +from building import * + +group = [] +objs = [] + +if not GetDepend(['RT_USING_GRAPHIC']): + Return('group') + +cwd = GetCurrentDir() +list = os.listdir(cwd) +CPPPATH = [cwd + '/../include'] + +src = ['graphic.c', 'graphic_primary.c', 'graphic_simple.c'] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) +objs = objs + group + +Return('objs') diff --git a/components/drivers/graphic/backlight/Kconfig b/components/drivers/graphic/backlight/Kconfig new file mode 100644 index 00000000000..1951e0c05ac --- /dev/null +++ b/components/drivers/graphic/backlight/Kconfig @@ -0,0 +1,7 @@ +menuconfig RT_GRAPHIC_BACKLIGHT + bool "Backlight support" + default n + +if RT_GRAPHIC_BACKLIGHT + osource "$(SOC_DM_GRAPHIC_BACKLIGHT_DIR)/Kconfig" +endif diff --git a/components/drivers/graphic/backlight/SConscript b/components/drivers/graphic/backlight/SConscript new file mode 100644 index 00000000000..6e29db51b3f --- /dev/null +++ b/components/drivers/graphic/backlight/SConscript @@ -0,0 +1,14 @@ +from building import * + +group = [] + +if not GetDepend(['RT_GRAPHIC_BACKLIGHT']): + Return('group') + +cwd = GetCurrentDir() +CPPPATH = [cwd + '/../../include'] + +src = ['backlight.c'] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) +Return('group') diff --git a/components/drivers/graphic/backlight/backlight.c b/components/drivers/graphic/backlight/backlight.c new file mode 100644 index 00000000000..dce54b112b6 --- /dev/null +++ b/components/drivers/graphic/backlight/backlight.c @@ -0,0 +1,231 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include + +#define DBG_TAG "rtdm.backlight" +#define DBG_LVL DBG_INFO +#include + +#include +#include +#include + +static struct rt_dm_ida backlight_ida = RT_DM_IDA_INIT(GRAPHIC_BACKLIGHT); + +static rt_ssize_t _backlight_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size) +{ + rt_ssize_t res; + int brightness_len; + rt_uint32_t brightness; + char string[sizeof("4294967295")]; + struct rt_backlight_device *bl = rt_container_of(dev, struct rt_backlight_device, parent); + + if ((res = rt_backlight_get_brightness(bl, &brightness))) + { + return res; + } + + brightness_len = rt_sprintf(string, "%u", brightness); + + if (pos < brightness_len) + { + size = rt_min_t(rt_size_t, size, brightness_len - pos); + rt_strncpy(buffer, &string[pos], size); + + return size; + } + else + { + return 0; + } +} + +static rt_ssize_t _backlight_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size) +{ + rt_ssize_t res; + rt_uint32_t brightness = atoi(buffer); + struct rt_backlight_device *bl = rt_container_of(dev, struct rt_backlight_device, parent); + + if (brightness > bl->props.max_brightness) + { + LOG_D("%s: brightness(%u) > max_brightness(%u)", + rt_dm_dev_get_name(dev), brightness, bl->props.max_brightness); + + return -RT_EINVAL; + } + + if ((res = rt_backlight_set_brightness(bl, brightness))) + { + return res; + } + + LOG_D("%s: brightness to %u", rt_dm_dev_get_name(dev), brightness); + + return size; +} + +#ifdef RT_USING_DEVICE_OPS +const static struct rt_device_ops _backlight_ops = +{ + .read = _backlight_read, + .write = _backlight_write, +}; +#endif + +rt_err_t rt_backlight_register(struct rt_backlight_device *bl) +{ + rt_err_t err; + int device_id; + const char *dev_name; + + if (!bl || !bl->ops) + { + return -RT_EINVAL; + } + + if ((device_id = rt_dm_ida_alloc(&backlight_ida)) < 0) + { + return -RT_EFULL; + } + + rt_dm_dev_set_name(&bl->parent, "backlight%u", device_id); + dev_name = rt_dm_dev_get_name(&bl->parent); + + rt_mutex_init(&bl->lock, dev_name, RT_IPC_FLAG_PRIO); + + bl->parent.type = RT_Device_Class_Char; +#ifdef RT_USING_DEVICE_OPS + bl->parent.ops = &_backlight_ops; +#else + bl->parent.read = _backlight_read; + bl->parent.write = _backlight_write; +#endif + bl->parent.master_id = backlight_ida.master_id; + bl->parent.device_id = device_id; + + if ((err = rt_device_register(&bl->parent, dev_name, RT_DEVICE_FLAG_RDWR))) + { + rt_dm_ida_free(&backlight_ida, device_id); + + return err; + } + + return RT_EOK; +} + +rt_err_t rt_backlight_unregister(struct rt_backlight_device *bl) +{ + if (!bl) + { + return -RT_EINVAL; + } + + rt_backlight_set_power(bl, RT_BACKLIGHT_POWER_POWERDOWN); + + rt_dm_ida_free(&backlight_ida, bl->parent.device_id); + + rt_device_unregister(&bl->parent); + + return RT_EOK; +} + +rt_err_t rt_backlight_set_power(struct rt_backlight_device *bl, enum rt_backlight_power power) +{ + rt_err_t err; + enum rt_backlight_power old_power; + + if (!bl || power >= RT_BACKLIGHT_POWER_NR) + { + return -RT_EINVAL; + } + + rt_mutex_take(&bl->lock, RT_WAITING_FOREVER); + + old_power = bl->props.power; + bl->props.power = power; + + if ((err = bl->ops->update_status(bl))) + { + bl->props.power = old_power; + } + + rt_mutex_release(&bl->lock); + + return err; +} + +rt_err_t rt_backlight_get_power(struct rt_backlight_device *bl, enum rt_backlight_power *out_power) +{ + if (!bl || !out_power) + { + return -RT_EINVAL; + } + + rt_mutex_take(&bl->lock, RT_WAITING_FOREVER); + + *out_power = bl->props.power; + + rt_mutex_release(&bl->lock); + + return RT_EOK; +} + +rt_err_t rt_backlight_set_brightness(struct rt_backlight_device *bl, rt_uint32_t brightness) +{ + rt_err_t err; + rt_uint32_t old_brightness; + + if (!bl || brightness > bl->props.max_brightness) + { + return -RT_EINVAL; + } + + rt_mutex_take(&bl->lock, RT_WAITING_FOREVER); + + old_brightness = bl->props.brightness; + bl->props.brightness = brightness; + + if ((err = bl->ops->update_status(bl))) + { + bl->props.brightness = old_brightness; + } + + rt_mutex_release(&bl->lock); + + return err; +} + +rt_err_t rt_backlight_get_brightness(struct rt_backlight_device *bl, rt_uint32_t *out_brightness) +{ + rt_err_t err; + + if (!bl || !out_brightness) + { + return -RT_EINVAL; + } + + rt_mutex_take(&bl->lock, RT_WAITING_FOREVER); + + if (bl->ops->get_brightness) + { + err = bl->ops->get_brightness(bl, out_brightness); + } + else + { + *out_brightness = rt_backlight_power_brightness(bl); + + err = RT_EOK; + } + + rt_mutex_release(&bl->lock); + + return err; +} diff --git a/components/drivers/graphic/framebuffer/Kconfig b/components/drivers/graphic/framebuffer/Kconfig new file mode 100644 index 00000000000..9144377d202 --- /dev/null +++ b/components/drivers/graphic/framebuffer/Kconfig @@ -0,0 +1,8 @@ +menuconfig RT_GRAPHIC_FB + bool "LCD and Frame buffer support" + select RT_USING_LCD + default y + +if RT_GRAPHIC_FB + osource "$(SOC_DM_GRAPHIC_FB_DIR)/Kconfig" +endif diff --git a/components/drivers/graphic/framebuffer/SConscript b/components/drivers/graphic/framebuffer/SConscript new file mode 100644 index 00000000000..55d76c540fc --- /dev/null +++ b/components/drivers/graphic/framebuffer/SConscript @@ -0,0 +1,16 @@ +from building import * + +group = [] + +if not GetDepend(['RT_GRAPHIC_FB']): + Return('group') + +cwd = GetCurrentDir() +list = os.listdir(cwd) +CPPPATH = [cwd + '/../../include'] + +src = [] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/drivers/graphic/graphic.c b/components/drivers/graphic/graphic.c new file mode 100644 index 00000000000..d1692c851e1 --- /dev/null +++ b/components/drivers/graphic/graphic.c @@ -0,0 +1,1495 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include +#include + +#define DBG_TAG "rtdm.graphic" +#define DBG_LVL DBG_INFO +#include + +#define raw_to_graphic(dev) rt_container_of(dev, struct rt_graphic_device, parent) + +struct fb_format +{ + rt_uint32_t mode; + rt_uint32_t bits_per_pixel; + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; +}; + +static const struct fb_format graphic_formats[] = +{ + { RTGRAPHIC_PIXEL_FORMAT_GRAY4, 4, }, + { RTGRAPHIC_PIXEL_FORMAT_GRAY16, 16, }, + { RTGRAPHIC_PIXEL_FORMAT_RGB332, 8, { 5, 3 }, { 2, 3 }, { 0, 2 }, }, + { RTGRAPHIC_PIXEL_FORMAT_RGB444, 12, { 8, 4 }, { 4, 4 }, { 0, 4 }, }, + { RTGRAPHIC_PIXEL_FORMAT_RGB565, 16, { 11, 5 }, { 5, 6 }, { 0, 5 }, }, + { RTGRAPHIC_PIXEL_FORMAT_RGB565P, 16, { 0, 5 }, { 5, 6 }, { 11, 5 }, }, + { RTGRAPHIC_PIXEL_FORMAT_BGR565, 16, { 0, 5 }, { 5, 6 }, { 11, 5 }, }, + { RTGRAPHIC_PIXEL_FORMAT_RGB666, 18, { 12, 6 }, { 6, 6 }, { 0, 6 }, }, + { RTGRAPHIC_PIXEL_FORMAT_RGB888, 24, { 16, 8 }, { 8, 8 }, { 0, 8 }, }, + { RTGRAPHIC_PIXEL_FORMAT_BGR888, 24, { 0, 8 }, { 8, 8 }, { 16, 8 }, }, + { RTGRAPHIC_PIXEL_FORMAT_ARGB888, 32, { 16, 8 }, { 8, 8 }, { 0, 8 }, { 24, 8 }, }, + { RTGRAPHIC_PIXEL_FORMAT_ABGR888, 32, { 0, 8 }, { 8, 8 }, { 16, 8 }, { 24, 8 }, }, +}; + +/* RT-Thread device max id is 255 */ +static rt_uint8_t fbcon_map[256] = {}; + +static struct rt_dm_ida graphic_ida = RT_DM_IDA_INIT(GRAPHIC_FRAMEBUFFER); + +rt_inline void spin_lock(struct rt_spinlock *spinlock) +{ + rt_hw_spin_lock(&spinlock->lock); +} + +rt_inline void spin_unlock(struct rt_spinlock *spinlock) +{ + rt_hw_spin_unlock(&spinlock->lock); +} + +static rt_bool_t plane_need_update(struct rt_graphic_plane *plane) +{ + if (plane->ops->update) + { + if (!plane->graphic->update_timer) + { + return RT_TRUE; + } + } + + return RT_FALSE; +} + +static struct rt_graphic_plane *plane_get_current(struct rt_graphic_device *gdev) +{ + if (gdev->ops->current_plane) + { + return gdev->ops->current_plane(gdev); + } + + return gdev->primary_plane; +} + +static rt_err_t plane_fb_remap(struct rt_graphic_plane *plane, + rt_uint32_t mode, struct rt_device_rect_info *rect) +{ + rt_err_t err; + + if (plane->ops->fb_cleanup && (err = plane->ops->fb_cleanup(plane))) + { + return err; + } + + if (!(err = plane->ops->fb_remap(plane, mode, rect))) + { + plane->mode = mode; + plane->x = rect->x; + plane->y = rect->y; + plane->width = rect->width; + plane->height = rect->height; + } + + return err; +} + +static rt_err_t plane_fb_pan_display(struct rt_graphic_plane *plane, + struct rt_device_rect_info *rect) +{ + void *framebuffer_end = plane->framebuffer; + rt_size_t byte_per_pixel = plane->bits_per_pixel / 8; + + framebuffer_end += rect->x * byte_per_pixel; + framebuffer_end += rect->y * plane->line_length; + framebuffer_end += rect->width * rect->height * byte_per_pixel; + + if (framebuffer_end < plane->framebuffer + plane->framebuffer_len) + { + return plane->ops->fb_pan_display(plane, rect); + } + + return -RT_EINVAL; +} + +static rt_err_t graphic_dpms_switch(struct rt_graphic_device *gdev, rt_uint32_t dpms) +{ + rt_err_t err; + + if (!(err = gdev->ops->dpms_switch(gdev, dpms))) + { + gdev->dpms = dpms; + } + + return err; +} + +static rt_err_t _graphic_open(rt_device_t dev, rt_uint16_t oflag) +{ + struct rt_graphic_device *gdev = raw_to_graphic(dev); + struct rt_graphic_plane *plane = gdev->primary_plane; + + if (dev->ref_count > 0 && (oflag & RT_DEVICE_OFLAG_WRONLY)) + { + return -RT_EBUSY; + } + + if (plane->ops->fb_pan_display) + { + struct rt_device_rect_info rect; + + rect.x = 0; + rect.y = 0; + rect.width = plane->width; + rect.height = plane->height; + + return plane->ops->fb_pan_display(plane, &rect); + } + + return RT_EOK; +} + +static rt_ssize_t _graphic_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size) +{ + rt_ssize_t res; + struct rt_graphic_device *gdev = raw_to_graphic(dev); + struct rt_graphic_plane *plane = gdev->primary_plane; + + res = rt_min_t(rt_ssize_t, plane->framebuffer_len - pos, size); + + if (res > 0) + { + rt_memcpy(buffer, plane->framebuffer + pos, res); + } + else + { + res = 0; + } + + return res; +} + +static rt_ssize_t _graphic_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size) +{ + rt_ssize_t res; + struct rt_graphic_device *gdev = raw_to_graphic(dev); + struct rt_graphic_plane *plane = gdev->primary_plane; + + res = rt_min_t(rt_ssize_t, plane->framebuffer_len - pos, size); + + if (res > 0) + { + rt_memcpy(plane->framebuffer + pos, buffer, res); + } + else + { + res = 0; + } + + return res; +} + +static rt_err_t _graphic_control(rt_device_t dev, int cmd, void *args) +{ + rt_err_t err = RT_EOK; + rt_bool_t need_schedule = RT_FALSE; + struct rt_graphic_device *gdev = raw_to_graphic(dev); + +_retry: + if (need_schedule) + { + rt_thread_yield(); + } + + spin_lock(&gdev->lock); + + switch (cmd) + { + case RT_DEVICE_CTRL_CURSOR_SET_POSITION: + if (args) + { + struct rt_graphic_plane *plane = gdev->cursor_plane; + + if (plane) + { + rt_uint32_t position = (rt_uint32_t)(rt_ubase_t)args; + + plane->x = position >> 16; + plane->y = position & 0xffff; + + if (plane_need_update(plane)) + { + struct rt_device_rect_info rect; + + rect.x = plane->x; + rect.y = plane->y; + /* Ask driver to update position only */ + rect.width = 0; + rect.height = 0; + + err = plane->ops->update(plane, &rect); + } + } + else + { + err = -RT_ENOSYS; + } + } + else + { + err = -RT_EINVAL; + } + break; + + case RT_DEVICE_CTRL_CURSOR_SET_TYPE: + if (args) + { + struct rt_graphic_plane *plane = gdev->cursor_plane; + + if (plane) + { + struct rt_device_rect_info rect = + { + .x = 0, + .y = 0, + .width = plane->width, + .height = plane->height, + }; + + if (!plane->framebuffer) + { + rt_uint32_t mode; + + if (plane->mode == RTGRAPHIC_PIXEL_FORMAT_MONO) + { + mode = plane->modes[0]; + } + else + { + mode = plane->mode; + } + + if ((err = plane_fb_remap(plane, mode, &rect))) + { + break; + } + } + + rt_memcpy(plane->framebuffer, args, plane->screen_len); + + /* Force to update */ + err = plane->ops->update(plane, &rect); + } + else + { + err = -RT_ENOSYS; + } + } + else + { + err = -RT_EINVAL; + } + break; + + case RTGRAPHIC_CTRL_RECT_UPDATE: + if (args) + { + struct rt_graphic_plane *plane = plane_get_current(gdev); + + if (plane_need_update(plane)) + { + err = plane->ops->update(plane, args); + } + } + else + { + err = -RT_EINVAL; + } + break; + + case RTGRAPHIC_CTRL_POWERON: + if (gdev->ops->dpms_switch) + { + err = graphic_dpms_switch(gdev, RT_GRAPHIC_DPMS_ON); + } + #ifdef RT_GRAPHIC_BACKLIGHT + if (!err && gdev->backlight) + { + spin_unlock(&gdev->lock); + err = rt_backlight_set_power(gdev->backlight, RT_BACKLIGHT_POWER_NORMAL); + spin_lock(&gdev->lock); + } + #endif /* RT_GRAPHIC_BACKLIGHT */ + break; + + case RTGRAPHIC_CTRL_POWEROFF: + if (gdev->ops->dpms_switch) + { + err = graphic_dpms_switch(gdev, RT_GRAPHIC_DPMS_OFF); + } + #ifdef RT_GRAPHIC_BACKLIGHT + if (!err && gdev->backlight) + { + spin_unlock(&gdev->lock); + err = rt_backlight_set_power(gdev->backlight, RT_BACKLIGHT_POWER_POWERDOWN); + spin_lock(&gdev->lock); + } + #endif /* RT_GRAPHIC_BACKLIGHT */ + break; + + case RTGRAPHIC_CTRL_GET_INFO: + if (args) + { + struct rt_device_graphic_info *info = args; + struct rt_graphic_plane *plane = plane_get_current(gdev); + + info->pixel_format = plane->mode; + info->bits_per_pixel = plane->bits_per_pixel; + info->pitch = plane->line_length; + info->width = plane->width; + info->height = plane->height; + info->framebuffer = plane->framebuffer; + info->smem_len = plane->framebuffer_len; + } + else + { + err = -RT_EINVAL; + } + break; + + case RTGRAPHIC_CTRL_SET_MODE: + if (args) + { + rt_uint32_t mode = (rt_uint32_t)(rt_ubase_t)args; + struct rt_graphic_plane *plane = plane_get_current(gdev); + + if (mode != plane->mode) + { + err = -RT_ENOSYS; + + if (plane->modes_nr > 1) + { + for (int i = 0; i < plane->modes_nr; ++i) + { + if (mode == plane->modes[i]) + { + struct rt_device_rect_info rect = + { + .x = plane->x, + .y = plane->y, + .width = plane->width, + .height = plane->height, + }; + + err = plane_fb_remap(plane, mode, &rect); + break; + } + } + } + } + } + else + { + err = -RT_EINVAL; + } + break; + + case RTGRAPHIC_CTRL_GET_EXT: + if (args) + { + rt_memcpy(args, &gdev->edid, sizeof(gdev->edid)); + } + else + { + err = -RT_EINVAL; + } + break; + + case RTGRAPHIC_CTRL_SET_BRIGHTNESS: + if (gdev->ops->set_brightness) + { + err = gdev->ops->set_brightness(gdev, (rt_uint32_t)(rt_ubase_t)args); + } + #ifdef RT_GRAPHIC_BACKLIGHT + if (!err && gdev->backlight) + { + spin_unlock(&gdev->lock); + + return rt_backlight_set_brightness(gdev->backlight, (rt_uint32_t)(rt_ubase_t)args); + } + #endif /* RT_GRAPHIC_BACKLIGHT */ + break; + + case RTGRAPHIC_CTRL_GET_BRIGHTNESS: + if (args) + { + if (gdev->ops->get_brightness) + { + err = gdev->ops->get_brightness(gdev, args); + } + else + { + *(rt_uint32_t *)args = RT_UINT32_MAX >> 1; + } + } + else + { + err = -RT_EINVAL; + } + #ifdef RT_GRAPHIC_BACKLIGHT + if (!err && gdev->backlight) + { + spin_unlock(&gdev->lock); + + return rt_backlight_get_brightness(gdev->backlight, args); + } + #endif /* RT_GRAPHIC_BACKLIGHT */ + break; + + case RTGRAPHIC_CTRL_GET_MODE: + if (args) + { + struct rt_graphic_plane *plane = plane_get_current(gdev); + + *(rt_uint32_t *)args = plane->mode; + } + else + { + err = -RT_EINVAL; + } + break; + + case RTGRAPHIC_CTRL_GET_STATUS: + if (args) + { + if (gdev->ops->get_status) + { + err = gdev->ops->get_status(gdev, args); + } + else + { + err = -RT_ENOSYS; + } + } + else + { + err = -RT_EINVAL; + } + break; + + case RTGRAPHIC_CTRL_PAN_DISPLAY: + if (args) + { + struct rt_graphic_plane *plane = plane_get_current(gdev); + + if (plane->ops->fb_pan_display) + { + rt_size_t offset; + struct rt_device_rect_info rect; + + offset = (rt_size_t)(args - plane->framebuffer); + + rect.x = (offset % plane->line_length) / (plane->bits_per_pixel / 8); + rect.y = offset / plane->line_length; + rect.width = plane->width; + rect.height = plane->height; + + err = plane_fb_pan_display(plane, &rect); + } + else + { + err = -RT_ENOSYS; + } + } + else + { + err = -RT_EINVAL; + } + break; + + case RTGRAPHIC_CTRL_WAIT_VSYNC: + if (gdev->ops->wait_vsync) + { + err = gdev->ops->wait_vsync(gdev); + } + break; + + case RT_DEVICE_CTRL_NOTIFY_SET: + if (args) + { + if (rt_atomic_load(&gdev->event_notifying) == RT_TRUE) + { + need_schedule = RT_TRUE; + + spin_unlock(&gdev->lock); + goto _retry; + } + + rt_memcpy(&gdev->event_notify, args, sizeof(gdev->event_notify)); + } + else + { + err = -RT_EINVAL; + } + break; + + case FBIOGET_VSCREENINFO: + if (args) + { + struct fb_var_screeninfo *var = args; + struct rt_graphic_plane *plane = plane_get_current(gdev); + + rt_memset(var, 0, sizeof(*var)); + + var->xres = plane->width; + var->yres = plane->height; + var->xres_virtual = plane->width; + var->yres_virtual = plane->height * (plane->framebuffer_len / plane->screen_len); + var->bits_per_pixel = plane->bits_per_pixel; + + if (plane == gdev->primary_plane) + { + var->width = gdev->edid.width_cm ? gdev->edid.width_cm * 10 : -1; + var->height = gdev->edid.height_cm ? gdev->edid.height_cm * 10 : -1; + } + else + { + var->width = -1; + var->height = -1; + } + + if (plane->mode == RTGRAPHIC_PIXEL_FORMAT_GRAY4 || + plane->mode == RTGRAPHIC_PIXEL_FORMAT_GRAY16) + { + var->grayscale = 1; + } + else + { + const struct fb_format *fmt = &graphic_formats[0]; + + for (int i = 0; i < RT_ARRAY_SIZE(graphic_formats); ++i, ++fmt) + { + if (fmt->mode == plane->mode) + { + rt_memcpy(&var->red, &fmt->red, sizeof(fmt->red)); + rt_memcpy(&var->green, &fmt->green, sizeof(fmt->green)); + rt_memcpy(&var->blue, &fmt->blue, sizeof(fmt->blue)); + rt_memcpy(&var->transp, &fmt->transp, sizeof(fmt->transp)); + + break; + } + } + } + + if (gdev->update_timer) + { + rt_uint64_t update_ps; + rt_tick_t update_tick; + + rt_timer_control(gdev->update_timer, RT_TIMER_CTRL_GET_TIME, &update_tick); + /* + * 1s update_ms * 1000 + * -------------------- = ----------------- (second/tick) + * RT_TICK_PER_SECOND update_tick + * + * 1000000ps = 1ms + */ + update_ps = (update_tick * 1000000) / (RT_TICK_PER_SECOND * 1000); + + var->pixclock = update_ps / (var->xres * var->yres); + } + else + { + var->pixclock = (RT_GRAPHIC_UPDATE_MS * 1000000) / (var->xres * var->yres); + } + } + else + { + err = -RT_EINVAL; + } + break; + + case FBIOPUT_VSCREENINFO: + if (args) + { + rt_uint32_t mode; + struct fb_format fmt; + struct rt_device_rect_info rect; + struct fb_var_screeninfo *var = args; + struct rt_graphic_plane *plane = plane_get_current(gdev); + const rt_size_t cmp_offset = rt_offsetof(struct fb_format, bits_per_pixel); + const rt_size_t cmp_size = sizeof(struct fb_format) - cmp_offset; + + if (!plane->ops->fb_pan_display) + { + if (var->xres != plane->width || var->yres != plane->height || + var->xoffset != plane->x || var->yoffset != plane->y) + { + err = -RT_ENOSYS; + break; + } + } + + mode = plane->mode; + rect.x = plane->x; + rect.y = plane->y; + rect.width = plane->width; + rect.height = plane->height; + + fmt.bits_per_pixel = var->bits_per_pixel; + rt_memcpy(&fmt.red, &var->red, sizeof(fmt.red)); + rt_memcpy(&fmt.green, &var->green, sizeof(fmt.green)); + rt_memcpy(&fmt.blue, &var->blue, sizeof(fmt.blue)); + rt_memcpy(&fmt.transp, &var->transp, sizeof(fmt.transp)); + + for (int i = 0; i < RT_ARRAY_SIZE(graphic_formats); ++i) + { + void *cmp_to = ((void *)&fmt) + cmp_offset; + void *cmp_from = ((void *)&graphic_formats[i]) + cmp_offset; + + if (!rt_memcmp(cmp_to, cmp_from, cmp_size)) + { + mode = graphic_formats[i].mode; + break; + } + } + + err = -RT_ENOSYS; + + for (int i = 0; i < plane->modes_nr; ++i) + { + /* Check supported and commit */ + if (plane->modes[i] == mode && plane->mode != mode) + { + err = plane_fb_remap(plane, mode, &rect); + } + } + + if (!err && plane->ops->fb_pan_display) + { + rect.x = var->xoffset; + rect.y = var->yoffset; + rect.width = var->xres; + rect.height = var->yres; + + err = plane_fb_pan_display(plane, &rect); + } + + if (!err && var->rotate && plane->ops->prop_set) + { + err = plane->ops->prop_set(plane, RT_GRAPHIC_PLANE_PROP_ROTATE, + (void *)(rt_ubase_t)((var->rotate % 360) / 90)); + } + + if (!err && plane == gdev->primary_plane && plane->ops->update) + { + rt_uint32_t update_ms = 0; + + if (var->pixclock) + { + rt_uint64_t clock_cycles; + + clock_cycles = var->pixclock; + clock_cycles *= rect.width; + clock_cycles *= rect.height; + /* Seconds in pico seconds */ + clock_cycles /= 1000000000000ULL; + + update_ms = (rt_uint32_t)clock_cycles * 1000; + } + + err = rt_graphic_device_update_auto(gdev, update_ms); + } + } + else + { + err = -RT_EINVAL; + } + break; + + case FBIOGET_FSCREENINFO: + if (args) + { + struct fb_fix_screeninfo *fix = args; + struct rt_graphic_plane *plane = plane_get_current(gdev); + + rt_memset(fix, 0, sizeof(*fix)); + + rt_snprintf(fix->id, rt_min_t(int, sizeof(fix->id), RT_NAME_MAX), + "%s", rt_dm_dev_get_name(&gdev->parent)); + + fix->smem_start = (unsigned long)rt_kmem_v2p(plane->framebuffer); + fix->smem_len = plane->framebuffer_len; + fix->mmio_start = fix->smem_start; + fix->mmio_len = plane->screen_len; + fix->line_length = plane->line_length; + } + else + { + err = -RT_EINVAL; + } + break; + + case FBIOGET_PIXELINFO: + if (args) + { + struct rt_graphic_plane *plane = plane_get_current(gdev); + + *(rt_uint32_t *)args = plane->mode; + } + else + { + err = -RT_EINVAL; + } + break; + + case FBIOPAN_DISPLAY: + if (args) + { + struct fb_var_screeninfo *var = args; + struct rt_graphic_plane *plane = plane_get_current(gdev); + + if (plane->ops->fb_pan_display) + { + struct rt_device_rect_info rect; + + rect.x = var->xoffset; + rect.y = var->yoffset; + rect.width = var->xres; + rect.height = var->yres; + + err = plane_fb_pan_display(plane, &rect); + } + else + { + err = -RT_ENOSYS; + } + } + else + { + err = -RT_EINVAL; + } + break; + + case FBIO_CURSOR: + err = -RT_EINVAL; + break; + + case FBIOGET_CON2FBMAP: + if (args) + { + struct fb_con2fbmap *con2fbmap = args; + + if (con2fbmap->console < RT_ARRAY_SIZE(fbcon_map)) + { + con2fbmap->framebuffer = fbcon_map[con2fbmap->console]; + } + else + { + err = -RT_EFULL; + } + } + else + { + err = -RT_EINVAL; + } + break; + + case FBIOPUT_CON2FBMAP: + if (args) + { + struct fb_con2fbmap *con2fbmap = args; + + if (con2fbmap->console < RT_ARRAY_SIZE(fbcon_map) && + con2fbmap->framebuffer < RT_ARRAY_SIZE(fbcon_map)) + { + struct rt_device *vt; + + vt = rt_dm_device_find(MASTER_ID_TTY, con2fbmap->console); + + #ifdef RT_SERIAL_VIRTUAL + if (!vt) + { + vt = rt_device_find("vuart"); + } + #endif + + if (vt) + { + if (!(err = rt_device_open(vt, RT_DEVICE_OFLAG_RDWR))) + { + err = rt_device_control(vt, FBIOPUT_CON2FBMAP, con2fbmap); + + if (!err) + { + fbcon_map[con2fbmap->console] = con2fbmap->framebuffer; + } + + rt_device_close(vt); + } + } + else + { + err = -RT_EEMPTY; + } + } + else + { + err = -RT_EFULL; + } + } + else + { + err = -RT_EINVAL; + } + break; + + case FBIOBLANK: + if (gdev->ops->dpms_switch) + { + rt_uint32_t dpms; + + switch ((rt_uint32_t)(rt_ubase_t)args) + { + case FB_BLANK_UNBLANK: + /* Display: On, HSync: On, VSync: On */ + dpms = RT_GRAPHIC_DPMS_ON; + break; + + case FB_BLANK_NORMAL: + /* Display: Off, HSync: On, VSync: On */ + dpms = RT_GRAPHIC_DPMS_STANDBY; + break; + + case FB_BLANK_HSYNC_SUSPEND: + /* Display: Off, HSync: Off, VSync: On */ + dpms = RT_GRAPHIC_DPMS_STANDBY; + break; + + case FB_BLANK_VSYNC_SUSPEND: + /* Display: Off, HSync: On, VSync: Off */ + dpms = RT_GRAPHIC_DPMS_SUSPEND; + break; + + case FB_BLANK_POWERDOWN: + /* Display: Off, HSync: Off, VSync: Off */ + dpms = RT_GRAPHIC_DPMS_OFF; + break; + + default: + err = -RT_EINVAL; + break; + } + + if (!err) + { + graphic_dpms_switch(gdev, dpms); + } + } + break; + + case FBIO_WAITFORVSYNC: + if (gdev->ops->wait_vsync) + { + err = gdev->ops->wait_vsync(gdev); + } + break; + + case FBIO_ALLOC: + case FBIO_FREE: + case FBIOGET_GLYPH: + case FBIOGET_HWCINFO: + case FBIOPUT_MODEINFO: + case FBIOGET_DISPINFO: + LOG_D("FB IOCTL (%x) only used for SiS 300/630/730/540/315/550/650/740 frame buffer device", cmd); + /* Fall through */ + case FBIOGET_VBLANK: + case FBIOGETCMAP: /* fb_cmap */ + case FBIOPUTCMAP: /* fb_cmap */ + /* Fall through */ + default: + if (gdev->ops->control) + { + err = gdev->ops->control(gdev, cmd, args); + } + else + { + err = -RT_ENOSYS; + } + } + + spin_unlock(&gdev->lock); + + return err; +} + +#ifdef RT_USING_DEVICE_OPS +const static struct rt_device_ops _graphic_ops = +{ + .open = _graphic_open, + .read = _graphic_read, + .write = _graphic_write, + .control = _graphic_control, +}; +#endif + +static void graphic_ofw_init(struct rt_graphic_device *gdev) +{ +#ifdef RT_USING_OFW + struct rt_ofw_node *np = gdev->parent.ofw_node; + +#ifdef RT_GRAPHIC_BACKLIGHT + if (!gdev->backlight) + { + struct rt_ofw_node *bl_np = rt_ofw_parse_phandle(np, "backlight", 0); + + if (bl_np && (gdev->backlight = rt_ofw_data(bl_np))) + { + rt_device_open(&gdev->backlight->parent, RT_DEVICE_OFLAG_RDWR); + } + rt_ofw_node_put(bl_np); + } +#endif /* RT_GRAPHIC_BACKLIGHT */ + + (void)np; +#endif /* RT_USING_OFW */ +} + +static void graphic_edid_res(struct rt_graphic_device *gdev, + rt_uint32_t *out_width, rt_uint32_t *out_height) +{ + struct edid *edid = &gdev->edid; + struct detailed_timing *dt = &edid->detailed_timings[0]; + struct detailed_pixel_timing *dpt = &dt->data.pixel_data; + + *out_width = dpt->hactive_lo + ((dpt->hactive_hblank_hi & 0xf0) << 4); + *out_height = dpt->vactive_lo + ((dpt->vactive_vblank_hi & 0xf0) << 4); +} + +#ifdef RT_USING_PM +static rt_err_t _graphic_pm_dpms_switch(struct rt_graphic_device *gdev, rt_uint8_t mode) +{ + rt_err_t err; + + spin_lock(&gdev->lock); + + switch (mode) + { + case PM_SLEEP_MODE_NONE: + case PM_SLEEP_MODE_IDLE: + case PM_SLEEP_MODE_LIGHT: + case PM_SLEEP_MODE_DEEP: + err = graphic_dpms_switch(gdev, RT_GRAPHIC_DPMS_ON); + break; + + case PM_SLEEP_MODE_STANDBY: + err = graphic_dpms_switch(gdev, RT_GRAPHIC_DPMS_STANDBY); + break; + + case PM_SLEEP_MODE_SHUTDOWN: + err = graphic_dpms_switch(gdev, RT_GRAPHIC_DPMS_OFF); + break; + + default: + err = -RT_EINVAL; + break; + } + + spin_unlock(&gdev->lock); + + return err; +} + +static rt_err_t _graphic_pm_suspend(const struct rt_device *device, rt_uint8_t mode) +{ + struct rt_graphic_device *gdev = raw_to_graphic(device); + + return _graphic_pm_dpms_switch(gdev, mode); +} + +static void _graphic_pm_resume(const struct rt_device *device, rt_uint8_t mode) +{ + struct rt_graphic_device *gdev = raw_to_graphic(device); + + _graphic_pm_dpms_switch(gdev, mode); +} + +static const struct rt_device_pm_ops _graphic_pm_ops = +{ + .suspend = _graphic_pm_suspend, + .resume = _graphic_pm_resume, +}; +#endif /* RT_USING_PM */ + +rt_err_t rt_graphic_device_register(struct rt_graphic_device *gdev) +{ + rt_err_t err; + int device_id; + const char *dev_name; + + if (!gdev || !gdev->ops) + { + return -RT_EINVAL; + } + + if (!gdev->primary_plane) + { + LOG_E("%s: Not %s found", rt_dm_dev_get_name(&gdev->parent), "primary plane"); + + return -RT_EINVAL; + } + + if ((device_id = rt_dm_ida_alloc(&graphic_ida)) < 0) + { + return -RT_EFULL; + } + + rt_dm_dev_set_name(&gdev->parent, "fb%u", device_id); + dev_name = rt_dm_dev_get_name(&gdev->parent); + + rt_list_init(&gdev->overlay_nodes); + rt_dm_ida_init(&gdev->plane_ida, CUSTOM); + rt_spin_lock_init(&gdev->lock); + + graphic_ofw_init(gdev); + + if (!gdev->primary_plane->width || !gdev->primary_plane->height) + { + rt_uint32_t mode, width, height; + struct rt_device_rect_info rect; + + graphic_edid_res(gdev, &width, &height); + rect.x = 0; + rect.y = 0; + rect.width = width; + rect.height = height; + + if (gdev->primary_plane->mode == RTGRAPHIC_PIXEL_FORMAT_MONO) + { + mode = gdev->primary_plane->modes[0]; + } + else + { + mode = gdev->primary_plane->mode; + } + + err = plane_fb_remap(gdev->primary_plane, mode, &rect); + + if (err) + { + LOG_E("%s: Set %s error = %s", rt_dm_dev_get_name(&gdev->parent), + "primary plane", rt_strerror(err)); + + goto _fail; + } + } + + gdev->parent.type = RT_Device_Class_Graphic; +#ifdef RT_USING_DEVICE_OPS + gdev->parent.ops = &_graphic_ops; +#else + gdev->parent.open = _graphic_open; + gdev->parent.read = _graphic_read; + gdev->parent.write = _graphic_write; + gdev->parent.control = _graphic_control; +#endif + gdev->parent.master_id = graphic_ida.master_id; + gdev->parent.device_id = device_id; + + if ((err = rt_device_register(&gdev->parent, dev_name, RT_DEVICE_FLAG_RDWR))) + { + goto _fail; + } + +#ifdef RT_USING_PM + rt_pm_device_register(&gdev->parent, &_graphic_pm_ops); +#endif + + if ((err = rt_graphic_logo_render(gdev))) + { + LOG_D("Logo render error = %s", rt_strerror(err)); + } + + return RT_EOK; + +_fail: + rt_dm_ida_free(&graphic_ida, device_id); + + return err; +} + +rt_err_t rt_graphic_device_unregister(struct rt_graphic_device *gdev) +{ + const char *dev_name; + struct rt_graphic_plane *plane, *plane_next; + + if (!gdev) + { + return -RT_EINVAL; + } + + dev_name = rt_dm_dev_get_name(&gdev->parent); + + if (gdev->parent.ref_count) + { + LOG_E("%s: there is %u user", dev_name, gdev->parent.ref_count); + return -RT_EINVAL; + } + +#ifdef RT_USING_PM + rt_pm_device_unregister(&gdev->parent); +#endif + + rt_graphic_device_update_auto(gdev, 0); + + if (gdev->ops->dpms_switch) + { + graphic_dpms_switch(gdev, RT_GRAPHIC_DPMS_OFF); + } +#ifdef RT_GRAPHIC_BACKLIGHT + if (gdev->backlight) + { + rt_backlight_set_power(gdev->backlight, RT_BACKLIGHT_POWER_POWERDOWN); + rt_device_close(&gdev->backlight->parent); + } +#endif + + rt_list_for_each_entry_safe(plane, plane_next, &gdev->overlay_nodes, list) + { + rt_graphic_device_del_plane(gdev, plane); + rt_graphic_device_free_plane(plane); + } + + rt_graphic_device_del_plane(gdev, gdev->primary_plane); + rt_graphic_device_free_plane(gdev->primary_plane); + + if (gdev->cursor_plane) + { + rt_graphic_device_del_plane(gdev, gdev->cursor_plane); + rt_graphic_device_free_plane(gdev->cursor_plane); + } + + rt_dm_ida_free(&graphic_ida, gdev->parent.device_id); + + rt_device_unregister(&gdev->parent); + + return RT_EOK; +} + +struct rt_graphic_plane *rt_graphic_device_alloc_plane(struct rt_graphic_device *gdev, + rt_size_t priv_size, const struct rt_graphic_plane_ops *ops, + const rt_uint32_t *modes, rt_uint32_t modes_nr, rt_uint8_t type) +{ + struct rt_graphic_plane *plane = RT_NULL; + + if (!gdev || !ops || !modes || !modes_nr || type > RT_GRAPHIC_PLANE_TYPE_CURSOR) + { + return RT_NULL; + } + + plane = rt_calloc(1, sizeof(*plane) + priv_size); + + if (plane) + { + rt_list_init(&plane->list); + plane->type = type; + plane->modes_nr = modes_nr; + plane->modes = modes; + plane->mode = RTGRAPHIC_PIXEL_FORMAT_MONO; + plane->graphic = gdev; + plane->ops = ops; + } + + return plane; +} + +void rt_graphic_device_free_plane(struct rt_graphic_plane *plane) +{ + if (!plane) + { + return; + } + + rt_free(plane); +} + +rt_err_t rt_graphic_device_add_plane(struct rt_graphic_device *gdev, + struct rt_graphic_plane *plane) +{ + rt_err_t err = RT_EOK; + + if (!gdev || !plane) + { + return -RT_EINVAL; + } + + if (!plane->ops) + { + LOG_E("%s: %s have no plane ops", + rt_dm_dev_get_name(&gdev->parent), plane->name); + return -RT_EINVAL; + } + + plane->id = rt_dm_ida_alloc(&gdev->plane_ida); + + if (plane->id == RT_DM_IDA_NUM) + { + LOG_E("%s: %s is out of plane max(%d)", + rt_dm_dev_get_name(&gdev->parent), plane->name, RT_DM_IDA_NUM - 1); + return -RT_EFULL; + } + + if (plane->type == RT_GRAPHIC_PLANE_TYPE_PRIMARY) + { + if (gdev->primary_plane) + { + err = -RT_EINVAL; + goto _free_ida; + } + if (!plane->name[0]) + { + rt_strncpy(plane->name, "primary", sizeof(plane->name)); + } + gdev->primary_plane = plane; + } + else if (plane->type == RT_GRAPHIC_PLANE_TYPE_CURSOR) + { + if (gdev->cursor_plane) + { + err = -RT_EINVAL; + goto _free_ida; + } + if (!plane->name[0]) + { + rt_strncpy(plane->name, "cursor", sizeof(plane->name)); + } + gdev->cursor_plane = plane; + } + else if (plane->type == RT_GRAPHIC_PLANE_TYPE_OVERLAY) + { + if (!plane->name[0]) + { + rt_snprintf(plane->name, sizeof(plane->name), "overlay-%u", plane->id); + } + spin_lock(&gdev->lock); + rt_list_insert_before(&gdev->overlay_nodes, &plane->list); + rt_graphic_device_leave(gdev); + } + else + { + LOG_E("What the fuck plane type(%u)", plane->type); + RT_ASSERT(0); + } + +_free_ida: + if (err) + { + rt_dm_ida_free(&gdev->plane_ida, plane->id); + } + + return err; +} + +rt_err_t rt_graphic_device_del_plane(struct rt_graphic_device *gdev, + struct rt_graphic_plane *plane) +{ + if (!gdev || !plane) + { + return -RT_EINVAL; + } + + if (plane->ops->fb_cleanup) + { + /* Ignore error */ + plane->ops->fb_cleanup(plane); + } + + if (plane->type == RT_GRAPHIC_PLANE_TYPE_PRIMARY) + { + gdev->primary_plane = RT_NULL; + } + else if (plane->type == RT_GRAPHIC_PLANE_TYPE_CURSOR) + { + gdev->cursor_plane = RT_NULL; + } + else if (plane->type == RT_GRAPHIC_PLANE_TYPE_OVERLAY) + { + spin_lock(&gdev->lock); + rt_list_remove(&plane->list); + spin_unlock(&gdev->lock); + } + + rt_dm_ida_free(&gdev->plane_ida, plane->id); + + return RT_EOK; +} + +void rt_graphic_device_hotplug_event(struct rt_graphic_device *gdev) +{ + rt_err_t err; + rt_uint32_t width, height; + struct rt_device_rect_info rect; + + RT_ASSERT(gdev != RT_NULL); + + rt_graphic_device_enter(gdev); + + graphic_edid_res(gdev, &width, &height); + rect.x = 0; + rect.y = 0; + rect.width = width; + rect.height = height; + + err = plane_fb_remap(gdev->primary_plane, gdev->primary_plane->mode, &rect); + + if (err) + { + /* What the fuck? */ + LOG_E("%s: hotplug event process error = %s", + rt_dm_dev_get_name(&gdev->parent), rt_strerror(err)); + goto _out_lock; + } + +_out_lock: + rt_graphic_device_leave(gdev); + + rt_atomic_store(&gdev->event_notifying, RT_TRUE); + + if (gdev->event_notify.notify) + { + gdev->event_notify.notify(gdev->event_notify.dev); + } + + rt_atomic_store(&gdev->event_notifying, RT_FALSE); +} + +static void graphic_device_plane_update(struct rt_graphic_plane *plane, + struct rt_device_rect_info *rect) +{ + if (plane->ops->update) + { + plane->ops->update(plane, rect); + } +} + +static void graphic_device_update(void *param) +{ + struct rt_device_rect_info rect; + struct rt_graphic_plane *plane; + struct rt_graphic_device *gdev = param; + + rect.x = 0; + rect.y = 0; + + spin_lock(&gdev->lock); + + rect.width = gdev->primary_plane->width; + rect.height = gdev->primary_plane->height; + graphic_device_plane_update(gdev->primary_plane, &rect); + + rt_list_for_each_entry(plane, &gdev->overlay_nodes, list) + { + rect.width = plane->width; + rect.height = plane->height; + + graphic_device_plane_update(plane, &rect); + } + + if ((plane = gdev->cursor_plane)) + { + rect.x = plane->x; + rect.y = plane->y; + /* Ask driver to update position only */ + rect.width = 0; + rect.height = 0; + + graphic_device_plane_update(plane, &rect); + } + + spin_unlock(&gdev->lock); +} + +rt_err_t rt_graphic_device_update_auto(struct rt_graphic_device *gdev, rt_uint32_t update_ms) +{ + if (!gdev) + { + return -RT_EINVAL; + } + + if (update_ms) + { + if (!gdev->update_timer) + { + char name[RT_NAME_MAX]; + + rt_snprintf(name, sizeof(name), "update-%s", rt_dm_dev_get_name(&gdev->parent)); + + gdev->update_timer = rt_timer_create(name, &graphic_device_update, gdev, + rt_tick_from_millisecond(update_ms), + RT_TIMER_FLAG_PERIODIC); + + if (!gdev->update_timer) + { + return -RT_ENOMEM; + } + } + + rt_timer_start(gdev->update_timer); + } + else if (gdev->update_timer) + { + rt_timer_stop(gdev->update_timer); + rt_timer_delete(gdev->update_timer); + + gdev->update_timer = RT_NULL; + } + + return RT_EOK; +} + +void rt_graphic_device_enter(struct rt_graphic_device *gdev) +{ + RT_ASSERT(gdev != RT_NULL); + + spin_lock(&gdev->lock); + + if (gdev->update_timer) + { + rt_timer_stop(gdev->update_timer); + } +} + +void rt_graphic_device_leave(struct rt_graphic_device *gdev) +{ + RT_ASSERT(gdev != RT_NULL); + + if (gdev->update_timer) + { + rt_timer_start(gdev->update_timer); + } + + spin_unlock(&gdev->lock); +} + +rt_uint32_t rt_graphic_mode_bpp(rt_uint32_t mode) +{ + for (int i = 0; i < RT_ARRAY_SIZE(graphic_formats); ++i) + { + if (graphic_formats[i].mode == mode) + { + return graphic_formats[i].bits_per_pixel; + } + } + + return 0; +} diff --git a/components/drivers/graphic/graphic_primary.c b/components/drivers/graphic/graphic_primary.c new file mode 100644 index 00000000000..411931196fa --- /dev/null +++ b/components/drivers/graphic/graphic_primary.c @@ -0,0 +1,381 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include +#include + +#define DBG_TAG "graphic.primary" +#define DBG_LVL DBG_INFO +#include + +static struct rt_graphic_device *primary_gdev = RT_NULL; + +#define framebuffer_drift(plane, x, y, bpp) \ + ((plane)->framebuffer + (x) * ((bpp) / 8) + (y) * (plane)->line_length) + +#define fixup_dir(a1, a2) \ + if ((a1) > (a2)) { (a1) ^= (a2); (a2) ^= (a1); (a1) ^= (a2); } + +static void graphic_primary_set_pixel_8bit(const char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + *(rt_uint8_t *)framebuffer_drift(plane, x, y, 8) = *(rt_uint8_t *)pixel; +} + +static void graphic_primary_get_pixel_8bit(char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + *(rt_uint8_t *)pixel = *(rt_uint8_t *)framebuffer_drift(plane, x, y, 8); +} + +static void graphic_primary_draw_hline_8bit(const char *pixel, int x1, int x2, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(x1, x2); + rt_memset(framebuffer_drift(plane, x1, y, 8), *(rt_uint8_t *)pixel, x2 - x1); +} + +static void graphic_primary_draw_vline_8bit(const char *pixel, int x, int y1, int y2) +{ + rt_uint8_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(y1, y2); + fb = framebuffer_drift(plane, x, y1, 8); + + for (; y1 < y2; ++y1) + { + *fb = *(rt_uint8_t *)pixel; + fb += plane->line_length; + } +} + +static void graphic_primary_blit_line_8bit(const char *pixel, int x, int y, rt_size_t size) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + rt_memcpy(framebuffer_drift(plane, x, y, 8), pixel, size); +} + +static struct rt_device_graphic_ops graphic_primary_8bit_ops = +{ + .set_pixel = graphic_primary_set_pixel_8bit, + .get_pixel = graphic_primary_get_pixel_8bit, + .draw_hline = graphic_primary_draw_hline_8bit, + .draw_vline = graphic_primary_draw_vline_8bit, + .blit_line = graphic_primary_blit_line_8bit, +}; + +static void graphic_primary_set_pixel_16bit(const char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + *(rt_uint16_t *)framebuffer_drift(plane, x, y, 16) = *(rt_uint16_t *)pixel; +} + +static void graphic_primary_get_pixel_16bit(char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + *(rt_uint16_t *)pixel = *(rt_uint16_t *)framebuffer_drift(plane, x, y, 16); +} + +static void graphic_primary_draw_hline_16bit(const char *pixel, int x1, int x2, int y) +{ + rt_uint16_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(x1, x2); + + fb = framebuffer_drift(plane, x1, y, 16); + + for (; x1 < x2; ++x1) + { + *fb++ = *(rt_uint16_t *)pixel; + } +} + +static void graphic_primary_draw_vline_16bit(const char *pixel, int x, int y1, int y2) +{ + rt_uint16_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(y1, y2); + + fb = framebuffer_drift(plane, x, y1, 16); + + for (; y1 < y2; ++y1) + { + *fb = *(rt_uint16_t *)pixel; + fb = (void *)fb + plane->line_length; + } +} + +static void graphic_primary_blit_line_16bit(const char *pixel, int x, int y, rt_size_t size) +{ + rt_uint16_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fb = framebuffer_drift(plane, x, y, 16); + + while (size --> 0) + { + *fb++ = *(rt_uint16_t *)pixel; + pixel += 2; + } +} + +static struct rt_device_graphic_ops graphic_primary_16bit_ops = +{ + .set_pixel = graphic_primary_set_pixel_16bit, + .get_pixel = graphic_primary_get_pixel_16bit, + .draw_hline = graphic_primary_draw_hline_16bit, + .draw_vline = graphic_primary_draw_vline_16bit, + .blit_line = graphic_primary_blit_line_16bit, +}; + +static void graphic_primary_set_pixel_24bit(const char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + rt_memcpy(framebuffer_drift(plane, x, y, 24), pixel, 3); +} + +static void graphic_primary_get_pixel_24bit(char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + rt_memcpy(pixel, framebuffer_drift(plane, x, y, 24), 3); +} + +static void graphic_primary_draw_hline_24bit(const char *pixel, int x1, int x2, int y) +{ + rt_uint8_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(x1, x2); + + fb = framebuffer_drift(plane, x1, y, 24); + + for (; x1 < x2; ++x1) + { + *fb++ = ((rt_uint8_t *)pixel)[0]; + *fb++ = ((rt_uint8_t *)pixel)[1]; + *fb++ = ((rt_uint8_t *)pixel)[2]; + } +} + +static void graphic_primary_draw_vline_24bit(const char *pixel, int x, int y1, int y2) +{ + rt_uint8_t *fb; + rt_size_t xlate; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(y1, y2); + + fb = framebuffer_drift(plane, x, y1, 24); + xlate = plane->line_length - 3; + + for (; y1 < y2; ++y1) + { + *fb++ = ((rt_uint8_t *)pixel)[0]; + *fb++ = ((rt_uint8_t *)pixel)[1]; + *fb++ = ((rt_uint8_t *)pixel)[2]; + + fb = (void *)fb + xlate; + } +} + +static void graphic_primary_blit_line_24bit(const char *pixel, int x, int y, rt_size_t size) +{ + rt_uint8_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fb = framebuffer_drift(plane, x, y, 24); + + while (size --> 0) + { + *fb++ = *(rt_uint8_t *)pixel++; + *fb++ = *(rt_uint8_t *)pixel++; + *fb++ = *(rt_uint8_t *)pixel++; + } +} + +static struct rt_device_graphic_ops graphic_primary_24bit_ops = +{ + .set_pixel = graphic_primary_set_pixel_24bit, + .get_pixel = graphic_primary_get_pixel_24bit, + .draw_hline = graphic_primary_draw_hline_24bit, + .draw_vline = graphic_primary_draw_vline_24bit, + .blit_line = graphic_primary_blit_line_24bit, +}; + +static void graphic_primary_set_pixel_32bit(const char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + *(rt_uint32_t *)framebuffer_drift(plane, x, y, 32) = *(rt_uint32_t *)pixel; +} + +static void graphic_primary_get_pixel_32bit(char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + *(rt_uint32_t *)pixel = *(rt_uint32_t *)framebuffer_drift(plane, x, y, 32); +} + +static void graphic_primary_draw_hline_32bit(const char *pixel, int x1, int x2, int y) +{ + rt_uint32_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(x1, x2); + + fb = framebuffer_drift(plane, x1, y, 32); + + for (; x1 < x2; ++x1) + { + *fb++ = *(rt_uint32_t *)pixel; + } +} + +static void graphic_primary_draw_vline_32bit(const char *pixel, int x, int y1, int y2) +{ + rt_uint32_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(y1, y2); + + fb = framebuffer_drift(plane, x, y1, 32); + + for (; y1 < y2; ++y1) + { + *fb = *(rt_uint32_t *)pixel; + fb = (void *)fb + plane->line_length; + } +} + +static void graphic_primary_blit_line_32bit(const char *pixel, int x, int y, rt_size_t size) +{ + rt_uint32_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fb = framebuffer_drift(plane, x, y, 32); + + while (size --> 0) + { + *fb++ = *(rt_uint32_t *)pixel; + pixel += 4; + } +} + +static struct rt_device_graphic_ops graphic_primary_32bit_ops = +{ + .set_pixel = graphic_primary_set_pixel_32bit, + .get_pixel = graphic_primary_get_pixel_32bit, + .draw_hline = graphic_primary_draw_hline_32bit, + .draw_vline = graphic_primary_draw_vline_32bit, + .blit_line = graphic_primary_blit_line_32bit, +}; + +static void graphic_primary_set_pixel_64bit(const char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + *(rt_uint64_t *)framebuffer_drift(plane, x, y, 64) = *(rt_uint64_t *)pixel; +} + +static void graphic_primary_get_pixel_64bit(char *pixel, int x, int y) +{ + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + *(rt_uint64_t *)pixel = *(rt_uint64_t *)framebuffer_drift(plane, x, y, 64); +} + +static void graphic_primary_draw_hline_64bit(const char *pixel, int x1, int x2, int y) +{ + rt_uint64_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(x1, x2); + + fb = framebuffer_drift(plane, x1, y, 64); + + for (; x1 < x2; ++x1) + { + *fb++ = *(rt_uint64_t *)pixel; + } +} + +static void graphic_primary_draw_vline_64bit(const char *pixel, int x, int y1, int y2) +{ + rt_uint64_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fixup_dir(y1, y2); + + fb = framebuffer_drift(plane, x, y1, 64); + + for (; y1 < y2; ++y1) + { + *fb = *(rt_uint64_t *)pixel; + fb = (void *)fb + plane->line_length; + } +} + +static void graphic_primary_blit_line_64bit(const char *pixel, int x, int y, rt_size_t size) +{ + rt_uint64_t *fb; + struct rt_graphic_plane *plane = primary_gdev->primary_plane; + + fb = framebuffer_drift(plane, x, y, 64); + + while (size --> 0) + { + *fb++ = *(rt_uint64_t *)pixel; + pixel += 8; + } +} + +static struct rt_device_graphic_ops graphic_primary_64bit_ops = +{ + .set_pixel = graphic_primary_set_pixel_64bit, + .get_pixel = graphic_primary_get_pixel_64bit, + .draw_hline = graphic_primary_draw_hline_64bit, + .draw_vline = graphic_primary_draw_vline_64bit, + .blit_line = graphic_primary_blit_line_64bit, +}; + +struct rt_device_graphic_ops *rt_graphic_device_switch_primary(struct rt_graphic_device *gdev) +{ + primary_gdev = gdev; + + RT_ASSERT(primary_gdev != RT_NULL); + RT_ASSERT(primary_gdev->primary_plane != RT_NULL); + + switch (rt_graphic_mode_bpp(primary_gdev->primary_plane->mode)) + { + case 32: return &graphic_primary_32bit_ops; + case 24: return &graphic_primary_24bit_ops; + case 16: return &graphic_primary_16bit_ops; + case 64: return &graphic_primary_64bit_ops; + case 8: return &graphic_primary_8bit_ops; + default: + LOG_E("What the fuck format(%u)", primary_gdev->primary_plane->mode); + RT_ASSERT(0); + break; + } + + return RT_NULL; +} diff --git a/components/drivers/graphic/graphic_simple.c b/components/drivers/graphic/graphic_simple.c new file mode 100644 index 00000000000..141fc9d9131 --- /dev/null +++ b/components/drivers/graphic/graphic_simple.c @@ -0,0 +1,295 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include +#include + +#define DBG_TAG "graphic.simple" +#define DBG_LVL DBG_INFO +#include + +static rt_uint32_t edid_dpi_to_mm(rt_uint32_t dpi, rt_uint32_t res) +{ + return res * 254 / 10 / dpi; +} + +static void edid_checksum(rt_uint8_t *edid, rt_size_t len) +{ + rt_uint32_t sum = 0; + + for (int i = 0; i < len; ++i) + { + sum += edid[i]; + } + + sum &= 0xff; + + if (sum) + { + edid[len] = 0x100 - sum; + } +} + +static void fill_edid(struct rt_graphic_device *gdev, + rt_uint32_t width, rt_uint32_t height, rt_uint32_t refresh_hz) +{ + union + { + rt_uint32_t u32; + rt_uint16_t u16; + } value; + int dt_idx = 0; + int width_mm, height_mm; + rt_uint64_t clock; + rt_uint32_t xfront, xsync, xblank, yfront, ysync, yblank; + struct edid *edid = &gdev->edid; + struct detailed_timing *dt; + struct detailed_pixel_timing *dpt; + struct detailed_non_pixel *dnp; + + refresh_hz = refresh_hz ? : 75000; + width_mm = edid_dpi_to_mm(100, width); + height_mm = edid_dpi_to_mm(100, height); + + /* EDID: timings */ + xfront = width * 25 / 100; + xsync = width * 3 / 100; + xblank = width * 35 / 100; + yfront = height * 5 / 1000; + ysync = height * 5 / 1000; + yblank = height * 35 / 1000; + clock = ((rt_uint64_t)refresh_hz * (width + xblank) * (height + yblank)) / 10000000; + + if (width >= 4096 || height >= 4096 || clock >= 65536) + { + LOG_E("%s: Large screen %ux%u@%uHz is not supported in simple", + rt_dm_dev_get_name(&gdev->parent), width, height, clock); + + RT_ASSERT(0); + } + + /* EDID: extensions */ + + /* EDID: header information */ + edid->header[0] = 0x00; + edid->header[1] = 0xff; + edid->header[2] = 0xff; + edid->header[3] = 0xff; + edid->header[4] = 0xff; + edid->header[5] = 0xff; + edid->header[6] = 0xff; + edid->header[7] = 0x00; + + /* Vendor id */ + value.u16 = rt_cpu_to_be16( + ((('R' - '@') & 0x1f) << 10) | + ((('T' - '@') & 0x1f) << 5) | + ((('T' - '@') & 0x1f) << 0)); + rt_memcpy(edid->mfg_id, &value.u16, sizeof(edid->mfg_id)); + + /* Product code */ + value.u16 = rt_cpu_to_le16(0x1234); + rt_memcpy(edid->prod_code, &value.u16, sizeof(edid->prod_code)); + + /* Serial number */ + edid->serial = rt_cpu_to_le32(0); + + /* Manufacture week and year */ + edid->mfg_week = 42; + edid->mfg_year = 2014 - 1990; + + /* Version */ + edid->version = 1; + edid->revision = 4; + + /* EDID: basic display parameters */ + + /* Video input: digital, 8bpc, displayport */ + edid->input = 0xa5; + + /* Screen size */ + edid->width_cm = width_mm / 10; + edid->height_cm = height_mm / 10; + + /* Gamma: 2.2 */ + edid->gamma = 220 - 100; + + /* Features: STD sRGB, preferred timing */ + edid->features = 0x06; + + /* EDID: chromaticity coordinates */ + + /* + * STD sRGB colorspace: + * X Y + * red: 0.6400, 0.3300 + * green: 0.3000, 0.6000 + * blue: 0.1500, 0.0600 + * white point: 0.3127, 0.3290 + * + * value = (uint32_t)(value * 1024 + 0.5) + * + * red_x = 0.6400 * 1024 + 0.5 = 655.86 => 655 + * red_y = 0.3300 * 1024 + 0.5 = 338.42 => 338 + * green_x = 0.3000 * 1024 + 0.5 = 307.7 => 307 + * green_y = 0.6000 * 1024 + 0.5 = 614.9 => 614 + * blue_x = 0.1500 * 1024 + 0.5 = 154.1 => 154 + * blue_y = 0.0600 * 1024 + 0.5 = 61.94 => 61 + * white_x = 0.3127 * 1024 + 0.5 = 320.7048 => 320 + * white_y = 0.3290 * 1024 + 0.5 = 337.396 => 337 + */ + edid->red_green_lo = (((655 & 0x03) << 6) | /* red_x */ + ((338 & 0x03) << 4) | /* red_y */ + ((307 & 0x03) << 2) | /* green_x */ + ((614 & 0x03) << 0)); /* green_y */ + edid->black_white_lo = (((154 & 0x03) << 6) | /* blue_x */ + ((154 & 0x03) << 4) | /* blue_y */ + ((320 & 0x03) << 2) | /* white_x */ + ((337 & 0x03) << 0)); /* white_y */ + edid->red_x = 655 >> 2; /* red_x */ + edid->red_y = 338 >> 2; /* red_y */ + edid->green_x = 307 >> 2; /* green_x */ + edid->green_y = 614 >> 2; /* green_y */ + edid->blue_x = 154 >> 2; /* blue_x */ + edid->blue_y = 154 >> 2; /* blue_y */ + edid->white_x = 320 >> 2; /* white_x */ + edid->white_y = 337 >> 2; /* white_y */ + + /* EDID: established timing bitmap */ + /* EDID: standard timing information */ + + /* EDID: descriptor blocks */ + dt = &edid->detailed_timings[dt_idx++]; + dpt = &dt->data.pixel_data; + + dt->pixel_clock = rt_cpu_to_le16(clock); + dpt->hactive_lo = width & 0xff; + dpt->hblank_lo = xblank & 0xff; + dpt->hactive_hblank_hi = (((width & 0xf00) >> 4) | ((xblank & 0xf00) >> 8)); + + dpt->vactive_lo = height & 0xff; + dpt->vblank_lo = yblank & 0xff; + dpt->vactive_vblank_hi = (((height & 0xf00) >> 4) | ((yblank & 0xf00) >> 8)); + + dpt->hsync_offset_lo = xfront & 0xff; + dpt->hsync_pulse_width_lo = xsync & 0xff; + + dpt->vsync_offset_pulse_width_lo = (((yfront & 0x00f) << 4) | + ((ysync & 0x00f) << 0)); + dpt->hsync_vsync_offset_pulse_width_hi = (((xfront & 0x300) >> 2) | + ((xsync & 0x300) >> 4) | + ((yfront & 0x030) >> 2) | + ((ysync & 0x030) >> 4)); + + dpt->width_mm_lo = width_mm & 0xff; + dpt->height_mm_lo = height_mm & 0xff; + dpt->width_height_mm_hi = (((width_mm & 0xf00) >> 4) | + ((height_mm & 0xf00) >> 8)); + + dpt->misc = 0x18; + + /* XTRA3 STD */ + dt = &edid->detailed_timings[dt_idx++]; + dnp = &dt->data.other_data; + dnp->type = EDID_DETAIL_EST_TIMINGS; + dnp->data.timings[0].hsize = 10; + + /* Ranges */ + dt = &edid->detailed_timings[dt_idx++]; + dnp = &dt->data.other_data; + dnp->type = EDID_DETAIL_MONITOR_RANGE; + dnp->data.range.min_vfreq = 50; + dnp->data.range.max_vfreq = 125; + dnp->data.range.min_hfreq_khz = 30; + dnp->data.range.max_hfreq_khz = 160; + dnp->data.range.pixel_clock_mhz = 2550 / 10; + dnp->data.range.flags = 0x01; + rt_memcpy(&dnp->data.range.flags + 1, "\n ", 7); + + while (dt_idx < RT_ARRAY_SIZE(edid->detailed_timings)) + { + /* Dummy */ + dt = &edid->detailed_timings[dt_idx++]; + dnp = &dt->data.other_data; + dnp->type = 0x10; + } + + /* EDID: display id extensions */ + + /* EDID: checksum */ + edid_checksum((void *)edid, 127); +} + +rt_err_t rt_graphic_device_simple_edid(struct rt_graphic_device *gdev, + rt_uint32_t width, rt_uint32_t height, rt_uint32_t refresh_hz) +{ + if (!gdev || !width || !height) + { + return -RT_EINVAL; + } + + fill_edid(gdev, width, height, refresh_hz); + + return RT_EOK; +} + +static const struct rt_graphic_device_ops graphic_device_simple_ops = +{ +}; + +rt_err_t rt_graphic_device_simple_register(struct rt_graphic_device *gdev, + rt_uint32_t width, rt_uint32_t height, rt_uint32_t refresh_hz, + const struct rt_graphic_plane_ops *plane_ops, + const rt_uint32_t *modes, rt_uint32_t modes_nr) +{ + rt_err_t err; + struct rt_graphic_plane *plane; + + if (!gdev || !width || !height || !plane_ops || !modes || !modes_nr) + { + return -RT_EINVAL; + } + + if (!gdev->ops) + { + gdev->ops = &graphic_device_simple_ops; + } + + plane = rt_graphic_device_alloc_plane(gdev, 0, plane_ops, modes, modes_nr, + RT_GRAPHIC_PLANE_TYPE_PRIMARY); + + if (!plane) + { + return -RT_EINVAL; + } + + if ((err = rt_graphic_device_add_plane(gdev, plane))) + { + goto _free_plane; + } + + rt_graphic_device_simple_edid(gdev, width, height, refresh_hz); + + err = rt_graphic_device_register(gdev); + +_free_plane: + if (err) + { + rt_free(plane); + } + + return err; +} + +rt_err_t rt_graphic_device_simple_unregister(struct rt_graphic_device *gdev) +{ + return rt_graphic_device_unregister(gdev); +} diff --git a/components/drivers/graphic/logo/.gitignore b/components/drivers/graphic/logo/.gitignore new file mode 100644 index 00000000000..e524629a37f --- /dev/null +++ b/components/drivers/graphic/logo/.gitignore @@ -0,0 +1 @@ +logo.inc \ No newline at end of file diff --git a/components/drivers/graphic/logo/Kconfig b/components/drivers/graphic/logo/Kconfig new file mode 100644 index 00000000000..45bcfe3f59d --- /dev/null +++ b/components/drivers/graphic/logo/Kconfig @@ -0,0 +1,31 @@ +menuconfig RT_GRAPHIC_LOGO + bool "Startup Logo" + select RT_GRAPHIC_FB + default y + +choice + prompt "Rendering image(ppm)" + default RT_GRAPHIC_LOGO_RT_THREAD_CLUT224 + depends on RT_GRAPHIC_LOGO + + config RT_GRAPHIC_LOGO_NONE + bool "None logo (Change in runtime)" + + osource "$(SOC_DM_GRAPHIC_LOGO_DIR)/Kconfig" +endchoice + +# Provide the logos path for the BSP path: +# +# RT_GRAPHIC_LOGO_ in Kconfig: +# +# config RT_GRAPHIC_LOGO_ +# bool " logo" +# +# RT_GRAPHIC_LOGO__PATH in Kconfig.path: +# +# if RT_GRAPHIC_LOGO_ +# config RT_GRAPHIC_LOGO__PATH +# string +# default "dm/graphic/logo/[filename].ppm" +# endif +osource "$(SOC_DM_GRAPHIC_LOGO_DIR)/Kconfig.path" diff --git a/components/drivers/graphic/logo/SConscript b/components/drivers/graphic/logo/SConscript new file mode 100644 index 00000000000..622ada04490 --- /dev/null +++ b/components/drivers/graphic/logo/SConscript @@ -0,0 +1,84 @@ +from building import * +import os, re + +group = [] + +if not GetDepend(['RT_GRAPHIC_LOGO']): + Return('group') + +cwd = GetCurrentDir() +CPPPATH = [cwd + '/../../include'] +CPPDEFINES = [] + +src = ['logo.c'] + +logo_path = None +logo_width = 0 +logo_height = 0 +logo_max_val = 0 + +if logo_path == None: + # Find in BSP + paths = None + for key in BuildOptions.keys(): + if re.match(r'RT_GRAPHIC_LOGO_.*_PATH', key): + paths = BuildOptions[key] + break + + if paths != None and len(paths) > 0: + logo_path = Dir('#').abspath + '/' + paths[1:-1] + if not os.path.exists(logo_path): + print("Logo file '{}' not found!".format(logo_path)) + exit(-1) + +if logo_path != None: + with open(logo_path, 'rb') as ppm: + data = ppm.read().split(b'\n') + + # PPM: + magic = data[0].decode('utf-8') + + # PPM: + offset = 1 + while True: + comment = str(data[offset].decode('utf-8')) + if comment[0] != '#': + break + offset += 1 + + # PPM: + logo_width, logo_height = map(int, data[offset].split()) + + # PPM: + logo_max_val = int(data[offset + 1]) + + # PPM: + ppm.seek(0) + pixels = b''.join(ppm.readlines()[offset + 2:]) + ppm.close() + + if magic == 'P1' or magic == 'P2' or magic == 'P3': + # ASCII + pixels = re.sub(b'\\s+', b'\n', pixels.strip()).decode('utf-8').split('\n') + + logo = open(cwd + '/logo.inc', "w") + + for dy in range(logo_height): + for dx in range(logo_width): + index = (dy * logo_width + dx) * 3 + # Red + logo.write(str(pixels[index]).rjust(4) + ",") + # Green + logo.write(str(pixels[index + 1]).rjust(4) + ",") + # Blue + logo.write(str(pixels[index + 2]).rjust(4) + ",") + logo.write("\n") + + logo.close() + +CPPDEFINES += ['__STARTUP_LOGO_WIDTH__=' + str(logo_width)] +CPPDEFINES += ['__STARTUP_LOGO_HEIGHT__=' + str(logo_height)] +CPPDEFINES += ['__STARTUP_LOGO_COLOR_MAX__=' + str(logo_max_val)] + +group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES) +Return('group') diff --git a/components/drivers/graphic/logo/logo.c b/components/drivers/graphic/logo/logo.c new file mode 100644 index 00000000000..34597c8c03a --- /dev/null +++ b/components/drivers/graphic/logo/logo.c @@ -0,0 +1,216 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include +#include + +#define DBG_TAG "graphic.logo" +#define DBG_LVL DBG_INFO +#include + +#if __STARTUP_LOGO_WIDTH__ && __STARTUP_LOGO_HEIGHT__ && __STARTUP_LOGO_COLOR_MAX__ +static rt_uint8_t builtin_logo[] = +{ + #include "logo.inc" +}; + +static void *startup_logo = builtin_logo; +#else +static void *startup_logo = RT_NULL; +#endif +static int startup_logo_width = __STARTUP_LOGO_WIDTH__; +static int startup_logo_height = __STARTUP_LOGO_HEIGHT__; +static int startup_logo_color_max = __STARTUP_LOGO_COLOR_MAX__; + +rt_err_t rt_graphic_logo_change(void *data, int width, int height, int color_max) +{ + if (!data && !width && !height && !color_max) + { + /* Disable logo */ + startup_logo = RT_NULL; + } + else if (data && width > 0 && height > 0 && color_max > 0) + { + startup_logo = data; + startup_logo_width = width; + startup_logo_height = height; + startup_logo_color_max = color_max; + } + else + { + return -RT_EINVAL; + } + + return RT_EOK; +} + +static rt_ubase_t to_grayscale(rt_ubase_t red, rt_ubase_t green, rt_ubase_t blue) +{ + return (299 * red + 587 * green + 114 * blue) / 1000; +} + +static rt_ubase_t to_color(rt_ubase_t color, rt_ubase_t in_color_max, rt_ubase_t out_color_max) +{ + return color * out_color_max / in_color_max; +} + +static rt_ubase_t gray_reordering(rt_ubase_t red, rt_ubase_t red_off, + rt_ubase_t green, rt_ubase_t green_off, + rt_ubase_t blue, rt_ubase_t blue_off, + rt_ubase_t in_color_max, rt_ubase_t out_color_max) +{ + return to_grayscale(to_color(red, in_color_max, out_color_max), + to_color(green, in_color_max, out_color_max), + to_color(blue, in_color_max, out_color_max)); +} + +static rt_ubase_t rgb_reordering(rt_ubase_t red, rt_ubase_t red_off, + rt_ubase_t green, rt_ubase_t green_off, + rt_ubase_t blue, rt_ubase_t blue_off, + rt_ubase_t in_color_max, rt_ubase_t out_color_max) +{ + return (to_color(red, in_color_max, out_color_max) << red_off) | + (to_color(green, in_color_max, out_color_max) << green_off) | + (to_color(blue, in_color_max, out_color_max) << blue_off); +} + +rt_err_t rt_graphic_logo_render(struct rt_graphic_device *gdev) +{ + rt_err_t err; + int fb_color_max; + rt_ubase_t xlate, none_alpha; + rt_ubase_t red_off, green_off, blue_off; + rt_ubase_t red_mask, green_mask, blue_mask; + rt_uint8_t *logo, *fb, bytes_per_pixel; + rt_ubase_t (*color_reordering)(rt_ubase_t, rt_ubase_t, + rt_ubase_t, rt_ubase_t, + rt_ubase_t, rt_ubase_t, + rt_ubase_t, rt_ubase_t); + struct fb_var_screeninfo var; + struct rt_device_rect_info rect; + struct rt_device_graphic_info info; + struct rt_device *fbdev = &gdev->parent; + + if (!startup_logo) + { + return RT_EOK; + } + + if ((err = rt_device_open(fbdev, 0))) + { + return err; + } + + if ((err = rt_device_control(fbdev, FBIOGET_VSCREENINFO, &var))) + { + LOG_E("Get framebuffer %s error = %s", "var", rt_strerror(err)); + + goto _close_fbdev; + } + + if (startup_logo_width > var.xres || startup_logo_height > var.yres) + { + LOG_E("PPM logo[%u, %u] Out of screen[%u, %u]", + startup_logo_width, startup_logo_height, var.xres, var.yres); + + err = -RT_EINVAL; + goto _close_fbdev; + } + + if ((err = rt_device_control(fbdev, RTGRAPHIC_CTRL_GET_INFO, &info))) + { + LOG_E("Get framebuffer %s error = %s", "info", rt_strerror(err)); + + goto _close_fbdev; + } + + if ((err = rt_device_control(fbdev, RTGRAPHIC_CTRL_POWERON, RT_NULL))) + { + LOG_E("Power on graphic device error = %s", rt_strerror(err)); + + goto _close_fbdev; + } + + if (var.grayscale) + { + color_reordering = &gray_reordering; + } + else + { + color_reordering = &rgb_reordering; + } + + bytes_per_pixel = var.bits_per_pixel / 8; + xlate = (var.xres - startup_logo_width) * bytes_per_pixel; + + rect.x = (var.xres - startup_logo_width) >> 1; + rect.y = (var.yres - startup_logo_height) >> 1; + rect.width = startup_logo_width, + rect.height = startup_logo_height, + + fb = (void *)info.framebuffer; + fb += rect.x * bytes_per_pixel + rect.y * info.pitch; + + logo = startup_logo; + + red_off = var.red.offset; + red_mask = RT_GENMASK(var.red.length - 1, 0); + green_off = var.green.offset; + green_mask = RT_GENMASK(var.green.length - 1, 0); + blue_off = var.blue.offset; + blue_mask = RT_GENMASK(var.blue.length - 1, 0); + + fb_color_max = rt_max_t(int, rt_max_t(int, red_mask, green_mask), blue_mask); + + if (var.transp.length) + { + none_alpha = RT_GENMASK(var.transp.length - 1, 0) << var.transp.offset; + } + else + { + none_alpha = 0; + } + + for (int dy = 0; dy < startup_logo_height; ++dy) + { + for (int dx = 0; dx < startup_logo_width; ++dx) + { + rt_ubase_t color = color_reordering(logo[0], red_off, + logo[1], green_off, + logo[2], blue_off, + fb_color_max, startup_logo_color_max) | + none_alpha; + + rt_memcpy(fb, &color, bytes_per_pixel); + + fb += bytes_per_pixel; + logo += 3; + } + + fb += xlate; + } + + rt_device_control(fbdev, RTGRAPHIC_CTRL_RECT_UPDATE, &rect); + rt_device_control(fbdev, RTGRAPHIC_CTRL_WAIT_VSYNC, RT_NULL); + + /* Complete */ + startup_logo = RT_NULL; + + /* + * Should recycle here, logo takes up too much memory + * if builtin is not RT_GRAPHIC_LOGO_NONE. + */ + +_close_fbdev: + rt_device_close(fbdev); + + return err; +} diff --git a/components/drivers/graphic/logo/logo.html b/components/drivers/graphic/logo/logo.html new file mode 100644 index 00000000000..81e78c4aa1e --- /dev/null +++ b/components/drivers/graphic/logo/logo.html @@ -0,0 +1,243 @@ + + + + + + + + + Logo PPM Previews + + + +

+ + + diff --git a/components/drivers/include/drivers/graphic.h b/components/drivers/include/drivers/graphic.h new file mode 100644 index 00000000000..df9b22729f0 --- /dev/null +++ b/components/drivers/include/drivers/graphic.h @@ -0,0 +1,367 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#ifndef __GRAPHIC_DM_H__ +#define __GRAPHIC_DM_H__ + +#include +#include +#include +#include +#include +#include + +#undef rt_graphix_ops +#define rt_graphix_ops(dev) \ + rt_graphic_device_switch_primary(rt_container_of(dev, struct rt_graphic_device, parent)) + +rt_packed(struct est_timings +{ + rt_uint8_t t1; + rt_uint8_t t2; + rt_uint8_t mfg_rsvd; +}); + +rt_packed(struct std_timing +{ + /* Need to multiply by 8 then add 248 */ + rt_uint8_t hsize; + rt_uint8_t vfreq_aspect; +}); + +rt_packed(struct detailed_pixel_timing +{ + rt_uint8_t hactive_lo; + rt_uint8_t hblank_lo; + rt_uint8_t hactive_hblank_hi; + rt_uint8_t vactive_lo; + rt_uint8_t vblank_lo; + rt_uint8_t vactive_vblank_hi; + rt_uint8_t hsync_offset_lo; + rt_uint8_t hsync_pulse_width_lo; + rt_uint8_t vsync_offset_pulse_width_lo; + rt_uint8_t hsync_vsync_offset_pulse_width_hi; + rt_uint8_t width_mm_lo; + rt_uint8_t height_mm_lo; + rt_uint8_t width_height_mm_hi; + rt_uint8_t hborder; + rt_uint8_t vborder; + rt_uint8_t misc; +}); + +rt_packed(struct detailed_data_string +{ + rt_uint8_t str[13]; +}); + +rt_packed(struct detailed_data_monitor_range +{ + rt_uint8_t min_vfreq; + rt_uint8_t max_vfreq; + rt_uint8_t min_hfreq_khz; + rt_uint8_t max_hfreq_khz; + /* Need to multiply by 10 */ + rt_uint8_t pixel_clock_mhz; + rt_uint8_t flags; + + union + { + rt_packed(struct + { + rt_uint8_t reserved; + /* Need to multiply by 2 */ + rt_uint8_t hfreq_start_khz; + /* Need to divide by 2 */ + rt_uint8_t c; + rt_le16_t m; + rt_uint8_t k; + /* Need to divide by 2 */ + rt_uint8_t j; + }) gtf2; + rt_packed(struct + { + rt_uint8_t version; + /* High 6 bits: extra clock resolution */ + rt_uint8_t data1; + /* Plus low 2 of above: max hactive */ + rt_uint8_t data2; + rt_uint8_t supported_aspects; + /* Preferred aspect and blanking support */ + rt_uint8_t flags; + rt_uint8_t supported_scalings; + rt_uint8_t preferred_refresh; + }) cvt; + } formula; +}); + +rt_packed(struct detailed_data_wpindex +{ + /* Lower 2 bits each */ + rt_uint8_t white_yx_lo; + rt_uint8_t white_x_hi; + rt_uint8_t white_y_hi; + /* Need to divide by 100 then add 1 */ + rt_uint8_t gamma; +}); + +rt_packed(struct cvt_timing +{ + rt_uint8_t code[3]; +}); + +rt_packed(struct detailed_non_pixel +{ + rt_uint8_t pad1; +#define EDID_DETAIL_EST_TIMINGS 0xf7 +#define EDID_DETAIL_CVT_3BYTE 0xf8 +#define EDID_DETAIL_COLOR_MGMT_DATA 0xf9 +#define EDID_DETAIL_STD_MODES 0xfa +#define EDID_DETAIL_MONITOR_CPDATA 0xfb +#define EDID_DETAIL_MONITOR_NAME 0xfc +#define EDID_DETAIL_MONITOR_RANGE 0xfd +#define EDID_DETAIL_MONITOR_STRING 0xfe +#define EDID_DETAIL_MONITOR_SERIAL 0xff + rt_uint8_t type; + rt_uint8_t pad2; + union + { + struct detailed_data_string str; + struct detailed_data_monitor_range range; + struct detailed_data_wpindex color; + struct std_timing timings[6]; + struct cvt_timing cvt[4]; + } data; +}); + +rt_packed(struct detailed_timing +{ + /* Need to multiply by 10 KHz */ + rt_le16_t pixel_clock; + + union + { + struct detailed_pixel_timing pixel_data; + struct detailed_non_pixel other_data; + } data; +}); + +rt_packed(struct edid +{ + rt_uint8_t header[8]; + + /* Vendor & product info */ + rt_uint8_t mfg_id[2]; + rt_uint8_t prod_code[2]; + rt_le32_t serial; + rt_uint8_t mfg_week; + rt_uint8_t mfg_year; + + /* EDID version */ + rt_uint8_t version; + rt_uint8_t revision; + + /* Display info */ + rt_uint8_t input; + rt_uint8_t width_cm; + rt_uint8_t height_cm; + rt_uint8_t gamma; + rt_uint8_t features; + + /* Color characteristics */ + rt_uint8_t red_green_lo; + rt_uint8_t black_white_lo; + rt_uint8_t red_x; + rt_uint8_t red_y; + rt_uint8_t green_x; + rt_uint8_t green_y; + rt_uint8_t blue_x; + rt_uint8_t blue_y; + rt_uint8_t white_x; + rt_uint8_t white_y; + + /* Est. timings and mfg rsvd timings */ + struct est_timings established_timings; + + /* Standard timings 1-8 */ + struct std_timing standard_timings[8]; + + /* Detailing timings 1-4, 18 * 4 = 72 bytes */ + struct detailed_timing detailed_timings[4]; + + /* Number of 128 byte ext. blocks */ + rt_uint8_t extensions; + + /* Checksum */ + rt_uint8_t checksum; +}); + +struct rt_graphic_device; +struct rt_graphic_device_ops; +struct rt_graphic_plane_ops; + +enum rt_graphic_plane_prop +{ + RT_GRAPHIC_PLANE_PROP_Z = 0, + RT_GRAPHIC_PLANE_PROP_ROTATE, + RT_GRAPHIC_PLANE_PROP_ALPHA, + + RT_GRAPHIC_PLANE_PROP_MAX, +}; + +struct rt_graphic_plane +{ + rt_list_t list; + char name[RT_NAME_MAX]; + + int id; +#define RT_GRAPHIC_PLANE_TYPE_OVERLAY 0 +#define RT_GRAPHIC_PLANE_TYPE_PRIMARY 1 /* Only one, add before register */ +#define RT_GRAPHIC_PLANE_TYPE_CURSOR 2 /* Only one */ + rt_uint8_t type; + + rt_uint32_t x; + rt_uint32_t y; + rt_uint32_t z; + rt_uint32_t width; + rt_uint32_t height; +#define RT_GRAPHIC_PLANE_ROTATE_0 0 /* +0 degrees */ +#define RT_GRAPHIC_PLANE_ROTATE_90 1 /* +90 degrees */ +#define RT_GRAPHIC_PLANE_ROTATE_180 2 /* +180 degrees */ +#define RT_GRAPHIC_PLANE_ROTATE_270 3 /* +270 degrees */ + rt_uint8_t rotate; + rt_uint8_t alpha; /* 0 ~ 100 */ + + rt_uint32_t line_length; + rt_uint32_t bits_per_pixel; + + /* Support color modes: RTGRAPHIC_PIXEL_FORMAT_* */ + rt_uint32_t mode; + rt_uint32_t modes_nr; + const rt_uint32_t *modes; + + /* fb count = framebuffer_len / screen_len */ + void *framebuffer; + rt_size_t screen_len; + rt_size_t framebuffer_len; + + struct rt_graphic_device *graphic; + const struct rt_graphic_plane_ops *ops; + + rt_uint8_t priv[0]; +}; + +struct rt_graphic_plane_ops +{ + rt_err_t (*update)(struct rt_graphic_plane *plane, struct rt_device_rect_info *rect); + rt_err_t (*fb_remap)(struct rt_graphic_plane *plane, rt_uint32_t mode, struct rt_device_rect_info *rect); + rt_err_t (*fb_pan_display)(struct rt_graphic_plane *plane, struct rt_device_rect_info *rect); + rt_err_t (*fb_cleanup)(struct rt_graphic_plane *plane); + rt_err_t (*prop_set)(struct rt_graphic_plane *plane, enum rt_graphic_plane_prop prop, void *value); +}; + +struct rt_graphic_device +{ + struct rt_device parent; + + const struct rt_graphic_device_ops *ops; + + /* Display Power Manage System */ +#define RT_GRAPHIC_DPMS_ON 0 +#define RT_GRAPHIC_DPMS_STANDBY 1 +#define RT_GRAPHIC_DPMS_SUSPEND 2 +#define RT_GRAPHIC_DPMS_OFF 3 + rt_uint32_t dpms; + + rt_list_t overlay_nodes; + struct rt_graphic_plane *primary_plane; + struct rt_graphic_plane *cursor_plane; + struct rt_dm_ida plane_ida; + + /* Display information */ + struct edid edid; + +#ifdef RT_GRAPHIC_BACKLIGHT + struct rt_backlight_device *backlight; +#endif +#define RT_GRAPHIC_UPDATE_MS 16 + struct rt_timer *update_timer; + + rt_atomic_t event_notifying; + struct rt_device_notify event_notify; + + struct rt_spinlock lock; +}; + +struct rt_graphic_device_ops +{ + rt_err_t (*dpms_switch)(struct rt_graphic_device *gdev, rt_uint32_t dpms); + + rt_err_t (*set_brightness)(struct rt_graphic_device *gdev, rt_uint32_t brightness); + rt_err_t (*get_brightness)(struct rt_graphic_device *gdev, rt_uint32_t *out_brightness); + + rt_err_t (*get_status)(struct rt_graphic_device *gdev, rt_uint32_t *out_status); + + rt_err_t (*wait_vsync)(struct rt_graphic_device *gdev); + + rt_err_t (*control)(struct rt_graphic_device *gdev, int cmd, void *args); + + /* Switching planes supported by device driver */ + struct rt_graphic_plane *(*current_plane)(struct rt_graphic_device *gdev); +}; + +rt_err_t rt_graphic_device_register(struct rt_graphic_device *gdev); +rt_err_t rt_graphic_device_unregister(struct rt_graphic_device *gdev); + +struct rt_graphic_plane *rt_graphic_device_alloc_plane(struct rt_graphic_device *gdev, + rt_size_t priv_size, const struct rt_graphic_plane_ops *ops, + const rt_uint32_t *modes, rt_uint32_t modes_nr, rt_uint8_t type); +void rt_graphic_device_free_plane(struct rt_graphic_plane *plane); + +rt_err_t rt_graphic_device_add_plane(struct rt_graphic_device *gdev, + struct rt_graphic_plane *plane); +rt_err_t rt_graphic_device_del_plane(struct rt_graphic_device *gdev, + struct rt_graphic_plane *plane); + +void rt_graphic_device_hotplug_event(struct rt_graphic_device *gdev); + +rt_err_t rt_graphic_device_update_auto(struct rt_graphic_device *gdev, rt_uint32_t update_ms); + +void rt_graphic_device_enter(struct rt_graphic_device *gdev); +void rt_graphic_device_leave(struct rt_graphic_device *gdev); + +rt_uint32_t rt_graphic_mode_bpp(rt_uint32_t mode); + +struct rt_device_graphic_ops *rt_graphic_device_switch_primary(struct rt_graphic_device *gdev); + +rt_err_t rt_graphic_device_simple_edid(struct rt_graphic_device *gdev, + rt_uint32_t width, rt_uint32_t height, rt_uint32_t refresh_hz); + +rt_err_t rt_graphic_device_simple_register(struct rt_graphic_device *gdev, + rt_uint32_t width, rt_uint32_t height, rt_uint32_t refresh_hz, + const struct rt_graphic_plane_ops *plane_ops, + const rt_uint32_t *modes, rt_uint32_t modes_nr); +rt_err_t rt_graphic_device_simple_unregister(struct rt_graphic_device *gdev); + +#ifdef RT_GRAPHIC_LOGO +rt_err_t rt_graphic_logo_change(void *data, int width, int height, int color_max); +rt_err_t rt_graphic_logo_render(struct rt_graphic_device *gdev); +#else +rt_inline rt_err_t rt_graphic_logo_change(void *data, int width, int height, int color_max) +{ + return RT_EOK; +} + +rt_inline rt_err_t rt_graphic_logo_render(struct rt_graphic_device *gdev) +{ + return RT_EOK; +} +#endif /* RT_GRAPHIC_LOGO */ + +#endif /* __GRAPHIC_DM_H__ */ diff --git a/components/drivers/include/drivers/lcd.h b/components/drivers/include/drivers/lcd.h index f2dcdce4451..11fa8e6dccc 100644 --- a/components/drivers/include/drivers/lcd.h +++ b/components/drivers/include/drivers/lcd.h @@ -11,6 +11,8 @@ #ifndef RT_LCD_H__ #define RT_LCD_H__ +#include + /* ioctls 0x46 is 'F' */ @@ -109,4 +111,35 @@ struct fb_fix_screeninfo uint16_t reserved[2]; /* Reserved for future compatibility */ }; +struct fb_cmap +{ + uint32_t start; /* First entry */ + uint32_t len; /* Number of entries */ + uint16_t *red; /* Red values */ + uint16_t *green; + uint16_t *blue; + uint16_t *transp; /* transparency, can be NULL */ +}; + +struct fb_con2fbmap +{ + uint32_t console; + uint32_t framebuffer; +}; + +/* VESA Blanking Levels */ +#define VESA_NO_BLANKING 0 +#define VESA_VSYNC_SUSPEND 1 +#define VESA_HSYNC_SUSPEND 2 +#define VESA_POWERDOWN 3 + +enum +{ + FB_BLANK_UNBLANK = VESA_NO_BLANKING, /* screen: unblanked, hsync: on, vsync: on */ + FB_BLANK_NORMAL = VESA_NO_BLANKING + 1, /* screen: blanked, hsync: on, vsync: on */ + FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1, /* screen: blanked, hsync: on, vsync: off */ + FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1, /* screen: blanked, hsync: off, vsync: on */ + FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1, /* screen: blanked, hsync: off, vsync: off */ +}; + #endif diff --git a/examples/test/dm_graphic_test.c b/examples/test/dm_graphic_test.c new file mode 100644 index 00000000000..a6894ddc6e6 --- /dev/null +++ b/examples/test/dm_graphic_test.c @@ -0,0 +1,310 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include + +#include + +#ifdef RT_USING_GRAPHIC +typedef rt_int32_t fixed; /* Q16.16 */ + +#define FIX_ONE 65536 +#define FIX_06 19661 /* 0.3 */ +#define FIX_35 22938 /* 0.35 */ +#define FIX_14 917504 /* 14.0 */ +#define FIX_286 187432 /* 2.86 */ +#define FIX_75 49152 /* 0.75 */ +#define FIX_1_3 21845 +#define FIX_2_3 43690 +#define FIX_6 393216 +#define FIX_3 196608 +#define FIX_255 16711680 /* 255 */ + +#define FMUL(a,b) ((fixed)(((rt_int64_t)(a) * (b)) >> 16)) +#define FDIV(a,b) ((fixed)(((rt_int64_t)(a) << 16) / (b))) + +typedef struct { fixed x, y, z; } vec3f; + +rt_inline fixed fix_floor(fixed x) +{ + return x & 0xffff0000; +} + +rt_inline fixed fix_fract(fixed x) +{ + return x & 0x0000ffff; +} + +rt_inline fixed fix_abs(fixed x) +{ + return rt_abs(x); +} + +rt_inline fixed fix_clamp(fixed x, fixed a, fixed b) +{ + return rt_clamp(x, a, b); +} + +static vec3f clamp3(vec3f v, fixed a, fixed b) +{ + vec3f r = + { + .x = fix_clamp(v.x, a, b), + .y = fix_clamp(v.y, a, b), + .z = fix_clamp(v.z, a, b), + }; + + return r; +} + +static vec3f mix3(vec3f A, vec3f B, fixed t) +{ + fixed omt = FIX_ONE - t; + vec3f r = + { + .x = FMUL(A.x, omt) + FMUL(B.x, t), + .y = FMUL(A.y, omt) + FMUL(B.y, t), + .z = FMUL(A.z, omt) + FMUL(B.z, t), + }; + + return r; +} + +static vec3f hsv2rgb(vec3f c) +{ + vec3f t, r, base, mixed; + fixed pX = FMUL(fix_fract(c.x + FIX_ONE), FIX_6); + fixed pY = FMUL(fix_fract(c.x + FIX_2_3), FIX_6); + fixed pZ = FMUL(fix_fract(c.x + FIX_1_3), FIX_6); + + pX = fix_abs(pX - FIX_3); + pY = fix_abs(pY - FIX_3); + pZ = fix_abs(pZ - FIX_3); + + t.x = pX - FIX_ONE; + t.y = pY - FIX_ONE; + t.z = pZ - FIX_ONE; + t = clamp3(t, 0, FIX_ONE); + + base.x = FIX_ONE; + base.y = FIX_ONE; + base.z = FIX_ONE; + + mixed = mix3(base, t, c.y); + + r.x = FMUL(c.z, mixed.x); + r.y = FMUL(c.z, mixed.y); + r.z = FMUL(c.z, mixed.z); + + return r; +} + +static void shader_frame(int px, int py, int width, int height, int frame, + rt_uint8_t *r, rt_uint8_t *g, rt_uint8_t *b) +{ + vec3f col; + fixed uv_x, uv_y, shift, size_computed, st, x; + + uv_x = FDIV((fixed)(px << 16), (fixed)(width << 16)); + uv_y = FDIV((fixed)(py << 16), (fixed)(width << 16)); + + shift = fix_fract(FDIV(FMUL((frame << 16), FIX_06), FIX_286)); + shift = FMUL(shift, FIX_286); + + size_computed = FMUL(uv_x + shift - uv_y, FIX_35); + + st = FMUL(size_computed, FIX_14); + x = FDIV(fix_floor(st), FIX_14); + + col = hsv2rgb((vec3f){ x, FIX_75, FIX_ONE }); + + *r = (rt_uint8_t)((FMUL(col.x, FIX_255) >> 16) & 255); + *g = (rt_uint8_t)((FMUL(col.y, FIX_255) >> 16) & 255); + *b = (rt_uint8_t)((FMUL(col.z, FIX_255) >> 16) & 255); +} + +static void conv_gray4(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + rt_uint8_t gray = (r * 30 + g * 59 + b * 11) / 100; + *(rt_uint8_t *)pixel = gray >> 4; +} + +static void conv_gray16(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + rt_uint16_t gray = (r * 30 + g * 59 + b * 11) / 100; + rt_uint16_t out = (gray << 8) | gray; + *(rt_uint16_t *)pixel = out; +} + +static void conv_rgb332(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + *(rt_uint8_t*)pixel = ((r >> 5) << 5) | ((g >> 5) << 2) | (b >> 6); +} + +static void conv_rgb444(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + *(rt_uint16_t *)pixel = ((r >> 4) << 8) | ((g >> 4) << 4) | (b >> 4); +} + +static void conv_rgb565(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + *(rt_uint16_t *)pixel = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3); +} + +static void conv_rgb565p(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + *(rt_uint16_t *)pixel = ((g >> 2) << 10) | ((r >> 3) << 5) | (b >> 3); +} + +static void conv_bgr565(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + *(rt_uint16_t *)pixel = ((b >> 3) << 11) | ((g >> 2) << 5) | (r >> 3); +} + +static void conv_rgb666(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + rt_uint8_t *p = (rt_uint8_t *)pixel; + + p[0] = r & 0xfc; + p[1] = g & 0xfc; + p[2] = b & 0xfc; +} + +static void conv_rgb888(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + rt_uint8_t *p = (rt_uint8_t *)pixel; + + p[0] = r; + p[1] = g; + p[2] = b; +} + +static void conv_bgr888(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + rt_uint8_t *p = (rt_uint8_t*)pixel; + p[0] = b; + p[1] = g; + p[2] = r; +} + +static void conv_argb888(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + *(rt_uint32_t *)pixel = (0xffU << 24) | (r << 16) | (g << 8) | b; +} + +static void conv_abgr888(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) +{ + *(rt_uint32_t *)pixel = (0xffU << 24) | (b << 16) | (g << 8) | r; +} + +static void (*conv_funcs[])(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel) = +{ + [RTGRAPHIC_PIXEL_FORMAT_GRAY4] = conv_gray4, + [RTGRAPHIC_PIXEL_FORMAT_GRAY16] = conv_gray16, + [RTGRAPHIC_PIXEL_FORMAT_RGB332] = conv_rgb332, + [RTGRAPHIC_PIXEL_FORMAT_RGB444] = conv_rgb444, + [RTGRAPHIC_PIXEL_FORMAT_RGB565] = conv_rgb565, + [RTGRAPHIC_PIXEL_FORMAT_RGB565P] = conv_rgb565p, + [RTGRAPHIC_PIXEL_FORMAT_BGR565] = conv_bgr565, + [RTGRAPHIC_PIXEL_FORMAT_RGB666] = conv_rgb666, + [RTGRAPHIC_PIXEL_FORMAT_RGB888] = conv_rgb888, + [RTGRAPHIC_PIXEL_FORMAT_BGR888] = conv_bgr888, + [RTGRAPHIC_PIXEL_FORMAT_ARGB888] = conv_argb888, + [RTGRAPHIC_PIXEL_FORMAT_ABGR888] = conv_abgr888, +}; + +rt_err_t graphic_start(const char *gdev, int count) +{ + rt_err_t err; + rt_uint8_t *vfb, *fb, *pixel, bpp; + struct rt_device_graphic_info info; + struct rt_device *dev = rt_device_find(gdev); + void (*conv_func)(rt_uint8_t r, rt_uint8_t g, rt_uint8_t b, void *pixel); + + if (!dev) + { + return -RT_EINVAL; + } + + if ((err = rt_device_open(dev, 0))) + { + return err; + } + + if ((err = rt_device_control(dev, RTGRAPHIC_CTRL_GET_INFO, &info))) + { + goto _end; + } + + if (!(vfb = rt_malloc(info.smem_len))) + { + err = -RT_ENOMEM; + goto _end; + } + + bpp = info.bits_per_pixel / 8; + conv_func = conv_funcs[info.pixel_format]; + + for (int frame = 0; frame < count; ++frame) + { + fb = vfb; + + for (int y = 0; y < info.height; ++y) + { + pixel = fb; + + for (int x = 0; x < info.width; ++x) + { + rt_uint8_t r, g, b; + + shader_frame(x, y, info.width, info.height, frame, &r, &g, &b); + + conv_func(r, g, b, pixel); + + pixel += bpp; + } + + fb += info.pitch; + } + + rt_memcpy(info.framebuffer, vfb, info.smem_len); + } + + rt_free(vfb); + +_end: + rt_device_close(dev); + + return err; +} + +#ifdef RT_USING_FINSH +#include + +static int _graphic_start(int argc, char**argv) +{ + int count = 10; + const char *gdev = "fb0"; + + if (argc > 1) + { + gdev = argv[1]; + } + if (argc > 2) + { + count = atoi(argv[2]); + } + + return (int)graphic_start(gdev, count); +} +MSH_CMD_EXPORT_ALIAS(_graphic_start, graphic_start, fixed resolution only e.g: graphic_start("fb0", 10)); +#endif /* RT_USING_FINSH */ +#endif /* RT_USING_GRAPHIC */ diff --git a/examples/test/dm_hmi_test.c b/examples/test/dm_hmi_test.c new file mode 100644 index 00000000000..b8fea78ad6c --- /dev/null +++ b/examples/test/dm_hmi_test.c @@ -0,0 +1,421 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include + +#include +#include + +#if defined(RT_USING_GRAPHIC) && defined(RT_USING_INPUT) + +#define CURSOR_WIDTH 64 +#define CURSOR_HEIGHT 64 + +struct hmi_info +{ + struct rt_device *gdev; + struct rt_device *idev; + + struct rt_device_graphic_info info; + struct rt_device_notify event_notify; + struct rt_input_handler handler; + + rt_bool_t event; + rt_bool_t vsync; + rt_bool_t keydown; + + rt_uint32_t x, y; + rt_uint32_t dx, dy; + rt_uint32_t bytes_per_pixel; + rt_ubase_t line[2]; + rt_ubase_t colors[4]; + + void *backend_framebuffer; +}; + +static rt_bool_t hmi_working; + +static struct rt_input_device *to_input_device(struct rt_device *idev) +{ + return rt_container_of(idev, struct rt_input_device, parent); +} + +static rt_ubase_t to_color(rt_uint8_t color255, rt_ubase_t color_max) +{ + return (rt_ubase_t)color255 * color_max / 255; +} + +static void hmi_reset(struct hmi_info *hmi) +{ + void *cursor; + rt_ubase_t none_alpha; + rt_ubase_t red_off, green_off, blue_off, alpha_off; + rt_ubase_t red_mask, green_mask, blue_mask, alpha_mask; + struct fb_var_screeninfo var; + + if (hmi->backend_framebuffer) + { + rt_free(hmi->backend_framebuffer); + } + + rt_device_control(hmi->gdev, FBIOGET_VSCREENINFO, &var); + rt_device_control(hmi->gdev, RTGRAPHIC_CTRL_GET_INFO, &hmi->info); + + hmi->backend_framebuffer = rt_malloc(hmi->info.smem_len); + + hmi->bytes_per_pixel = hmi->info.bits_per_pixel / 8; + red_off = var.red.offset; + red_mask = RT_GENMASK(var.red.length - 1, 0); + green_off = var.green.offset; + green_mask = RT_GENMASK(var.green.length - 1, 0); + blue_off = var.blue.offset; + blue_mask = RT_GENMASK(var.blue.length - 1, 0); + + if (var.transp.length) + { + alpha_off = var.transp.offset; + alpha_mask = RT_GENMASK(var.transp.length - 1, 0); + } + else + { + alpha_off = 0; + alpha_mask = 0; + } + + if ((cursor = rt_malloc(CURSOR_WIDTH * CURSOR_HEIGHT * hmi->bytes_per_pixel))) + { + rt_uint8_t *stream = cursor; + rt_ubase_t color = ((to_color(0x82, red_mask)) << red_off) | + (to_color(0x50, green_mask) << green_off) | + (to_color(0xdf, blue_mask) << blue_off) | + (to_color(0xcc, alpha_mask) << alpha_off); + + for (int y = 0; y < CURSOR_HEIGHT; ++y) + { + for (int x = 0; x < CURSOR_WIDTH; ++x) + { + rt_memcpy(stream, &color, hmi->bytes_per_pixel); + stream += hmi->bytes_per_pixel; + } + } + + rt_device_control(hmi->gdev, RT_DEVICE_CTRL_CURSOR_SET_TYPE, cursor); + rt_free(cursor); + } + + none_alpha = alpha_mask << alpha_off; + + hmi->line[0] = ~0UL; + hmi->line[1] = none_alpha; + + hmi->colors[0] = ((to_color(0xff, red_mask)) << red_off) | + (to_color(0x4b, green_mask) << green_off) | + (to_color(0x00, blue_mask) << blue_off) | none_alpha; + hmi->colors[1] = ((to_color(0x7f, red_mask)) << red_off) | + (to_color(0xdb, green_mask) << green_off) | + (to_color(0x3b, blue_mask) << blue_off) | none_alpha; + hmi->colors[2] = ((to_color(0x00, red_mask)) << red_off) | + (to_color(0xa4, green_mask) << green_off) | + (to_color(0xef, blue_mask) << blue_off) | none_alpha; + hmi->colors[3] = ((to_color(0xff, red_mask)) << red_off) | + (to_color(0xb8, green_mask) << green_off) | + (to_color(0x1c, blue_mask) << blue_off) | none_alpha; + + hmi->event = RT_FALSE; +} + +static void hmi_graphic_notify(rt_device_t dev) +{ + struct hmi_info *hmi = (void *)dev; + + hmi->event = RT_TRUE; +} + +static rt_bool_t hmi_input_callback(struct rt_input_handler *handler, + struct rt_input_event *ev) +{ + struct hmi_info *hmi = handler->priv; + + if (ev->type == EV_ABS) + { + if (ev->code == 0) + { + hmi->dx = (ev->value * hmi->info.width) / + (handler->idev->absinfo->maximum - handler->idev->absinfo->minimum); + } + else if (ev->code == 1) + { + hmi->dy = (ev->value * hmi->info.height) / + (handler->idev->absinfo->maximum - handler->idev->absinfo->minimum); + } + } + else if (ev->type == EV_KEY) + { + if (ev->code == BTN_LEFT) + { + if (hmi->keydown && ev->value == 0) + { + /* Swap lines color */ + hmi->line[0] ^= hmi->line[1]; + hmi->line[1] ^= hmi->line[0]; + hmi->line[0] ^= hmi->line[1]; + + hmi->keydown = RT_FALSE; + hmi->vsync = RT_FALSE; + } + else + { + hmi->keydown = RT_TRUE; + } + } + } + else if (ev->type == EV_SYN) + { + hmi->vsync = RT_FALSE; + } + + return RT_TRUE; +} + +static void hmi_loop(void *param) +{ + struct hmi_info *hmi = param; + struct rt_device_rect_info rect; + struct rt_device_graphic_ops *gops; + + /* Graphic device event */ + hmi->event_notify.notify = &hmi_graphic_notify; + hmi->event_notify.dev = (void *)hmi; + rt_device_control(hmi->gdev, RT_DEVICE_CTRL_NOTIFY_SET, &hmi->event_notify); + + /* Input device event */ + hmi->handler.idev = to_input_device(hmi->idev); + hmi->handler.identify = RT_NULL; + hmi->handler.callback = &hmi_input_callback; + hmi->handler.priv = hmi; + rt_input_add_handler(&hmi->handler); + + hmi->backend_framebuffer = RT_NULL; + hmi_reset(hmi); + + hmi->dx = hmi->info.width >> 1; + hmi->dy = hmi->info.height >> 1; + + rect.x = 0; + rect.y = 0; + + gops = rt_graphix_ops(hmi->gdev); + rt_device_control(hmi->gdev, RTGRAPHIC_CTRL_POWERON, RT_NULL); + + while (hmi_working) + { + rt_ubase_t pos; + + /* Wait graphic change */ + if (hmi->event) + { + hmi_reset(hmi); + } + + hmi->x = hmi->dx; + hmi->y = hmi->dy; + + rect.width = hmi->info.width; + rect.height = hmi->info.height; + pos = RTGRAPHIC_PIXEL_POSITION(hmi->x, hmi->y); + + for (int i = 0; i < RT_ARRAY_SIZE(hmi->colors); ++i) + { + rt_uint32_t x1, y1, x2, y2; + void *fb = hmi->backend_framebuffer ? : hmi->info.framebuffer; + + switch (i) + { + case 0: + x1 = 0; + y1 = 0; + x2 = hmi->x; + y2 = hmi->y; + break; + + case 1: + x1 = hmi->x; + y1 = 0; + x2 = hmi->info.width; + y2 = hmi->y; + break; + + case 2: + x1 = 0; + y1 = hmi->y; + x2 = hmi->x; + y2 = hmi->info.height; + break; + + case 3: + x1 = hmi->x; + y1 = hmi->y; + x2 = hmi->info.width; + y2 = hmi->info.height; + break; + } + + fb += x1 * hmi->bytes_per_pixel + y1 * hmi->info.pitch; + + for (int y = y1; y < y2; ++y) + { + void *fb_entry = fb; + + for (int x = x1; x < x2; ++x) + { + rt_memcpy(fb, &hmi->colors[i], hmi->bytes_per_pixel); + fb += hmi->bytes_per_pixel; + } + + fb = fb_entry + hmi->info.pitch; + } + } + + if (hmi->backend_framebuffer) + { + rt_memcpy(hmi->info.framebuffer, hmi->backend_framebuffer, hmi->info.smem_len); + } + + gops->draw_hline((void *)&hmi->line[0], 0, rect.width, hmi->y); + gops->draw_vline((void *)&hmi->line[1], hmi->x, 0, rect.height); + + rt_device_control(hmi->gdev, RTGRAPHIC_CTRL_RECT_UPDATE, &rect); + rt_device_control(hmi->gdev, RT_DEVICE_CTRL_CURSOR_SET_POSITION, (void *)pos); + + /* Next position */ + hmi->vsync = RT_TRUE; + rt_hw_wmb(); + + while (hmi_working && hmi->vsync) + { + rt_thread_mdelay(1); + } + } + + rt_device_control(hmi->gdev, RTGRAPHIC_CTRL_POWEROFF, RT_NULL); + + rt_memset(&hmi->event_notify, 0, sizeof(hmi->event_notify)); + rt_device_control(hmi->gdev, RT_DEVICE_CTRL_NOTIFY_SET, &hmi->event_notify); + + rt_input_del_handler(&hmi->handler); + + rt_device_close(hmi->gdev); + rt_device_close(hmi->idev); + + if (hmi->backend_framebuffer) + { + rt_free(hmi->backend_framebuffer); + } + rt_free(hmi); + + rt_thread_delete(rt_thread_self()); +} + +rt_err_t hmi_start(const char *gdev, const char *idev) +{ + rt_err_t err; + struct hmi_info *hmi; + struct rt_thread *loop; + + if (hmi_working) + { + rt_kprintf("HMI is running\n"); + return -RT_EBUSY; + } + + hmi = rt_malloc(sizeof(*hmi)); + + if (!hmi) + { + return -RT_ENOMEM; + } + + hmi->gdev = rt_device_find(gdev); + hmi->idev = rt_device_find(idev); + + if (!hmi->gdev || !hmi->idev) + { + rt_free(hmi); + return -RT_EINVAL; + } + + if (!rt_bitmap_test_bit(to_input_device(hmi->idev)->cap, EV_ABS)) + { + rt_kprintf("%s is not a ABS input\n", idev); + rt_free(hmi); + return -RT_EINVAL; + } + + if ((err = rt_device_open(hmi->gdev, 0))) + { + rt_free(hmi); + return err; + } + + if ((err = rt_device_open(hmi->idev, 0))) + { + rt_device_close(hmi->gdev); + rt_free(hmi); + return err; + } + + loop = rt_thread_create("HMI", hmi_loop, hmi, + DM_THREAD_STACK_SIZE, + RT_THREAD_PRIORITY_MAX / 3, + rt_tick_from_millisecond(RT_GRAPHIC_UPDATE_MS)); + + if (!loop) + { + rt_device_close(hmi->gdev); + rt_device_close(hmi->idev); + rt_free(hmi); + return -RT_ENOMEM; + } + + hmi_working = RT_TRUE; + rt_thread_startup(loop); + + return RT_EOK; +} + +rt_err_t hmi_stop(void) +{ + hmi_working = RT_FALSE; + return RT_EOK; +} + +#ifdef RT_USING_FINSH +static int _hmi_start(int argc, char**argv) +{ + const char *gdev = "fb0", *idev = "input0"; + + if (argc == 3) + { + gdev = argv[1]; + idev = argv[2]; + } + + return (int)hmi_start(gdev, idev); +} +MSH_CMD_EXPORT_ALIAS(_hmi_start, hmi_start, e.g: hmi_start("fb0", "input0")); + +static int _hmi_stop(void) +{ + return (int)hmi_stop(); +} +MSH_CMD_EXPORT_ALIAS(_hmi_stop, hmi_stop, e.g: hmi_exit()); +#endif /* RT_USING_FINSH */ +#endif /* RT_USING_GRAPHIC && RT_USING_INPUT */ From 5020c0b2340b0016c3a50206caaf4f2eb3cf8786 Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Fri, 12 Dec 2025 16:03:34 +0800 Subject: [PATCH 17/20] [dm][graphic] add new drivers and logo 1. Generic GPIO based backlight driver 2. Generic PWM based backlight driver 3. Simple framebuffer support 4. Standard 224-color RT-Thread logo 5. Standard 224-color RT-Thread white logo Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/graphic/backlight/Kconfig | 15 + .../drivers/graphic/backlight/SConscript | 6 + .../graphic/backlight/backlight-gpio.c | 135 ++ .../drivers/graphic/backlight/backlight-pwm.c | 569 ++++++ .../drivers/graphic/framebuffer/Kconfig | 6 + .../drivers/graphic/framebuffer/SConscript | 3 + .../drivers/graphic/framebuffer/fb-simple.c | 381 ++++ components/drivers/graphic/logo/Kconfig | 6 + components/drivers/graphic/logo/SConscript | 6 + .../graphic/logo/logo-rt-thread-clut224.ppm | 1597 +++++++++++++++++ .../logo/logo-rt-thread-white-clut224.ppm | 1597 +++++++++++++++++ 11 files changed, 4321 insertions(+) create mode 100644 components/drivers/graphic/backlight/backlight-gpio.c create mode 100644 components/drivers/graphic/backlight/backlight-pwm.c create mode 100644 components/drivers/graphic/framebuffer/fb-simple.c create mode 100644 components/drivers/graphic/logo/logo-rt-thread-clut224.ppm create mode 100644 components/drivers/graphic/logo/logo-rt-thread-white-clut224.ppm diff --git a/components/drivers/graphic/backlight/Kconfig b/components/drivers/graphic/backlight/Kconfig index 1951e0c05ac..a0c85a32fc6 100644 --- a/components/drivers/graphic/backlight/Kconfig +++ b/components/drivers/graphic/backlight/Kconfig @@ -2,6 +2,21 @@ menuconfig RT_GRAPHIC_BACKLIGHT bool "Backlight support" default n +config RT_GRAPHIC_BACKLIGHT_GPIO + bool "Generic GPIO based backlight driver" + depends on RT_GRAPHIC_BACKLIGHT + depends on RT_USING_PIN + default n + +config RT_GRAPHIC_BACKLIGHT_PWM + bool "Generic PWM based backlight driver" + depends on RT_GRAPHIC_BACKLIGHT + depends on RT_USING_OFW + depends on RT_USING_PIN + depends on RT_USING_PWM + depends on RT_USING_REGULATOR + default n + if RT_GRAPHIC_BACKLIGHT osource "$(SOC_DM_GRAPHIC_BACKLIGHT_DIR)/Kconfig" endif diff --git a/components/drivers/graphic/backlight/SConscript b/components/drivers/graphic/backlight/SConscript index 6e29db51b3f..204867b44cc 100644 --- a/components/drivers/graphic/backlight/SConscript +++ b/components/drivers/graphic/backlight/SConscript @@ -10,5 +10,11 @@ CPPPATH = [cwd + '/../../include'] src = ['backlight.c'] +if GetDepend(['RT_GRAPHIC_BACKLIGHT_GPIO']): + src += ['backlight-gpio.c'] + +if GetDepend(['RT_GRAPHIC_BACKLIGHT_PWM']): + src += ['backlight-pwm.c'] + group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) Return('group') diff --git a/components/drivers/graphic/backlight/backlight-gpio.c b/components/drivers/graphic/backlight/backlight-gpio.c new file mode 100644 index 00000000000..b46a99fcf64 --- /dev/null +++ b/components/drivers/graphic/backlight/backlight-gpio.c @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include +#include + +#define DBG_TAG "backlight.gpio" +#define DBG_LVL DBG_INFO +#include + +struct gpio_backlight +{ + struct rt_backlight_device parent; + + rt_base_t pin; + rt_uint8_t active_val; +}; + +#define raw_to_gpio_backlight(raw) rt_container_of(raw, struct gpio_backlight, parent) + +static rt_err_t gpio_backlight_update_status(struct rt_backlight_device *bl) +{ + rt_uint8_t brightness; + struct gpio_backlight *gbl = raw_to_gpio_backlight(bl); + + rt_pin_mode(gbl->pin, PIN_MODE_OUTPUT); + + brightness = rt_backlight_power_brightness(bl); + + if (!gbl->active_val) + { + brightness = !brightness; + } + + rt_pin_write(gbl->pin, brightness); + + return RT_EOK; +} + +static struct rt_backlight_ops gpio_backlight_ops = +{ + .update_status = gpio_backlight_update_status, +}; + +static rt_err_t gpio_backlight_probe(struct rt_platform_device *pdev) +{ + rt_err_t err; + rt_bool_t def_value; + struct rt_device *dev = &pdev->parent; + struct gpio_backlight *gbl = rt_calloc(1, sizeof(*gbl)); + + if (!gbl) + { + return -RT_ENOMEM; + } + + def_value = rt_dm_dev_prop_read_bool(dev, "default-on"); + + gbl->pin = rt_pin_get_named_pin(dev, RT_NULL, 0, RT_NULL, &gbl->active_val); + + if (gbl->pin < 0) + { + err = gbl->pin; + + goto _fail; + } + + /* Set the initial power state */ + if (!dev->ofw_node || !rt_dm_dev_prop_read_bool(dev, "phandle")) + { + gbl->parent.props.power = def_value ? + RT_BACKLIGHT_POWER_UNBLANK : RT_BACKLIGHT_POWER_POWERDOWN; + } + else if (rt_pin_read(gbl->pin) != gbl->active_val) + { + gbl->parent.props.power = RT_BACKLIGHT_POWER_POWERDOWN; + } + else + { + gbl->parent.props.power = RT_BACKLIGHT_POWER_UNBLANK; + } + + gbl->parent.props.max_brightness = 1; + gbl->parent.ops = &gpio_backlight_ops; + + if ((err = rt_backlight_register(&gbl->parent))) + { + goto _fail; + } + + rt_pin_mode(gbl->pin, PIN_MODE_OUTPUT); + rt_backlight_set_brightness(&gbl->parent, 1); + + return RT_EOK; + +_fail: + rt_free(gbl); + + return err; +} + +static rt_err_t gpio_backlight_remove(struct rt_platform_device *pdev) +{ + struct gpio_backlight *gbl = pdev->parent.user_data; + + rt_backlight_unregister(&gbl->parent); + + rt_free(gbl); + + return RT_EOK; +} + +static const struct rt_ofw_node_id gpio_backlight_ofw_ids[] = +{ + { .compatible = "gpio-backlight" }, + { /* sentinel */ } +}; + +static struct rt_platform_driver gpio_backlight_driver = +{ + .name = "gpio-backlight", + .ids = gpio_backlight_ofw_ids, + + .probe = gpio_backlight_probe, + .remove = gpio_backlight_remove, +}; +RT_PLATFORM_DRIVER_EXPORT(gpio_backlight_driver); diff --git a/components/drivers/graphic/backlight/backlight-pwm.c b/components/drivers/graphic/backlight/backlight-pwm.c new file mode 100644 index 00000000000..7972cce6f28 --- /dev/null +++ b/components/drivers/graphic/backlight/backlight-pwm.c @@ -0,0 +1,569 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include +#include + +#define DBG_TAG "backlight.pwm" +#define DBG_LVL DBG_INFO +#include + +struct pwm_backlight +{ + struct rt_backlight_device parent; + + rt_uint32_t lth_brightness; + rt_uint32_t *levels; + + rt_base_t enable_pin; + rt_uint8_t active_val; + + rt_uint32_t scale; + rt_uint32_t post_pwm_on_delay; + rt_uint32_t pwm_off_delay; + rt_uint32_t dft_brightness; + rt_uint32_t max_brightness; + + rt_bool_t enabled; + struct rt_device_pwm *pwm_dev; + struct rt_pwm_configuration pwm_conf; + + struct rt_regulator *power_supply; +}; + +#define raw_to_pwm_backlight(raw) rt_container_of(raw, struct pwm_backlight, parent) + +static void pwm_backlight_power_on(struct pwm_backlight *pbl) +{ + rt_err_t err; + + if (pbl->enabled) + { + return; + } + + if (pbl->power_supply) + { + if ((err = rt_regulator_enable(pbl->power_supply))) + { + LOG_E("Enable power supply error = %s", rt_strerror(err)); + } + } + + if (pbl->post_pwm_on_delay) + { + rt_thread_mdelay(pbl->post_pwm_on_delay); + } + + if (pbl->enable_pin >= 0) + { + rt_pin_write(pbl->enable_pin, pbl->active_val); + } + + pbl->enabled = RT_TRUE; +} + +static void pwm_backlight_power_off(struct pwm_backlight *pbl) +{ + if (!pbl->enabled) + { + return; + } + + if (pbl->enable_pin >= 0) + { + rt_pin_write(pbl->enable_pin, !pbl->active_val); + } + + if (pbl->pwm_off_delay) + { + rt_thread_mdelay(pbl->pwm_off_delay); + } + + if (pbl->power_supply) + { + rt_regulator_disable(pbl->power_supply); + } + + pbl->enabled = RT_FALSE; +} + +static int compute_duty_cycle(struct pwm_backlight *pbl, rt_uint32_t brightness, + rt_uint32_t period) +{ + rt_uint64_t duty_cycle; + rt_uint32_t lth = pbl->lth_brightness; + + if (pbl->levels) + { + duty_cycle = pbl->levels[brightness]; + } + else + { + duty_cycle = brightness; + } + + duty_cycle *= period - lth; + rt_do_div(duty_cycle, pbl->scale); + + return duty_cycle + lth; +} + +static rt_err_t pwm_backlight_update_status(struct rt_backlight_device *bl) +{ + rt_uint32_t brightness, duty_cycle; + struct rt_pwm_configuration pwm_conf = {}; + struct pwm_backlight *pbl = raw_to_pwm_backlight(bl); + + rt_pwm_get(pbl->pwm_dev, &pwm_conf); + brightness = rt_backlight_power_brightness(bl); + + if (brightness > 0) + { + duty_cycle = compute_duty_cycle(pbl, brightness, pwm_conf.period); + pwm_conf.pulse = duty_cycle; + rt_pwm_set(pbl->pwm_dev, pwm_conf.channel, pwm_conf.period, pwm_conf.pulse); + + rt_pwm_enable(pbl->pwm_dev, pbl->pwm_conf.channel); + + pwm_backlight_power_on(pbl); + } + else + { + pwm_backlight_power_off(pbl); + + pwm_conf.pulse = 0; + rt_pwm_set(pbl->pwm_dev, pwm_conf.channel, pwm_conf.period, pwm_conf.pulse); + + if (pbl->power_supply || pbl->enable_pin >= 0) + { + rt_pwm_disable(pbl->pwm_dev, pbl->pwm_conf.channel); + } + } + + return RT_EOK; +} + +static struct rt_backlight_ops pwm_backlight_ops = +{ + .update_status = pwm_backlight_update_status, +}; + +#define PWM_LUMINANCE_SHIFT 16 +#define PWM_LUMINANCE_SCALE (1 << PWM_LUMINANCE_SHIFT) /* luminance scale */ + +rt_inline int period_fls(int period) +{ + return period ? sizeof(period) * 8 - __rt_clz(period) : 0; +} + +static rt_err_t pwm_backlight_brightness_default(struct pwm_backlight *pbl, + rt_uint32_t period) +{ + rt_uint32_t lightness; + rt_uint64_t res, cie1931; + + pbl->max_brightness = rt_min((int)RT_DIV_ROUND_UP(period, period_fls(period)), 4096); + + pbl->levels = rt_calloc(pbl->max_brightness, sizeof(*pbl->levels)); + + if (!pbl->levels) + { + return -RT_ENOMEM; + } + + /* Fill the table using the cie1931 algorithm */ + for (int i = 0; i < pbl->max_brightness; ++i) + { + lightness = (i * PWM_LUMINANCE_SCALE) / pbl->max_brightness * 100; + + if (lightness <= (8 * PWM_LUMINANCE_SCALE)) + { + cie1931 = RT_DIV_ROUND_CLOSEST(lightness * 10, 9033); + } + else + { + cie1931 = (lightness + (16 * PWM_LUMINANCE_SCALE)) / 116; + cie1931 *= cie1931 * cie1931; + cie1931 += 1ULL << (2 * PWM_LUMINANCE_SHIFT - 1); + cie1931 >>= 2 * PWM_LUMINANCE_SHIFT; + } + + res = cie1931 * period; + res = RT_DIV_ROUND_CLOSEST_ULL(res, PWM_LUMINANCE_SCALE); + + if (res > RT_UINT32_MAX) + { + return -RT_EINVAL; + } + + pbl->levels[i] = (rt_uint32_t)res; + } + + pbl->dft_brightness = pbl->max_brightness / 2; + pbl->max_brightness--; + + return 0; +} + +static rt_err_t pwm_backlight_ofw_parse(struct pwm_backlight *pbl, + struct rt_ofw_node *np) +{ + rt_err_t err; + rt_ssize_t length; + rt_uint32_t *table, value; + rt_uint32_t num_levels, num_steps = 0; + struct rt_ofw_prop *prop; + + /* + * These values are optional and set as 0 by default, the out values + * are modified only if a valid u32 value can be decoded. + */ + rt_ofw_prop_read_u32(np, "post-pwm-on-delay-ms", &pbl->post_pwm_on_delay); + rt_ofw_prop_read_u32(np, "pwm-off-delay-ms", &pbl->pwm_off_delay); + + /* + * Determine the number of brightness levels, if this property is not + * set a default table of brightness levels will be used. + */ + prop = rt_ofw_get_prop(np, "brightness-levels", &length); + + if (!prop) + { + return RT_EOK; + } + + num_levels = length / sizeof(rt_uint32_t); + + if (!num_levels) + { + return RT_EOK; + } + + pbl->levels = rt_calloc(num_levels, sizeof(*pbl->levels)); + + if (!pbl->levels) + { + return -RT_ENOMEM; + } + + if ((err = rt_ofw_prop_read_u32_array_index(np, "brightness-levels", + 0, num_levels, pbl->levels)) < 0) + { + goto _fail; + } + + if ((err = rt_ofw_prop_read_u32(np, "default-brightness-level", &value))) + { + goto _fail; + } + + pbl->dft_brightness = value; + + /* + * This property is optional, if is set enables linear + * interpolation between each of the values of brightness levels + * and creates a new pre-computed table. + */ + rt_ofw_prop_read_u32(np, "num-interpolated-steps", &num_steps); + + /* + * Make sure that there is at least two entries in the + * brightness-levels table, otherwise we can't interpolate + * between two points. + */ + if (num_steps) + { + rt_int64_t dy; + rt_uint32_t x1, x2, x, dx, y1, y2; + rt_uint32_t num_input_levels = num_levels; + + if (num_input_levels < 2) + { + LOG_E("Can't interpolate"); + + err = -RT_EINVAL; + goto _fail; + } + + num_levels = (num_input_levels - 1) * num_steps + 1; + + table = rt_calloc(num_levels, sizeof(*table)); + + if (!table) + { + err = -RT_ENOMEM; + goto _fail; + } + + /* + * Fill the interpolated table[x] = y + * by draw lines between each (x1, y1) to (x2, y2). + */ + dx = num_steps; + + for (int i = 0; i < num_input_levels - 1; ++i) + { + x1 = i * dx; + x2 = x1 + dx; + y1 = pbl->levels[i]; + y2 = pbl->levels[i + 1]; + dy = (rt_int64_t)y2 - y1; + + for (x = x1; x < x2; ++x) + { + table[x] = y1 + (rt_int64_t)(dy * (x - x1)) / (rt_int64_t)dx; + } + } + + /* Fill in the last point, since no line starts here. */ + table[x2] = y2; + + rt_free(pbl->levels); + pbl->levels = table; + } + + pbl->max_brightness = num_levels - 1; + + return RT_EOK; + +_fail: + rt_free(pbl->levels); + + return err; +} + +static enum rt_backlight_power pwm_backlight_initial_power_state( + struct pwm_backlight *pbl, struct rt_device *dev) +{ + rt_bool_t active = RT_TRUE; + + if (pbl->enable_pin >= 0 && rt_pin_read(pbl->enable_pin) != pbl->active_val) + { + active = RT_FALSE; + } + + if (pbl->power_supply && !rt_regulator_is_enabled(pbl->power_supply)) + { + active = RT_FALSE; + } + + /* Synchronize the enable_gpio with the observed state of the hardware. */ + rt_pin_mode(pbl->enable_pin, PIN_MODE_OUTPUT); + rt_pin_write(pbl->enable_pin, active ? pbl->active_val : !pbl->active_val); + + /* Not booted with device tree or no phandle link to the node */ + if (!dev->ofw_node || rt_dm_dev_prop_read_bool(dev, "phandle")) + { + return RT_BACKLIGHT_POWER_UNBLANK; + } + + return active ? RT_BACKLIGHT_POWER_UNBLANK: RT_BACKLIGHT_POWER_POWERDOWN; +} + +static rt_err_t pwm_backlight_probe(struct rt_platform_device *pdev) +{ + rt_err_t err; + enum rt_backlight_power power; + struct rt_ofw_cell_args pwm_args; + struct rt_device *dev = &pdev->parent; + struct rt_ofw_node *np = dev->ofw_node, *pwm_np; + struct pwm_backlight *pbl = rt_calloc(1, sizeof(*pbl)); + + if (!pbl) + { + return -RT_ENOMEM; + } + + if ((err = pwm_backlight_ofw_parse(pbl, dev->ofw_node))) + { + goto _fail; + } + + pbl->enable_pin = rt_pin_get_named_pin(dev, "enable", 0, RT_NULL, &pbl->active_val); + + if (pbl->enable_pin < 0 && pbl->enable_pin != PIN_NONE) + { + err = pbl->enable_pin; + + goto _fail; + } + + pbl->power_supply = rt_regulator_get(dev, "power"); + + if (rt_is_err(pbl->power_supply)) + { + err = rt_ptr_err(pbl->power_supply); + + goto _fail; + } + + if (rt_ofw_parse_phandle_cells(np, "pwms", "#pwm-cells", 0, &pwm_args)) + { + err = -RT_EINVAL; + goto _fail; + } + + pwm_np = pwm_args.data; + + if (!rt_ofw_data(pwm_np)) + { + rt_platform_ofw_request(pwm_np); + } + + pbl->pwm_dev = rt_ofw_data(pwm_np); + rt_ofw_node_put(pwm_np); + + if (!pbl->pwm_dev) + { + err = -RT_EINVAL; + goto _fail; + } + + pbl->pwm_conf.channel = pwm_args.args[0]; + pbl->pwm_conf.period = pwm_args.args[1]; + + rt_pwm_set_period(pbl->pwm_dev, pbl->pwm_conf.channel, pbl->pwm_conf.period); + + if (pbl->levels) + { + for (int i = 0; i <= pbl->max_brightness; ++i) + { + if (pbl->levels[i] > pbl->scale) + { + pbl->scale = pbl->levels[i]; + } + } + } + else if (!pbl->max_brightness) + { + struct rt_pwm_configuration pwm_conf = {}; + + rt_pwm_get(pbl->pwm_dev, &pwm_conf); + + /* Make levels */ + if ((err = pwm_backlight_brightness_default(pbl, pbl->pwm_conf.period))) + { + LOG_E("Setup default brightness table error = %s", rt_strerror(err)); + + goto _fail; + } + + for (int i = 0; i <= pbl->max_brightness; ++i) + { + if (pbl->levels[i] > pbl->scale) + { + pbl->scale = pbl->levels[i]; + } + } + } + else + { + pbl->scale = pbl->max_brightness; + } + + pbl->parent.props.max_brightness = pbl->max_brightness; + pbl->parent.ops = &pwm_backlight_ops; + + if ((err = rt_backlight_register(&pbl->parent))) + { + goto _fail; + } + + power = pwm_backlight_initial_power_state(pbl, dev); + rt_backlight_set_power(&pbl->parent, power); + + if (pbl->dft_brightness > pbl->max_brightness) + { + LOG_W("Invalid default brightness level: %u, using %u", + pbl->dft_brightness, pbl->max_brightness); + + pbl->dft_brightness = pbl->max_brightness; + } + rt_backlight_set_brightness(&pbl->parent, pbl->dft_brightness); + + return RT_EOK; + +_fail: + if (!rt_is_err_or_null(pbl->power_supply)) + { + rt_regulator_put(pbl->power_supply); + } + + if (pbl->levels) + { + rt_free(pbl->levels); + } + + rt_free(pbl); + + return err; +} + +static rt_err_t pwm_backlight_remove(struct rt_platform_device *pdev) +{ + struct rt_pwm_configuration pwm_conf = {}; + struct pwm_backlight *pbl = pdev->parent.user_data; + + rt_backlight_unregister(&pbl->parent); + + pwm_backlight_power_off(pbl); + + rt_regulator_put(pbl->power_supply); + + rt_pwm_get(pbl->pwm_dev, &pwm_conf); + pwm_conf.pulse = 0; + + rt_pwm_set(pbl->pwm_dev, pwm_conf.channel, pwm_conf.period, pwm_conf.pulse); + rt_pwm_disable(pbl->pwm_dev, pbl->pwm_conf.channel); + + if (pbl->levels) + { + rt_free(pbl->levels); + } + + rt_free(pbl); + + return RT_EOK; +} + +static rt_err_t pwm_backlight_shutdown(struct rt_platform_device *pdev) +{ + struct rt_pwm_configuration pwm_conf = {}; + struct pwm_backlight *pbl = pdev->parent.user_data; + + pwm_backlight_power_off(pbl); + + rt_pwm_get(pbl->pwm_dev, &pwm_conf); + pwm_conf.pulse = 0; + + rt_pwm_set(pbl->pwm_dev, pwm_conf.channel, pwm_conf.period, pwm_conf.pulse); + rt_pwm_disable(pbl->pwm_dev, pbl->pwm_conf.channel); + + return RT_EOK; +} + +static const struct rt_ofw_node_id pwm_backlight_ofw_ids[] = +{ + { .compatible = "pwm-backlight" }, + { /* sentinel */ } +}; + +static struct rt_platform_driver pwm_backlight_driver = +{ + .name = "pwm-backlight", + .ids = pwm_backlight_ofw_ids, + + .probe = pwm_backlight_probe, + .remove = pwm_backlight_remove, + .shutdown = pwm_backlight_shutdown, +}; +RT_PLATFORM_DRIVER_EXPORT(pwm_backlight_driver); diff --git a/components/drivers/graphic/framebuffer/Kconfig b/components/drivers/graphic/framebuffer/Kconfig index 9144377d202..d13c9bf1427 100644 --- a/components/drivers/graphic/framebuffer/Kconfig +++ b/components/drivers/graphic/framebuffer/Kconfig @@ -3,6 +3,12 @@ menuconfig RT_GRAPHIC_FB select RT_USING_LCD default y +config RT_GRAPHIC_FB_SIMPLE + bool "Simple framebuffer support" + depends on RT_GRAPHIC_FB + depends on RT_USING_OFW + default y + if RT_GRAPHIC_FB osource "$(SOC_DM_GRAPHIC_FB_DIR)/Kconfig" endif diff --git a/components/drivers/graphic/framebuffer/SConscript b/components/drivers/graphic/framebuffer/SConscript index 55d76c540fc..0323df1cd3a 100644 --- a/components/drivers/graphic/framebuffer/SConscript +++ b/components/drivers/graphic/framebuffer/SConscript @@ -11,6 +11,9 @@ CPPPATH = [cwd + '/../../include'] src = [] +if GetDepend(['RT_GRAPHIC_FB_SIMPLE']): + src += ['fb-simple.c'] + group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH) Return('group') diff --git a/components/drivers/graphic/framebuffer/fb-simple.c b/components/drivers/graphic/framebuffer/fb-simple.c new file mode 100644 index 00000000000..55f80542cf7 --- /dev/null +++ b/components/drivers/graphic/framebuffer/fb-simple.c @@ -0,0 +1,381 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2023-02-25 GuEe-GUI the first version + */ + +#include +#include +#include + +#define DBG_TAG "fb.simple" +#define DBG_LVL DBG_INFO +#include + +struct simplefb_format +{ + const char *name; + rt_uint32_t mode; + rt_uint32_t bits_per_pixel; +}; + +struct simplefb_params +{ + rt_uint32_t width; + rt_uint32_t height; + rt_uint32_t stride; + struct simplefb_format *format; +}; + +struct simplefb +{ + struct rt_graphic_device parent; + + void *screen_base; + rt_size_t screen_size; + rt_size_t stride; + +#ifdef RT_USING_CLK + rt_bool_t clk_arr_enabled; + struct rt_clk_array *clk_arr; +#endif +#ifdef RT_USING_REGULATOR + rt_bool_t supplys_enabled; + rt_size_t supplys_nr; + struct rt_regulator **supplys; +#endif +}; + +#ifdef RT_USING_CLK +static rt_err_t simplefb_clk_probe(struct simplefb *sfb, + struct rt_platform_device *pdev) +{ + sfb->clk_arr = rt_clk_get_array(&pdev->parent); + + if (rt_is_err(sfb->clk_arr)) + { + return rt_ptr_err(sfb->clk_arr); + } + + return RT_EOK; +} + +static void simplefb_clk_enable(struct simplefb *sfb) +{ + rt_clk_array_prepare_enable(sfb->clk_arr); + sfb->clk_arr_enabled = RT_TRUE; +} + +static void simplefb_clk_remove(struct simplefb *sfb) +{ + if (!rt_is_err_or_null(sfb->clk_arr)) + { + if (sfb->clk_arr_enabled) + { + rt_clk_array_disable_unprepare(sfb->clk_arr); + } + + rt_clk_array_put(sfb->clk_arr); + } +} +#else +static rt_err_t simplefb_clk_probe(struct simplefb *sfb, + struct rt_platform_device *pdev) { return RT_EOK; } +static void simplefb_clk_enable(struct simplefb *sfb) { } +static void simplefb_clk_remove(struct simplefb *sfb) { } +#endif /* RT_USING_CLK */ + +#ifdef RT_USING_REGULATOR +#define SUPPLY_SUFFIX "-supply" + +static rt_err_t simplefb_regulator_probe(struct simplefb *sfb, + struct rt_platform_device *pdev) +{ + int i = 0; + const char *name; + struct rt_device *dev = &pdev->parent; + struct rt_ofw_prop *prop; + struct rt_ofw_node *np = dev->ofw_node; + + rt_ofw_foreach_prop(np, prop) + { + name = rt_strstr(prop->name, SUPPLY_SUFFIX); + + if (name && name != prop->name) + { + ++sfb->supplys_nr; + } + } + + sfb->supplys = rt_calloc(sfb->supplys_nr, sizeof(sfb->supplys[0])); + + if (!sfb->supplys) + { + return -RT_ENOMEM; + } + + rt_ofw_foreach_prop(np, prop) + { + name = rt_strstr(prop->name, SUPPLY_SUFFIX); + + if (name && name != prop->name) + { + char name[32]; + int len = name - prop->name; + + rt_strncpy(name, prop->name, len); + name[len] = '\0'; + + sfb->supplys[i] = rt_regulator_get(dev, (const char *)name); + + if (rt_is_err(sfb->supplys[i])) + { + return rt_ptr_err(sfb->supplys[i]); + } + + ++i; + } + } + + return RT_EOK; +} + +static void simplefb_regulator_enable(struct simplefb *sfb) +{ + if (sfb->supplys) + { + for (int i = 0; i < sfb->supplys_nr; ++i) + { + rt_regulator_enable(sfb->supplys[i]); + } + + sfb->supplys_enabled = RT_TRUE; + } +} + +static void simplefb_regulator_remove(struct simplefb *sfb) +{ + if (sfb->supplys && sfb->supplys_enabled) + { + for (int i = 0; i < sfb->supplys_nr; ++i) + { + struct rt_regulator *supply = sfb->supplys[i]; + + if (!rt_is_err(supply)) + { + rt_regulator_disable(supply); + rt_regulator_put(supply); + } + } + + rt_free(sfb->supplys); + } +} +#else +static rt_err_t simplefb_regulator_probe(struct simplefb *sfb, + struct rt_platform_device *pdev) +{ + return RT_EOK; +} + +static void simplefb_regulator_enable(struct simplefb *sfb) +{ +} + +static void simplefb_regulator_remove(struct simplefb *sfb) +{ +} +#endif /* RT_USING_REGULATOR */ + +static struct simplefb_format simplefb_formats[] = +{ + { "r5g6b5", RTGRAPHIC_PIXEL_FORMAT_RGB565, 16 }, + { "r8g8b8", RTGRAPHIC_PIXEL_FORMAT_RGB888, 24 }, + { "x8r8g8b8", RTGRAPHIC_PIXEL_FORMAT_ARGB888, 32 }, + { "a8r8g8b8", RTGRAPHIC_PIXEL_FORMAT_ARGB888, 32 }, + { "x8b8g8r8", RTGRAPHIC_PIXEL_FORMAT_ABGR888, 32 }, + { "a8b8g8r8", RTGRAPHIC_PIXEL_FORMAT_ABGR888, 32 }, +}; + +static rt_err_t simplefb_params_parse(struct simplefb_params *params, + struct rt_platform_device *pdev) +{ + rt_err_t err; + const char *format; + struct rt_device *dev = &pdev->parent; + + if ((err = rt_dm_dev_prop_read_u32(dev, "width", ¶ms->width))) + { + LOG_E("Can't parse width property"); + + return err; + } + + if ((err = rt_dm_dev_prop_read_u32(dev, "height", ¶ms->height))) + { + LOG_E("Can't parse height property"); + + return err; + } + + if ((err = rt_dm_dev_prop_read_u32(dev, "stride", ¶ms->stride))) + { + LOG_E("Can't parse stride property"); + + return err; + } + + if ((err = rt_dm_dev_prop_read_string(dev, "format", &format))) + { + LOG_E("Can't parse format property"); + + return err; + } + + for (int i = 0; i < RT_ARRAY_SIZE(simplefb_formats); ++i) + { + if (rt_strcmp(format, simplefb_formats[i].name)) + { + continue; + } + + params->format = &simplefb_formats[i]; + + return RT_EOK; + } + + LOG_E("Unsupport format value"); + + return -RT_EINVAL; +} + +static rt_err_t simplefb_plane_fb_remap(struct rt_graphic_plane *plane, + rt_uint32_t mode, struct rt_device_rect_info *rect) +{ + struct simplefb *sfb = rt_container_of(plane->graphic, struct simplefb, parent); + + plane->line_length = sfb->stride; + plane->bits_per_pixel = rt_graphic_mode_bpp(mode); + + plane->framebuffer = sfb->screen_base; + plane->screen_len = sfb->screen_size; + plane->framebuffer_len = sfb->screen_size; + + return RT_EOK; +} + +static const struct rt_graphic_plane_ops simplefb_plane_ops = +{ + .fb_remap = simplefb_plane_fb_remap, +}; + +static rt_err_t simplefb_probe(struct rt_platform_device *pdev) +{ + rt_err_t err; + rt_uint64_t addr, size; + struct simplefb_params params = {}; + struct simplefb *sfb = rt_calloc(1, sizeof(*sfb)); + + if (!sfb) + { + return -RT_ENOMEM; + } + + if ((err = simplefb_params_parse(¶ms, pdev))) + { + goto _fail; + } + + sfb->stride = params.stride; + + if ((err = rt_dm_dev_get_address(&pdev->parent, 0, &addr, &size))) + { + goto _fail; + } + + sfb->screen_size = (rt_size_t)size; + sfb->screen_base = rt_ioremap_wt((void *)addr, sfb->screen_size); + + if (!sfb->screen_base) + { + err = -RT_EIO; + goto _fail; + } + + if ((err = simplefb_clk_probe(sfb, pdev))) + { + LOG_E("Get %s error = %s", "clk", rt_strerror(err)); + + goto _fail; + } + + if ((err = simplefb_regulator_probe(sfb, pdev))) + { + LOG_E("Get %s error = %s", "regulator", rt_strerror(err)); + + goto _fail; + } + + simplefb_clk_enable(sfb); + simplefb_regulator_enable(sfb); + + if ((err = rt_graphic_device_simple_register(&sfb->parent, + params.width, params.height, 0, &simplefb_plane_ops, + ¶ms.format->mode, 1))) + { + goto _fail; + } + + pdev->parent.user_data = sfb; + + return RT_EOK; + +_fail: + if (sfb->screen_base) + { + rt_iounmap(sfb->screen_base); + } + + simplefb_clk_remove(sfb); + simplefb_regulator_remove(sfb); + + rt_free(sfb); + + return err; +} + +static rt_err_t simplefb_remove(struct rt_platform_device *pdev) +{ + struct simplefb *sfb = pdev->parent.user_data; + + rt_graphic_device_simple_unregister(&sfb->parent); + + simplefb_clk_remove(sfb); + simplefb_regulator_remove(sfb); + + rt_iounmap(sfb->screen_base); + + rt_free(sfb); + + return RT_EOK; +} + +static const struct rt_ofw_node_id simplefb_ofw_ids[] = +{ + { .compatible = "simple-framebuffer" }, + { /* sentinel */ } +}; + +static struct rt_platform_driver simplefb_driver = +{ + .name = "simple-framebuffer", + .ids = simplefb_ofw_ids, + + .probe = simplefb_probe, + .remove = simplefb_remove, +}; +RT_PLATFORM_DRIVER_EXPORT(simplefb_driver); diff --git a/components/drivers/graphic/logo/Kconfig b/components/drivers/graphic/logo/Kconfig index 45bcfe3f59d..5bce06c8129 100644 --- a/components/drivers/graphic/logo/Kconfig +++ b/components/drivers/graphic/logo/Kconfig @@ -11,6 +11,12 @@ choice config RT_GRAPHIC_LOGO_NONE bool "None logo (Change in runtime)" + config RT_GRAPHIC_LOGO_RT_THREAD_CLUT224 + bool "Standard 224-color RT-Thread logo" + + config RT_GRAPHIC_LOGO_RT_THREAD_WHITE_CLUT224 + bool "Standard 224-color RT-Thread white logo" + osource "$(SOC_DM_GRAPHIC_LOGO_DIR)/Kconfig" endchoice diff --git a/components/drivers/graphic/logo/SConscript b/components/drivers/graphic/logo/SConscript index 622ada04490..a481a4d557b 100644 --- a/components/drivers/graphic/logo/SConscript +++ b/components/drivers/graphic/logo/SConscript @@ -17,6 +17,12 @@ logo_width = 0 logo_height = 0 logo_max_val = 0 +if GetDepend(['RT_GRAPHIC_LOGO_RT_THREAD_CLUT224']): + logo_path = cwd + '/logo-rt-thread-clut224.ppm' + +if GetDepend(['RT_GRAPHIC_LOGO_RT_THREAD_WHITE_CLUT224']): + logo_path = cwd + '/logo-rt-thread-white-clut224.ppm' + if logo_path == None: # Find in BSP paths = None diff --git a/components/drivers/graphic/logo/logo-rt-thread-clut224.ppm b/components/drivers/graphic/logo/logo-rt-thread-clut224.ppm new file mode 100644 index 00000000000..43bf8e44e90 --- /dev/null +++ b/components/drivers/graphic/logo/logo-rt-thread-clut224.ppm @@ -0,0 +1,1597 @@ +P3 +# Standard 224-color RT-Thread logo +212 59 +255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 8 9 +7 23 23 10 39 40 16 61 62 21 79 81 26 98 100 30 115 117 34 130 132 37 141 144 +39 151 153 41 157 159 42 160 163 43 162 165 43 164 167 42 161 164 42 158 161 40 153 156 +39 148 150 36 137 139 32 124 126 28 108 110 24 90 92 18 70 72 13 51 52 8 32 32 +4 16 16 1 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 2 9 10 7 28 29 15 56 57 23 86 87 30 115 117 37 139 141 +41 157 160 45 170 173 47 178 180 48 182 185 48 184 187 48 185 188 48 185 188 48 185 188 +48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 +48 185 188 48 185 188 48 185 188 48 184 187 48 183 186 47 180 183 46 175 178 43 165 168 +39 151 153 34 130 132 27 103 105 19 73 74 11 43 44 5 19 20 1 4 4 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 8 8 32 32 +18 69 70 28 109 110 37 143 145 43 166 169 47 180 183 49 185 188 49 186 189 49 186 189 +48 185 188 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 +49 185 188 49 186 189 49 186 189 48 184 187 46 175 178 42 158 161 34 130 132 24 93 94 +14 53 53 6 21 21 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 4 14 14 13 48 49 25 95 97 36 139 141 44 169 171 +48 182 185 49 186 189 49 185 188 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 185 188 49 186 189 49 185 188 +47 178 181 42 158 161 32 122 124 20 75 76 8 32 32 1 5 5 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 5 19 20 26 98 100 39 148 151 46 176 179 49 185 188 49 186 189 48 184 187 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 185 188 49 186 189 48 183 186 44 168 171 34 130 133 20 78 79 7 28 29 +1 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 5 19 20 40 151 154 49 187 190 48 183 186 48 183 186 48 184 187 49 186 189 +48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 49 186 189 48 183 186 43 165 168 +32 120 122 16 61 62 4 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 18 69 70 47 181 184 49 186 189 48 181 184 42 160 163 34 130 132 +45 171 174 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 +49 186 189 47 179 182 39 148 150 23 86 88 7 27 28 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 +1 30 29 1 41 40 3 11 11 31 117 119 32 124 126 17 65 67 6 21 21 1 3 3 +27 102 104 48 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 49 185 188 48 184 187 42 162 164 27 105 106 9 36 37 0 2 2 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 8 88 88 +10 120 120 10 120 120 1 30 29 2 7 7 1 5 5 0 13 13 6 52 52 5 28 28 +7 23 23 41 157 159 48 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 44 168 171 29 110 112 +10 38 38 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 5 79 78 +10 120 120 10 120 120 5 79 78 0 2 2 6 52 52 17 147 147 29 162 164 18 112 113 +1 4 4 21 79 81 48 182 185 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 49 185 189 +44 168 171 28 106 108 8 31 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 21 21 +18 112 113 10 120 120 10 120 120 1 41 40 1 30 29 17 147 147 29 162 164 29 162 164 +10 60 60 3 11 11 37 140 142 49 185 188 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 184 187 49 185 188 43 163 165 24 91 92 5 19 20 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 13 13 1 30 29 1 6 7 +10 60 60 10 120 120 8 88 88 1 30 29 0 0 0 8 88 88 29 162 164 29 162 164 +16 133 134 0 13 13 15 57 58 46 176 179 48 184 187 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 48 185 188 49 185 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 185 188 48 185 188 48 184 187 48 184 187 +48 184 187 48 184 187 48 185 188 49 185 188 49 186 189 49 186 189 49 186 189 49 186 189 +49 185 188 48 185 188 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 184 187 48 184 187 39 148 151 17 65 67 2 6 6 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 1 6 52 52 0 92 91 0 101 100 1 41 40 +1 6 7 2 21 21 2 8 9 13 36 35 13 36 35 2 17 17 16 133 134 17 147 147 +8 88 88 0 13 13 1 5 5 33 128 130 49 185 188 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 +49 185 188 49 186 189 49 186 189 48 183 186 46 176 179 44 168 171 41 155 158 37 141 144 +33 128 130 30 115 117 27 103 105 24 93 94 22 85 86 21 79 81 20 76 77 20 75 77 +20 75 77 20 76 78 21 79 81 23 86 88 25 95 97 28 106 108 31 117 119 34 130 133 +38 145 148 42 158 161 44 170 172 47 178 181 48 184 187 49 186 189 49 186 189 48 185 188 +48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 49 185 188 47 178 181 32 120 122 9 33 34 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 41 40 0 101 100 0 101 100 0 92 91 +0 13 13 6 20 19 34 109 107 50 136 133 50 136 133 7 23 23 2 21 21 2 17 17 +3 11 11 13 51 51 28 106 108 42 162 164 48 184 187 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 184 187 49 186 189 49 186 189 47 181 184 44 168 171 +39 148 150 32 122 124 25 94 96 18 67 69 12 46 47 7 28 29 4 16 16 2 8 8 +1 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 4 4 +3 10 11 5 19 20 8 32 32 13 51 52 19 73 74 27 101 103 34 129 131 40 153 156 +45 172 175 48 183 186 49 186 189 49 185 188 48 184 187 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 49 185 188 42 161 164 +20 76 78 2 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 79 78 0 101 100 0 101 100 +6 52 52 3 10 11 34 109 107 50 160 159 50 160 159 32 86 84 0 0 0 14 55 55 +38 145 148 46 177 180 49 186 189 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 +49 185 188 49 186 189 47 181 184 43 164 167 35 133 136 25 96 98 16 61 62 8 31 32 +3 12 12 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 4 4 16 16 +10 38 38 18 69 70 28 106 108 37 143 145 44 169 172 48 183 186 49 186 189 48 185 188 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 185 188 +47 180 183 32 122 124 8 30 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 30 29 0 92 91 5 79 78 +1 41 40 0 1 1 15 41 40 50 136 133 50 160 159 50 136 133 13 36 35 12 46 47 +45 173 176 48 184 187 48 183 186 48 183 186 48 183 186 49 185 188 49 185 188 46 176 179 +39 148 151 28 106 108 16 61 62 7 26 27 2 6 6 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 3 10 11 9 34 34 19 72 73 31 117 119 41 158 160 +47 180 183 49 186 189 48 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 49 185 188 41 155 158 16 61 62 0 2 2 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 21 21 1 6 7 +0 0 0 0 0 0 1 2 2 32 86 84 50 136 133 32 97 97 13 36 35 0 0 0 +28 106 108 49 185 188 48 184 187 49 186 189 47 178 180 39 148 150 26 97 99 13 48 49 +4 14 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 5 19 20 +16 61 62 29 111 112 41 157 160 48 181 184 49 186 189 48 184 187 48 183 186 48 183 186 +48 183 186 48 183 186 49 185 188 46 175 177 25 95 97 3 11 11 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 5 15 16 9 25 25 1 3 3 0 0 0 0 0 0 +7 28 29 41 157 160 43 162 165 29 111 112 14 53 53 3 13 14 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 1 6 21 21 17 66 68 33 124 127 44 169 172 49 185 188 48 185 188 +48 183 186 48 183 186 48 183 186 48 184 187 48 183 186 33 126 128 7 26 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 1 10 39 40 7 26 27 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 4 4 9 36 37 25 95 97 40 153 156 +48 182 185 49 185 188 48 183 186 48 183 186 48 183 186 49 185 188 39 148 150 11 43 44 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 19 20 +20 76 77 38 143 145 47 180 183 49 185 188 48 183 186 48 183 186 49 185 188 43 162 165 +16 61 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 3 13 13 17 66 68 36 139 141 47 180 183 49 185 188 48 183 186 48 185 188 +45 171 174 20 75 76 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 3 11 11 18 67 69 38 143 145 48 182 185 48 185 188 +48 184 187 46 176 179 22 85 87 1 4 4 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 21 79 81 41 157 159 +48 185 188 49 185 188 47 179 181 24 93 94 1 5 5 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 25 25 +27 103 105 45 171 174 49 186 189 47 180 183 25 94 96 1 5 5 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 1 12 46 47 35 135 138 48 183 186 47 181 184 24 91 92 1 3 4 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 3 12 12 23 86 87 44 168 171 47 181 184 22 85 87 0 2 2 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 11 41 42 36 137 139 46 176 179 20 75 76 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 14 14 26 98 100 42 162 164 +16 61 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 16 63 64 +35 135 138 11 44 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 51 52 +24 90 92 23 89 90 23 89 90 24 90 92 16 61 62 0 1 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +9 36 37 26 97 99 7 26 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 33 33 23 89 90 +23 89 90 23 89 90 23 89 90 23 86 88 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 109 110 +49 188 192 49 185 188 49 185 188 49 188 192 33 128 130 1 3 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 5 18 18 13 51 52 2 7 8 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 70 72 49 186 189 +49 185 188 49 185 188 49 186 189 48 182 185 +2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 +2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 +2 6 6 2 6 6 2 6 6 1 4 4 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 5 2 6 6 2 6 6 +2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 +2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 +2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 1 4 4 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 4 4 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 +2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 +2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 2 6 6 +2 6 6 2 6 6 2 6 6 2 6 6 1 4 4 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 5 6 2 6 6 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +35 133 136 36 137 140 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 +36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 +36 137 139 36 137 139 36 137 139 34 130 132 27 102 104 14 53 53 2 8 8 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 27 105 106 36 139 141 36 137 139 +36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 +36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 +36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 37 139 141 24 90 92 +0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 2 2 25 96 98 37 139 141 36 137 139 36 137 139 36 137 139 36 137 139 +36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 +36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 36 137 139 +36 137 139 36 137 139 36 137 139 36 139 141 26 101 102 1 4 4 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +48 182 185 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 47 177 180 34 129 131 10 38 39 +0 0 0 0 0 0 0 0 0 0 0 0 2 7 8 37 143 145 49 188 191 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 50 189 192 32 123 125 +0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 3 3 34 132 134 49 188 192 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 188 192 36 137 140 1 5 5 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 49 186 189 42 160 163 +13 51 52 0 0 0 0 0 0 0 0 0 2 7 7 37 141 144 49 186 189 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 49 186 189 32 120 122 +0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 3 3 34 130 132 49 186 189 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 49 186 189 35 135 138 1 5 5 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 49 185 188 +41 157 159 8 31 31 0 0 0 0 0 0 2 7 7 37 141 144 49 186 189 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 49 186 189 32 120 122 +0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 3 3 34 130 132 49 186 189 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 49 186 189 35 135 138 1 5 5 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 48 185 188 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 48 183 186 48 183 186 48 183 186 48 183 186 +49 186 189 30 115 117 1 2 2 0 0 0 2 7 8 38 143 145 49 188 192 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 185 188 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 49 185 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 50 189 192 32 123 125 +0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 3 3 34 132 134 50 189 192 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 49 186 189 49 185 188 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 49 185 188 49 186 189 49 186 189 49 186 189 49 186 189 49 186 189 +49 186 189 49 186 189 49 186 189 50 189 192 36 137 140 1 5 5 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 126 128 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 67 69 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 35 133 136 27 101 103 27 103 105 +27 103 105 27 103 105 27 103 105 27 103 105 27 103 105 27 103 105 27 103 105 27 103 105 +27 103 105 27 103 105 27 103 105 34 130 133 46 177 180 48 184 187 48 183 186 48 183 186 +48 184 187 44 168 171 8 31 32 0 0 0 1 4 4 20 78 79 27 105 106 27 103 105 +27 103 105 27 103 105 27 103 105 27 103 105 27 103 105 27 103 105 27 101 103 33 124 126 +47 181 184 48 183 186 48 183 186 48 183 186 47 177 180 31 117 119 27 102 104 27 103 105 +27 103 105 27 103 105 27 103 105 27 103 105 27 103 105 27 103 105 27 105 106 18 67 69 +0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 2 2 19 72 73 27 105 106 27 103 105 27 103 105 27 103 105 27 103 105 +27 103 105 27 103 105 27 103 105 27 102 104 32 120 122 47 179 181 48 183 186 48 183 186 +48 183 186 47 180 183 32 122 124 27 102 104 27 103 105 27 103 105 27 103 105 27 103 105 +27 103 105 27 103 105 27 103 105 27 105 106 20 75 77 1 3 3 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 48 185 188 40 153 155 22 85 87 22 84 85 22 84 85 +22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 86 21 79 81 15 56 57 +5 19 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 7 26 27 16 61 62 22 82 83 22 84 86 22 84 85 +22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 +22 84 85 22 84 85 22 84 85 22 85 86 10 39 40 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 2 2 8 31 31 17 65 67 22 83 84 22 84 86 22 84 85 +22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 +22 84 85 22 84 85 22 84 86 22 83 84 7 26 27 0 0 0 4 14 14 20 76 78 +22 85 86 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 +22 84 85 22 84 85 22 84 85 22 84 85 22 84 86 22 84 85 19 72 73 10 38 39 +2 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 2 8 9 11 43 44 19 73 74 22 84 85 22 84 86 22 84 85 +22 84 85 22 84 85 22 84 85 22 84 85 22 84 85 22 82 83 32 122 124 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 67 69 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 1 5 5 22 85 86 47 179 182 48 183 186 48 183 186 +48 183 186 48 183 186 18 70 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 46 47 +47 177 180 48 183 186 48 183 186 48 184 187 44 170 172 8 32 32 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 9 36 37 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 41 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 48 185 188 47 180 183 +40 153 156 21 81 82 2 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 4 15 15 25 94 96 42 160 163 48 181 184 48 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 187 190 23 86 87 0 0 0 0 0 0 0 0 0 +0 0 0 7 23 23 28 109 110 43 166 169 48 182 185 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 48 182 185 15 57 58 0 0 0 8 30 31 45 170 173 +49 186 189 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 48 183 186 45 172 175 +33 124 127 10 38 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 13 48 49 35 133 136 46 174 177 48 184 187 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 48 184 187 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 3 13 13 39 148 151 49 185 188 48 183 186 +48 183 186 49 186 189 25 94 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +49 185 188 48 182 185 29 111 112 2 9 10 0 0 0 0 0 0 0 0 0 0 0 0 +5 18 18 33 128 130 48 184 187 48 185 188 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 49 185 188 22 85 86 0 0 0 0 0 0 0 0 0 +8 31 31 38 145 148 49 186 189 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 180 183 15 57 58 0 0 0 8 30 30 44 168 171 +48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 +49 186 189 42 161 164 14 51 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +17 65 67 44 168 171 49 186 189 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 2 6 6 36 137 140 49 186 189 48 183 186 +48 183 186 49 186 189 26 98 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 184 187 48 183 186 23 88 89 0 0 0 0 0 0 0 0 0 1 3 4 +28 109 110 49 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 49 185 188 22 85 86 0 0 0 0 0 0 3 11 11 +34 130 133 49 186 189 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 180 183 15 57 58 0 0 0 8 30 30 44 168 171 +48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 49 186 189 40 153 156 7 26 27 0 0 0 0 0 0 0 0 0 10 38 39 +43 164 167 49 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 67 69 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 11 41 42 44 168 171 48 184 187 48 183 186 +48 183 186 48 185 188 22 83 84 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 48 184 187 48 183 186 +48 183 186 48 183 186 48 185 188 42 161 164 7 26 27 0 0 0 0 0 0 11 44 45 +45 173 176 48 184 187 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 187 190 23 86 87 0 0 0 0 0 0 17 66 68 +47 181 184 48 183 186 48 183 186 48 183 186 48 183 186 48 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 48 182 185 15 57 58 0 0 0 8 30 31 45 170 173 +49 186 189 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 48 185 188 48 183 186 48 183 186 +48 183 186 48 183 186 49 185 188 26 98 100 0 0 0 0 0 0 1 2 2 30 115 117 +49 186 189 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 48 184 187 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 24 91 92 8 32 32 9 34 35 +9 34 35 9 34 35 9 34 35 9 34 35 9 34 35 9 34 35 9 34 35 9 34 35 +9 34 35 9 34 35 9 35 36 16 63 64 39 148 150 48 184 187 48 183 186 48 183 186 +48 183 186 46 177 180 13 49 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 12 12 +9 34 35 9 34 35 9 34 35 9 34 35 9 34 35 9 34 35 9 34 35 9 34 35 +9 34 35 9 34 34 3 10 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 48 184 187 45 173 176 40 152 154 40 151 154 40 151 154 +40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 39 151 153 43 165 168 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 19 72 73 0 0 0 0 0 0 25 96 98 +49 186 189 48 183 186 48 183 186 48 183 186 48 182 185 42 161 164 39 151 153 40 151 154 +40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 +40 151 154 40 151 154 40 151 154 40 153 155 18 70 72 0 0 0 1 2 2 32 122 124 +49 186 189 48 183 186 48 183 186 48 183 186 47 181 183 41 158 160 39 151 153 40 151 154 +40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 +40 151 154 40 151 154 40 151 154 39 148 151 12 46 47 0 0 0 7 26 27 36 139 141 +40 152 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 +40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 40 153 156 46 177 180 48 183 186 +48 183 186 48 183 186 49 185 188 39 149 152 4 14 14 0 0 0 7 23 23 42 162 164 +48 184 187 48 183 186 48 183 186 48 184 187 46 175 177 40 153 156 40 151 154 40 151 154 +40 151 154 40 151 154 40 151 154 40 151 154 40 151 154 39 151 153 43 163 165 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 46 176 179 45 171 174 45 171 174 +45 171 174 45 171 174 45 171 174 45 171 174 45 171 174 45 171 174 45 171 174 45 171 174 +45 171 174 45 171 174 45 172 175 47 180 183 48 185 188 48 183 186 48 183 186 48 183 186 +49 186 189 37 143 145 3 12 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 61 62 +45 171 174 45 171 174 45 171 174 45 171 174 45 171 174 45 171 174 45 171 174 45 171 174 +45 171 174 44 169 171 14 53 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 34 130 133 4 16 16 4 14 14 4 14 14 +4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 3 13 13 10 38 38 41 155 158 +48 185 188 48 183 186 48 183 186 49 186 189 27 102 104 0 0 0 1 2 2 33 126 128 +49 186 189 48 183 186 48 183 186 49 185 188 37 139 141 7 26 27 3 13 14 4 14 14 +4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 +4 14 14 4 14 14 4 14 14 4 14 14 2 6 6 0 0 0 3 11 11 39 148 150 +49 185 188 48 183 186 48 183 186 49 185 188 31 119 121 5 19 20 4 14 14 4 14 14 +4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 +4 14 14 4 14 14 4 14 14 4 14 14 1 4 4 0 0 0 1 2 2 3 13 13 +4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 +4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 4 15 15 24 91 92 48 182 185 +48 183 186 48 183 186 48 184 187 44 168 171 8 30 31 0 0 0 12 46 47 46 176 179 +48 183 186 48 183 186 48 183 186 47 179 182 20 76 78 3 13 14 4 14 14 4 14 14 +4 14 14 4 14 14 4 14 14 4 14 14 4 14 14 3 11 11 20 78 79 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 48 184 187 +48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 +48 184 187 48 184 187 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 +47 178 181 17 65 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 65 67 +48 183 186 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 +48 184 187 48 181 184 15 56 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 126 128 0 2 2 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 33 124 127 +49 186 189 48 183 186 48 183 186 49 186 189 29 110 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 27 101 103 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 40 153 155 +49 185 188 48 183 186 48 183 186 48 184 187 19 73 74 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 41 42 46 176 179 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 51 52 47 179 182 +48 183 186 48 183 186 48 184 187 44 169 172 8 30 30 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 67 69 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 48 182 185 +27 101 103 1 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 65 67 +48 182 185 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 47 180 183 15 56 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 40 153 155 +49 185 188 48 183 186 48 183 186 48 184 187 33 124 126 22 82 83 22 83 85 22 83 85 +22 83 85 22 83 85 22 83 85 22 83 85 22 83 85 22 83 85 22 83 85 22 83 85 +22 83 85 22 83 85 22 84 85 22 82 83 7 26 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 4 5 9 36 36 18 69 70 22 83 84 22 84 85 22 83 85 +22 83 85 22 83 85 22 83 85 22 83 85 22 83 85 22 82 83 28 106 108 47 179 182 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 51 52 47 179 182 +48 183 186 48 183 186 48 184 187 44 169 171 8 30 30 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 184 187 49 186 189 45 173 176 25 95 97 +2 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 65 67 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 47 181 184 15 56 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 40 153 155 +49 185 188 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 48 182 185 15 57 58 0 0 0 0 0 0 0 0 0 +0 0 0 9 34 35 32 120 122 45 170 173 48 183 186 48 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 48 184 187 48 183 186 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 51 52 47 179 182 +48 183 186 48 183 186 48 184 187 44 169 171 8 30 30 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 47 180 183 47 178 181 47 178 181 +47 178 181 47 178 181 47 178 181 47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 47 181 184 46 175 178 42 161 164 32 120 122 13 49 50 1 2 2 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 64 65 +47 178 181 47 178 181 47 178 181 47 178 181 47 178 181 47 178 181 47 178 181 47 178 181 +47 179 181 46 176 179 14 55 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 40 153 155 +49 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 180 183 15 57 58 0 0 0 0 0 0 0 0 0 +12 46 47 41 157 160 49 186 189 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 51 52 47 179 182 +48 183 186 48 183 186 48 184 187 44 169 171 8 30 30 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 26 101 102 12 46 47 13 49 50 +13 49 50 13 49 50 13 49 50 14 55 55 37 140 142 49 185 188 48 183 186 48 183 186 +48 183 186 48 184 187 42 161 164 15 57 58 6 21 21 1 3 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 18 18 +13 49 50 13 49 50 13 49 50 13 49 50 13 49 50 13 49 50 13 49 50 13 49 50 +13 49 50 13 49 49 4 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 40 153 155 +49 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 180 183 15 57 58 0 0 0 0 0 0 6 21 21 +39 149 152 49 186 189 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 51 52 47 179 182 +48 183 186 48 183 186 48 184 187 44 169 171 8 30 30 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 67 69 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 39 40 43 163 165 48 185 188 48 183 186 +48 183 186 48 183 186 48 182 185 26 97 99 0 1 1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 40 153 155 +49 185 188 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 48 182 185 15 57 58 0 0 0 0 0 0 24 91 92 +48 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 185 188 49 185 188 49 185 188 +49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 49 185 188 48 185 188 48 183 186 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 51 52 47 179 182 +48 183 186 48 183 186 48 184 187 44 169 171 8 30 30 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 72 73 47 178 181 48 184 187 +48 183 186 48 183 186 48 184 187 46 176 179 17 64 65 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 40 153 155 +49 185 188 48 183 186 48 183 186 48 183 186 43 164 167 40 151 154 40 152 154 40 152 154 +40 152 154 40 152 154 40 152 154 40 152 154 40 152 154 40 152 154 40 152 154 40 152 154 +40 152 154 40 152 154 40 152 154 39 149 152 12 46 47 0 0 0 3 10 11 38 143 145 +49 185 188 48 183 186 48 183 186 48 183 186 47 178 181 41 155 158 40 152 154 40 152 154 +40 152 154 40 152 154 40 152 154 40 152 154 40 152 154 40 151 154 42 158 161 48 182 185 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 51 52 47 179 182 +48 183 186 48 183 186 48 184 187 44 169 171 8 30 30 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 4 28 106 108 48 184 187 +48 183 186 48 183 186 48 183 186 48 185 188 42 158 161 9 34 34 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 15 15 40 153 155 +49 185 188 48 183 186 48 183 186 48 184 187 22 83 84 3 11 11 4 14 15 4 14 15 +4 14 15 4 14 15 4 14 15 4 14 15 4 14 15 4 14 15 4 14 15 4 14 15 +4 14 15 4 14 15 4 14 15 4 14 14 1 4 5 0 0 0 7 26 27 43 164 167 +48 184 187 48 183 186 48 183 186 48 183 186 26 98 100 4 16 16 4 14 14 4 14 15 +4 14 15 4 14 15 4 14 15 4 14 15 4 14 15 3 12 12 14 55 55 46 176 179 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 51 52 47 179 182 +48 183 186 48 183 186 48 184 187 44 168 171 8 30 30 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 69 70 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 18 18 37 140 142 +49 185 188 48 183 186 48 183 186 48 183 186 49 185 188 34 130 133 3 13 13 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 14 14 40 151 154 +49 185 188 48 183 186 48 183 186 48 185 188 23 89 90 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 28 29 44 168 171 +48 184 187 48 183 186 48 183 186 48 181 184 16 63 64 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 39 40 46 176 178 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 13 49 50 47 178 181 +48 183 186 48 183 186 48 184 187 45 173 176 11 41 42 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 67 69 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 41 42 +43 164 167 48 184 188 48 183 186 48 183 186 48 183 186 48 183 186 25 96 98 0 2 2 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 7 36 137 139 +49 186 189 48 183 186 48 183 186 48 184 187 42 161 164 25 94 96 22 82 83 22 83 84 +22 83 84 22 83 84 22 83 84 22 83 84 22 83 84 22 83 84 22 83 84 22 83 84 +22 83 84 22 83 84 22 83 84 22 82 83 7 26 27 0 0 0 5 18 18 41 157 159 +48 185 188 48 183 186 48 183 186 48 184 187 39 151 153 23 89 90 22 82 83 22 83 84 +22 83 84 22 83 84 22 83 84 22 83 84 22 83 84 21 81 82 28 106 108 47 179 182 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 9 35 36 45 171 174 +48 184 187 48 183 186 48 183 186 48 183 186 36 139 141 22 85 86 22 83 84 22 83 84 +22 83 84 22 83 84 22 83 84 22 83 84 22 83 84 21 81 82 32 120 122 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +20 75 76 47 179 182 48 184 187 48 183 186 48 183 186 48 184 187 46 174 177 16 61 62 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 95 97 +49 185 188 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 48 185 188 48 185 188 +48 185 188 48 185 188 48 185 188 48 185 188 48 185 188 48 185 188 48 185 188 48 185 188 +48 185 188 48 185 188 49 185 188 48 182 185 15 57 58 0 0 0 1 3 3 32 120 122 +49 186 189 48 183 186 48 183 186 48 183 186 48 184 187 49 185 188 48 185 188 48 185 188 +48 185 188 48 185 188 48 185 188 48 185 188 48 185 188 49 185 188 48 184 187 48 183 186 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 3 11 11 37 143 145 +49 186 189 48 183 186 48 183 186 48 183 186 48 185 188 49 185 188 48 185 188 48 185 188 +48 185 188 48 185 188 48 185 188 48 185 188 48 185 188 49 185 188 48 184 187 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 5 5 29 111 112 48 185 188 48 183 186 48 183 186 48 183 186 48 185 188 41 157 159 +8 31 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 33 33 +43 164 167 48 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 180 183 15 57 58 0 0 0 0 0 0 14 53 53 +46 175 178 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 0 0 0 20 75 76 +48 182 185 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 179 182 48 183 186 48 183 186 48 183 186 48 183 186 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 5 19 20 38 143 145 49 185 188 48 183 186 48 183 186 48 183 186 49 185 188 +33 128 130 3 11 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 177 180 48 183 186 48 183 186 48 184 187 45 170 173 9 33 33 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 175 48 184 187 48 183 186 +48 183 186 46 175 178 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 186 189 48 183 186 48 183 186 49 186 189 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 126 +49 186 189 48 183 186 48 183 186 49 186 189 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 183 186 48 183 186 49 186 189 26 101 102 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +20 76 77 46 177 180 48 185 188 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 180 183 15 57 58 0 0 0 0 0 0 1 3 3 +26 97 99 48 182 185 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 184 187 45 172 175 9 35 36 0 0 0 0 0 0 2 8 9 +31 119 121 48 185 188 48 184 187 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 48 183 186 +48 183 186 48 183 186 48 183 186 47 179 182 +47 180 183 48 184 187 48 184 187 48 184 187 48 184 187 18 69 70 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 11 44 45 43 165 168 48 185 188 48 184 187 48 184 187 48 184 187 +48 183 186 25 94 96 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 48 49 +47 178 181 48 184 187 48 184 187 48 184 187 45 170 173 9 33 34 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 38 38 45 173 176 48 184 187 48 184 187 +48 184 187 46 176 179 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 108 110 +49 187 190 48 184 187 48 184 187 49 187 190 33 127 129 1 2 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 33 124 127 +49 187 190 48 184 187 48 184 187 49 187 190 29 111 112 0 0 0 1 4 5 35 133 135 +49 186 189 48 184 187 48 184 187 49 187 190 27 101 103 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 3 3 20 76 77 43 163 165 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 +48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 +48 184 187 48 184 187 48 184 187 47 181 184 15 57 58 0 0 0 0 0 0 0 0 0 +2 8 8 24 93 94 45 170 173 48 185 188 48 184 187 48 184 187 48 184 187 48 184 187 +48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 +48 184 187 48 184 187 48 184 187 45 172 175 9 35 36 0 0 0 0 0 0 0 0 0 +4 16 16 29 110 112 46 175 178 48 185 188 48 184 187 48 184 187 48 184 187 48 184 187 +48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 48 184 187 +48 184 187 48 184 187 48 184 187 47 180 183 +44 169 172 45 173 176 45 173 176 45 173 176 45 173 176 17 65 67 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 22 85 86 45 173 176 45 173 176 45 173 176 45 173 176 +46 174 177 42 161 164 11 43 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 46 47 +44 168 171 45 173 176 45 173 176 46 174 177 42 160 163 8 31 32 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 9 36 36 43 163 165 46 173 176 45 173 176 +46 173 176 43 165 168 11 41 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 102 104 +46 176 179 45 173 176 45 173 176 46 176 179 32 120 122 1 2 2 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 31 117 119 +46 176 179 45 173 176 45 173 176 46 176 179 27 105 106 0 0 0 1 4 4 33 126 128 +46 176 179 45 173 176 45 173 176 46 176 179 25 95 97 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 10 38 39 29 110 112 41 157 160 45 172 175 45 173 176 45 173 176 +45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 +45 173 176 45 173 176 45 173 176 45 170 173 14 55 55 0 0 0 0 0 0 0 0 0 +0 0 0 0 2 2 13 49 50 32 120 122 42 161 164 45 173 176 45 173 176 45 173 176 +45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 +45 173 176 45 173 176 46 174 177 43 162 165 9 33 34 0 0 0 0 0 0 0 0 0 +0 0 0 1 5 6 16 61 62 34 129 131 43 165 168 45 173 176 45 173 176 45 173 176 +45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 45 173 176 +45 173 176 45 173 176 45 173 176 44 169 172 diff --git a/components/drivers/graphic/logo/logo-rt-thread-white-clut224.ppm b/components/drivers/graphic/logo/logo-rt-thread-white-clut224.ppm new file mode 100644 index 00000000000..37f28266c6f --- /dev/null +++ b/components/drivers/graphic/logo/logo-rt-thread-white-clut224.ppm @@ -0,0 +1,1597 @@ +P3 +# Standard 224-color RT-Thread white logo +212 59 +255 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 11 11 +28 28 28 52 52 52 79 79 79 108 108 108 135 135 135 158 158 158 182 182 182 194 194 194 +211 211 211 222 222 222 223 223 223 223 223 223 223 223 223 223 223 223 223 223 223 221 221 221 +209 209 209 193 193 193 179 179 179 155 155 155 131 131 131 103 103 103 75 75 75 48 48 48 +26 26 26 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 11 11 11 36 36 36 72 72 72 114 114 114 156 156 156 191 191 191 +217 217 217 235 235 235 246 246 246 253 253 253 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 252 252 252 245 245 245 233 233 233 +214 214 214 187 187 187 151 151 151 108 108 108 67 67 67 32 32 32 9 9 9 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 39 39 39 +88 88 88 145 145 145 195 195 195 229 229 229 249 249 249 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 247 247 247 226 226 226 189 189 189 138 138 138 +81 81 81 34 34 34 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 14 14 14 58 58 58 124 124 124 188 188 188 232 232 232 +253 253 253 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +251 251 251 227 227 227 181 181 181 115 115 115 51 51 51 11 11 11 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 11 11 11 119 119 119 200 200 200 242 242 242 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 191 191 191 119 119 119 48 48 48 +7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 8 8 8 172 172 172 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 236 236 236 +179 179 179 94 94 94 26 26 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 54 54 54 235 235 235 255 255 255 254 254 254 227 227 227 179 179 179 +223 223 223 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 252 252 252 215 215 215 134 134 134 47 47 47 3 3 3 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 +50 50 50 93 93 93 16 16 16 125 125 125 179 179 179 97 97 97 32 32 32 0 0 0 +99 99 99 251 251 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 234 234 234 159 159 159 61 61 61 5 5 5 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 148 148 148 +238 238 238 251 251 251 98 98 98 4 4 4 8 8 8 17 17 17 76 76 76 63 63 63 +13 13 13 185 185 185 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 240 240 240 168 168 168 +64 64 64 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 115 115 115 +255 255 255 255 255 255 211 211 211 25 25 25 47 47 47 204 204 204 251 251 251 211 211 211 +25 25 25 67 67 67 241 241 241 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +241 241 241 163 163 163 54 54 54 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 +197 197 197 255 255 255 255 255 255 129 129 129 21 21 21 199 199 199 255 255 255 255 255 255 +130 130 130 4 4 4 156 156 156 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 235 235 235 143 143 143 35 35 35 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 29 29 29 87 87 87 34 34 34 +79 79 79 226 226 226 180 180 180 81 81 81 0 0 0 79 79 79 246 246 246 255 255 255 +233 233 233 44 44 44 41 41 41 226 226 226 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 254 254 253 253 253 +253 253 253 254 254 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 218 218 218 105 105 105 13 13 13 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 90 90 90 221 221 221 254 254 254 160 160 160 +12 12 12 34 34 34 17 17 17 52 52 52 83 83 83 15 15 15 161 161 161 218 218 218 +145 145 145 33 33 33 0 0 0 140 140 140 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 253 253 253 243 243 243 228 228 228 210 210 210 190 190 190 +170 170 170 150 150 150 134 134 134 118 118 118 108 108 108 100 100 100 93 93 93 88 88 88 +88 88 88 93 93 93 101 101 101 110 110 110 118 118 118 135 135 135 151 151 151 171 171 171 +191 191 191 211 211 211 229 229 229 243 243 243 253 253 253 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 252 252 252 183 183 183 58 58 58 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 59 59 59 236 236 236 255 255 255 243 243 243 +71 71 71 9 9 9 161 161 161 240 240 240 243 243 243 73 73 73 18 18 18 26 26 26 +15 15 15 66 66 66 146 146 146 220 220 220 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 250 250 250 232 232 232 +202 202 202 164 164 164 124 124 124 87 87 87 55 55 55 34 34 34 18 18 18 8 8 8 +2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 +8 8 8 19 19 19 34 34 34 57 57 57 87 87 87 124 124 124 164 164 164 202 202 202 +232 232 232 251 251 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 234 234 234 +124 124 124 17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 140 140 140 255 255 255 255 255 255 +191 191 191 17 17 17 140 140 140 255 255 255 255 255 255 191 191 191 12 12 12 49 49 49 +196 196 196 246 246 246 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 251 251 251 226 226 226 183 183 183 129 129 129 78 78 78 39 39 39 +14 14 14 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 14 14 14 +39 39 39 79 79 79 130 130 130 184 184 184 227 227 227 251 251 251 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +254 254 254 186 186 186 53 53 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 34 34 207 207 207 206 206 206 +124 124 124 14 14 14 31 31 31 216 216 216 255 255 255 255 255 255 102 102 102 30 30 30 +215 215 215 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 245 245 245 +207 207 207 147 147 147 82 82 82 33 33 33 7 7 7 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 7 7 7 34 34 34 83 83 83 148 148 148 208 208 208 +245 245 245 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 228 228 228 101 101 101 6 6 6 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 34 34 34 19 19 19 +0 0 0 0 0 0 0 0 0 105 105 105 229 229 229 176 176 176 73 73 73 0 0 0 +101 101 101 252 252 252 255 255 255 255 255 255 247 247 247 205 205 205 135 135 135 64 64 64 +18 18 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 18 18 +65 65 65 137 137 137 206 206 206 247 247 247 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 249 249 249 151 151 151 23 23 23 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 11 11 11 36 36 36 6 6 6 0 0 0 0 0 0 +14 14 14 184 184 184 227 227 227 154 154 154 72 72 72 18 18 18 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 19 19 19 73 73 73 155 155 155 225 225 225 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 191 191 191 48 48 48 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 34 34 34 36 36 36 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 35 35 35 112 112 112 200 200 200 +250 250 250 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 219 219 219 75 75 75 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 17 17 +85 85 85 182 182 182 245 245 245 255 255 255 255 255 255 255 255 255 255 255 255 235 235 235 +100 100 100 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 9 9 9 73 73 73 176 176 176 245 245 245 255 255 255 255 255 255 255 255 255 +245 245 245 122 122 122 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 8 8 8 74 74 74 183 183 183 249 249 249 255 255 255 +255 255 255 250 250 250 137 137 137 11 11 11 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 11 11 89 89 89 203 203 203 +255 255 255 255 255 255 253 253 253 148 148 148 12 12 12 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 +122 122 122 228 228 228 255 255 255 254 254 254 149 149 149 12 12 12 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 47 47 47 169 169 169 250 250 250 255 255 255 146 146 146 10 10 10 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 9 9 9 97 97 97 220 220 220 255 255 255 137 137 137 6 6 6 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 41 41 41 171 171 171 246 246 246 123 123 123 +2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 10 10 114 114 114 222 222 222 +102 102 102 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66 66 66 +181 181 181 74 74 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 71 71 +146 146 146 144 144 144 144 144 144 146 146 146 107 107 107 5 5 5 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 125 125 125 44 44 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 72 72 146 146 146 +144 144 144 144 144 144 145 145 145 118 118 118 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 133 133 133 +255 255 255 255 255 255 255 255 255 255 255 255 196 196 196 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 16 16 16 59 59 59 11 11 11 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 134 134 255 255 255 +255 255 255 255 255 255 255 255 255 217 217 217 +14 14 14 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 16 16 16 5 5 5 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 11 11 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 15 15 15 +1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 11 11 11 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +20 20 20 20 20 20 20 20 20 20 20 20 16 16 16 1 1 1 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 4 4 4 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +153 153 153 215 215 215 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 +213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 +213 213 213 213 213 213 213 213 213 207 207 207 179 179 179 116 116 116 36 36 36 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 119 119 119 217 217 217 213 213 213 +213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 +213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 +213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 216 216 216 167 167 167 +11 11 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 117 117 117 217 217 217 213 213 213 213 213 213 213 213 213 213 213 213 +213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 +213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 213 +213 213 213 213 213 213 213 213 213 216 216 216 169 169 169 11 11 11 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +188 188 188 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 222 222 222 105 105 105 +6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 147 147 147 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 +13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 144 144 144 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 206 206 206 14 14 14 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 250 250 250 +130 130 130 5 5 5 0 0 0 0 0 0 0 0 0 145 145 145 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 202 202 202 +13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 143 143 143 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 14 14 14 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +248 248 248 96 96 96 0 0 0 0 0 0 0 0 0 145 145 145 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 202 202 202 +13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 143 143 143 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 14 14 14 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 212 212 212 27 27 27 0 0 0 0 0 0 146 146 146 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 +13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 144 144 144 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 206 206 206 14 14 14 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 7 7 7 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 204 204 204 116 116 116 115 115 115 +115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 +115 115 115 115 115 115 115 115 115 136 136 136 221 221 221 255 255 255 255 255 255 255 255 255 +255 255 255 254 254 254 94 94 94 0 0 0 0 0 0 63 63 63 117 117 117 115 115 115 +115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 114 114 114 134 134 134 +240 240 240 255 255 255 255 255 255 255 255 255 253 253 253 160 160 160 113 113 113 115 115 115 +115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 117 117 117 89 89 89 +6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 63 63 63 117 117 117 115 115 115 115 115 115 115 115 115 115 115 115 +115 115 115 115 115 115 115 115 115 114 114 114 134 134 134 240 240 240 255 255 255 255 255 255 +255 255 255 253 253 253 158 158 158 113 113 113 115 115 115 115 115 115 115 115 115 115 115 115 +115 115 115 115 115 115 115 115 115 117 117 117 90 90 90 6 6 6 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 230 230 230 152 152 152 147 147 147 148 148 148 +148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 140 140 140 110 110 110 +48 48 48 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 4 4 4 53 53 53 114 114 114 142 142 142 148 148 148 148 148 148 +148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 +148 148 148 148 148 148 148 148 148 149 149 149 64 64 64 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 11 11 11 67 67 67 123 123 123 144 144 144 148 148 148 148 148 148 +148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 +148 148 148 148 148 148 148 148 148 142 142 142 37 37 37 0 0 0 28 28 28 138 138 138 +148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 +148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 145 145 145 125 125 125 71 71 71 +13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 31 31 31 94 94 94 137 137 137 147 147 147 148 148 148 148 148 148 +148 148 148 148 148 148 148 148 148 148 148 148 148 148 148 147 147 147 205 205 205 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 157 157 157 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 55 55 55 225 225 225 255 255 255 255 255 255 +255 255 255 255 255 255 155 155 155 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 27 27 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 75 75 75 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 27 27 27 226 226 226 255 255 255 255 255 255 +255 255 255 250 250 250 72 72 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +234 234 234 145 145 145 25 25 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 31 31 31 156 156 156 238 238 238 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 117 117 117 0 0 0 0 0 0 0 0 0 +0 0 0 53 53 53 181 181 181 245 245 245 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 251 251 251 67 67 67 0 0 0 51 51 51 245 245 245 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 247 247 247 +187 187 187 59 59 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +8 8 8 107 107 107 219 219 219 254 254 254 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 152 152 152 255 255 255 255 255 255 +255 255 255 255 255 255 186 186 186 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 183 183 183 26 26 26 0 0 0 0 0 0 0 0 0 0 0 0 +34 34 34 196 196 196 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 115 115 115 0 0 0 0 0 0 0 0 0 +62 62 62 221 221 221 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 247 247 247 66 66 66 0 0 0 50 50 50 241 241 241 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 228 228 228 72 72 72 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 +135 135 135 251 251 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 145 145 145 255 255 255 255 255 255 +255 255 255 255 255 255 189 189 189 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 149 149 149 4 4 4 0 0 0 0 0 0 8 8 8 +164 164 164 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 115 115 115 0 0 0 0 0 0 25 25 25 +203 203 203 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 247 247 247 66 66 66 0 0 0 50 50 50 241 241 241 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 213 213 213 32 32 32 0 0 0 0 0 0 0 0 0 92 92 92 +248 248 248 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 157 157 157 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 36 36 36 213 213 213 255 255 255 255 255 255 +255 255 255 255 255 255 161 161 161 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 236 236 236 52 52 52 0 0 0 0 0 0 66 66 66 +244 244 244 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 117 117 117 0 0 0 0 0 0 110 110 110 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 251 251 251 67 67 67 0 0 0 51 51 51 244 244 244 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 124 124 124 0 0 0 0 0 0 16 16 16 199 199 199 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 190 190 190 79 79 79 79 79 79 +79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 +79 79 79 79 79 79 79 79 79 101 101 101 199 199 199 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 106 106 106 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 16 16 +74 74 74 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 +79 79 79 80 80 80 34 34 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 238 238 238 184 184 184 181 181 181 181 181 181 +181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 208 208 208 252 252 252 +255 255 255 255 255 255 255 255 255 255 255 255 117 117 117 0 0 0 0 0 0 134 134 134 +255 255 255 255 255 255 255 255 255 255 255 255 251 251 251 204 204 204 180 180 180 181 181 181 +181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 +181 181 181 181 181 181 181 181 181 182 182 182 79 79 79 0 0 0 6 6 6 182 182 182 +255 255 255 255 255 255 255 255 255 255 255 255 245 245 245 194 194 194 180 180 180 181 181 181 +181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 +181 181 181 181 181 181 181 181 181 174 174 174 44 44 44 0 0 0 34 34 34 169 169 169 +182 182 182 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 +181 181 181 181 181 181 181 181 181 181 181 181 180 180 180 191 191 191 242 242 242 255 255 255 +255 255 255 255 255 255 255 255 255 194 194 194 11 11 11 0 0 0 58 58 58 243 243 243 +255 255 255 255 255 255 255 255 255 255 255 255 224 224 224 183 183 183 181 181 181 181 181 181 +181 181 181 181 181 181 181 181 181 181 181 181 181 181 181 180 180 180 221 221 221 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 254 254 254 252 252 252 252 252 252 +252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 +252 252 252 252 252 252 252 252 252 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 223 223 223 36 36 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 53 53 53 +239 239 239 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 252 +252 252 252 254 254 254 112 112 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 195 195 195 14 14 14 4 4 4 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 27 27 27 201 201 201 +255 255 255 255 255 255 255 255 255 255 255 255 154 154 154 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 185 185 185 20 20 20 4 4 4 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 0 0 0 19 19 19 212 212 212 +255 255 255 255 255 255 255 255 255 255 255 255 143 143 143 9 9 9 4 4 4 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 1 1 1 0 0 0 1 1 1 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 129 129 129 255 255 255 +255 255 255 255 255 255 255 255 255 221 221 221 25 25 25 0 0 0 90 90 90 254 254 254 +255 255 255 255 255 255 255 255 255 235 235 235 62 62 62 4 4 4 5 5 5 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 135 135 135 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +253 253 253 117 117 117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 54 54 +243 243 243 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 114 114 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 144 144 144 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 218 218 218 +255 255 255 255 255 255 255 255 255 254 254 254 87 87 87 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 80 252 252 252 +255 255 255 255 255 255 255 255 255 224 224 224 28 28 28 0 0 0 99 99 99 255 255 255 +255 255 255 255 255 255 255 255 255 216 216 216 21 21 21 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +158 158 158 12 12 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 54 54 +242 242 242 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 114 114 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 218 218 218 +255 255 255 255 255 255 255 255 255 254 254 254 190 190 190 152 152 152 154 154 154 154 154 154 +154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 +154 154 154 154 154 154 154 154 154 148 148 148 39 39 39 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 21 21 21 82 82 82 132 132 132 153 153 153 154 154 154 154 154 154 +154 154 154 154 154 154 154 154 154 154 154 154 154 154 154 152 152 152 189 189 189 254 254 254 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 99 99 99 255 255 255 +255 255 255 255 255 255 255 255 255 216 216 216 22 22 22 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 239 239 239 137 137 137 +15 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 54 54 +244 244 244 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 115 115 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 218 218 218 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 252 252 252 67 67 67 0 0 0 0 0 0 0 0 0 +2 2 2 82 82 82 204 204 204 251 251 251 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 99 99 99 255 255 255 +255 255 255 255 255 255 255 255 255 216 216 216 22 22 22 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 247 247 247 233 233 233 233 233 233 +233 233 233 233 233 233 233 233 233 233 233 233 249 249 249 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 252 252 252 230 230 230 208 208 208 151 151 151 61 61 61 3 3 3 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 48 48 +221 221 221 234 234 234 233 233 233 233 233 233 233 233 233 233 233 233 233 233 233 233 233 233 +233 233 233 235 235 235 103 103 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 218 218 218 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 247 247 247 66 66 66 0 0 0 0 0 0 0 0 0 +99 99 99 241 241 241 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 99 99 99 255 255 255 +255 255 255 255 255 255 255 255 255 216 216 216 22 22 22 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 174 174 174 39 39 39 39 39 39 +39 39 39 39 39 39 39 39 39 37 37 37 125 125 125 251 251 251 255 255 255 255 255 255 +255 255 255 255 255 255 247 247 247 105 105 105 15 15 15 1 1 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 +37 37 37 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 +39 39 39 39 39 39 17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 218 218 218 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 247 247 247 66 66 66 0 0 0 0 0 0 54 54 54 +232 232 232 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 99 99 99 255 255 255 +255 255 255 255 255 255 255 255 255 216 216 216 22 22 22 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 158 158 158 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 10 10 10 167 167 167 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 204 204 204 31 31 31 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 218 218 218 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 251 251 251 67 67 67 0 0 0 2 2 2 157 157 157 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 99 99 99 255 255 255 +255 255 255 255 255 255 255 255 255 216 216 216 22 22 22 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 34 34 209 209 209 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 163 163 163 10 10 10 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 218 218 218 +255 255 255 255 255 255 255 255 255 255 255 255 207 207 207 179 179 179 180 180 180 180 180 180 +180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 +180 180 180 180 180 180 180 180 180 173 173 173 44 44 44 0 0 0 26 26 26 219 219 219 +255 255 255 255 255 255 255 255 255 255 255 255 234 234 234 185 185 185 179 179 179 180 180 180 +180 180 180 180 180 180 180 180 180 180 180 180 180 180 180 179 179 179 206 206 206 254 254 254 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 99 99 99 255 255 255 +255 255 255 255 255 255 255 255 255 216 216 216 22 22 22 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 72 72 238 238 238 +255 255 255 255 255 255 255 255 255 255 255 255 251 251 251 113 113 113 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 218 218 218 +255 255 255 255 255 255 255 255 255 254 254 254 90 90 90 0 0 0 5 5 5 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 +5 5 5 5 5 5 5 5 5 4 4 4 1 1 1 0 0 0 46 46 46 238 238 238 +255 255 255 255 255 255 255 255 255 250 250 250 97 97 97 4 4 4 4 4 4 5 5 5 +5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 1 1 85 85 85 252 252 252 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 99 99 99 255 255 255 +255 255 255 255 255 255 255 255 255 216 216 216 21 21 21 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 121 121 121 +253 253 253 255 255 255 255 255 255 255 255 255 255 255 255 234 234 234 65 65 65 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 20 20 213 213 213 +255 255 255 255 255 255 255 255 255 255 255 255 127 127 127 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47 47 47 239 239 239 +255 255 255 255 255 255 255 255 255 249 249 249 83 83 83 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 81 81 252 252 252 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 92 92 92 254 254 254 +255 255 255 255 255 255 255 255 255 232 232 232 48 48 48 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 12 12 +170 170 170 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 203 203 203 29 29 29 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 8 188 188 188 +255 255 255 255 255 255 255 255 255 255 255 255 236 236 236 168 168 168 155 155 155 156 156 156 +156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 +156 156 156 156 156 156 156 156 156 150 150 150 39 39 39 0 0 0 29 29 29 223 223 223 +255 255 255 255 255 255 255 255 255 255 255 255 223 223 223 160 160 160 155 155 155 156 156 156 +156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 154 154 154 189 189 189 254 254 254 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 64 64 64 246 246 246 +255 255 255 255 255 255 255 255 255 255 255 255 207 207 207 156 156 156 155 155 155 156 156 156 +156 156 156 156 156 156 156 156 156 156 156 156 156 156 156 155 155 155 209 209 209 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +37 37 37 212 212 212 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 +8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 121 121 121 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 252 252 252 67 67 67 0 0 0 4 4 4 167 167 167 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 21 21 21 208 208 208 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 76 76 76 239 239 239 255 255 255 255 255 255 255 255 255 255 255 255 250 250 250 +108 108 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33 33 33 +216 216 216 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 247 247 247 66 66 66 0 0 0 0 0 0 65 65 65 +239 239 239 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 0 0 0 107 107 107 +253 253 253 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +186 186 186 255 255 255 255 255 255 255 255 255 255 255 255 159 159 159 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 1 1 125 125 125 253 253 253 255 255 255 255 255 255 255 255 255 255 255 255 +232 232 232 62 62 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +226 226 226 255 255 255 255 255 255 255 255 255 251 251 251 77 77 77 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 227 227 227 255 255 255 255 255 255 +255 255 255 250 250 250 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 131 131 +255 255 255 255 255 255 255 255 255 255 255 255 193 193 193 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 171 171 171 +255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 3 3 3 176 176 176 +255 255 255 255 255 255 255 255 255 255 255 255 145 145 145 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +79 79 79 235 235 235 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 247 247 247 66 66 66 0 0 0 0 0 0 2 2 2 +118 118 118 248 248 248 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 223 223 223 28 28 28 0 0 0 0 0 0 12 12 12 +159 159 159 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 214 214 214 +188 188 188 255 255 255 255 255 255 255 255 255 255 255 255 160 160 160 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 14 14 14 174 174 174 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 202 202 202 30 30 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 +228 228 228 255 255 255 255 255 255 255 255 255 253 253 253 78 78 78 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 31 31 31 228 228 228 255 255 255 255 255 255 +255 255 255 252 252 252 75 75 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 132 132 132 +255 255 255 255 255 255 255 255 255 255 255 255 194 194 194 9 9 9 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 173 173 173 +255 255 255 255 255 255 255 255 255 255 255 255 161 161 161 0 0 0 3 3 3 177 177 177 +255 255 255 255 255 255 255 255 255 255 255 255 146 146 146 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 73 73 73 202 202 202 251 251 251 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 249 249 249 67 67 67 0 0 0 0 0 0 0 0 0 +5 5 5 103 103 103 220 220 220 254 254 254 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 225 225 225 28 28 28 0 0 0 0 0 0 0 0 0 +16 16 16 133 133 133 233 233 233 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 +255 255 255 255 255 255 255 255 255 215 215 215 +143 143 143 202 202 202 200 200 200 200 200 200 204 204 204 121 121 121 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 44 44 44 185 185 185 201 201 201 200 200 200 200 200 200 +201 201 201 201 201 201 92 92 92 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 +176 176 176 202 202 202 200 200 200 201 201 201 197 197 197 58 58 58 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 23 23 176 176 176 202 202 202 200 200 200 +201 201 201 196 196 196 57 57 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 99 99 +203 203 203 200 200 200 200 200 200 203 203 203 149 149 149 7 7 7 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 131 131 131 +204 204 204 200 200 200 200 200 200 204 204 204 122 122 122 0 0 0 3 3 3 135 135 135 +204 204 204 200 200 200 200 200 200 203 203 203 110 110 110 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 26 26 26 105 105 105 173 173 173 199 199 199 200 200 200 200 200 200 +200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 +200 200 200 200 200 200 201 201 201 193 193 193 50 50 50 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 39 39 39 123 123 123 182 182 182 200 200 200 200 200 200 200 200 200 +200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 +200 200 200 200 200 200 202 202 202 173 173 173 21 21 21 0 0 0 0 0 0 0 0 0 +0 0 0 2 2 2 55 55 55 138 138 138 189 189 189 201 201 201 200 200 200 200 200 200 +200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 +200 200 200 200 200 200 202 202 202 164 164 164 From 24712cab97ab4cdb766844504cacb16d8eaa4a3d Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Sat, 13 Dec 2025 01:21:48 +0800 Subject: [PATCH 18/20] [dm][core] add common machine power interface Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/core/SConscript | 2 +- components/drivers/core/power.c | 311 ++++++++++++++++++ .../drivers/include/drivers/core/power.h | 47 +++ components/drivers/include/rtdevice.h | 1 + 4 files changed, 360 insertions(+), 1 deletion(-) create mode 100644 components/drivers/core/power.c create mode 100644 components/drivers/include/drivers/core/power.h diff --git a/components/drivers/core/SConscript b/components/drivers/core/SConscript index 216f9a03483..392487c6aa3 100644 --- a/components/drivers/core/SConscript +++ b/components/drivers/core/SConscript @@ -8,7 +8,7 @@ if GetDepend(['RT_USING_DEV_BUS']) or GetDepend(['RT_USING_DM']): src = src + ['bus.c'] if GetDepend(['RT_USING_DM']): - src = src + ['dm.c', 'driver.c', 'numa.c', 'platform.c', 'power_domain.c'] + src = src + ['dm.c', 'driver.c', 'numa.c', 'platform.c', 'power.c', 'power_domain.c'] if GetDepend(['RT_USING_DFS']): src += ['mnt.c']; diff --git a/components/drivers/core/power.c b/components/drivers/core/power.c new file mode 100644 index 00000000000..038e37c5072 --- /dev/null +++ b/components/drivers/core/power.c @@ -0,0 +1,311 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-09-24 GuEe-GUI the first version + */ + +#include + +#define DBG_TAG "rtdm.power" +#define DBG_LVL DBG_INFO +#include + +struct power_off_track +{ + rt_slist_t list; + + struct rt_device *dev; + rt_err_t (*callback)(struct rt_device *); +}; + +void (*rt_dm_machine_shutdown)(void) = RT_NULL; +void (*rt_dm_machine_reset)(void) = RT_NULL; + +static RT_DEFINE_SPINLOCK(_power_off_lock); +static rt_slist_t _power_off_handler_nodes[RT_DM_POWER_OFF_MODE_NR][RT_DM_POWER_OFF_PRIO_NR] = +{ + [0 ... RT_DM_POWER_OFF_MODE_NR - 1] = + { + [0 ... RT_DM_POWER_OFF_PRIO_NR - 1] = + { + RT_NULL, + } + } +}; + +static rt_used char * const _mode_name[] = +{ + [RT_DM_POWER_OFF_MODE_SHUTDOWN] = "SHUTDOWN", + [RT_DM_POWER_OFF_MODE_RESET] = "RESET", +}; + +rt_err_t rt_dm_power_off_handler(struct rt_device *dev, int mode, int priority, + rt_err_t (*callback)(struct rt_device *dev)) +{ + struct power_off_track *track; + + RT_ASSERT(mode < RT_DM_POWER_OFF_MODE_NR); + RT_ASSERT(priority < RT_DM_POWER_OFF_PRIO_NR); + + track = rt_malloc(sizeof(*track)); + + if (!track) + { + return -RT_ENOMEM; + } + + rt_slist_init(&track->list); + track->dev = dev; + track->callback = callback; + + rt_hw_spin_lock(&_power_off_lock.lock); + + rt_slist_insert(&_power_off_handler_nodes[mode][priority], &track->list); + + rt_hw_spin_unlock(&_power_off_lock.lock); + + return RT_EOK; +} + +static void dm_power_off_handler(int mode) +{ + struct power_off_track *track; + + rt_hw_spin_lock(&_power_off_lock.lock); + + for (int i = 0; i < RT_DM_POWER_OFF_PRIO_NR; ++i) + { + rt_slist_t *nodes = &_power_off_handler_nodes[mode][i]; + + rt_slist_for_each_entry(track, nodes, list) + { + rt_err_t err; + struct rt_device *dev = track->dev; + + if ((err = track->callback(dev))) + { + LOG_E("%s: %s fail error = %s", dev ? rt_dm_dev_get_name(dev) : RT_NULL, + _mode_name[mode], rt_strerror(err)); + } + } + } + + rt_hw_spin_unlock(&_power_off_lock.lock); +} + +struct reboot_mode_track +{ + rt_slist_t list; + + struct rt_device *dev; + rt_err_t (*callback)(struct rt_device *, char *cmd); +}; + +static char *_reboot_mode_cmd = "normal"; +static RT_DEFINE_SPINLOCK(_reboot_mode_lock); +static rt_slist_t _reboot_mode_handler_nodes = { RT_NULL }; + +rt_err_t rt_dm_reboot_mode_register(struct rt_device *dev, + rt_err_t (*callback)(struct rt_device *, char *cmd)) +{ + struct reboot_mode_track *track; + + track = rt_malloc(sizeof(*track)); + + if (!track) + { + return -RT_ENOMEM; + } + + rt_slist_init(&track->list); + track->dev = dev; + track->callback = callback; + + rt_hw_spin_lock(&_reboot_mode_lock.lock); + + rt_slist_insert(&_reboot_mode_handler_nodes, &track->list); + + rt_hw_spin_unlock(&_reboot_mode_lock.lock); + + return RT_EOK; +} + +rt_err_t rt_dm_reboot_mode_unregister(struct rt_device *dev) +{ + struct reboot_mode_track *track, *target_track = RT_NULL; + + rt_hw_spin_lock(&_reboot_mode_lock.lock); + + rt_slist_for_each_entry(track, &_reboot_mode_handler_nodes, list) + { + if (track->dev == dev) + { + target_track = track; + rt_slist_remove(&_reboot_mode_handler_nodes, &track->list); + break; + } + } + + rt_hw_spin_unlock(&_reboot_mode_lock.lock); + + if (target_track) + { + rt_free(target_track); + } + + return target_track ? RT_EOK : -RT_EEMPTY; +} + +static rt_err_t dm_reboot_notifiy(struct rt_device *request_dev) +{ + struct reboot_mode_track *track; + + rt_hw_spin_lock(&_reboot_mode_lock.lock); + + rt_slist_for_each_entry(track, &_reboot_mode_handler_nodes, list) + { + rt_err_t err; + struct rt_device *dev = track->dev; + + if ((err = track->callback(dev, _reboot_mode_cmd))) + { + LOG_E("%s: %s fail error = %s", dev ? rt_dm_dev_get_name(dev) : RT_NULL, + "reboot mode apply", rt_strerror(err)); + } + } + + rt_hw_spin_unlock(&_reboot_mode_lock.lock); + + return RT_EOK; +} + +static int reboot_mode_init(void) +{ + return rt_dm_power_off_handler(RT_NULL, RT_DM_POWER_OFF_MODE_RESET, + RT_DM_POWER_OFF_PRIO_HIGH, &dm_reboot_notifiy); +} +INIT_CORE_EXPORT(reboot_mode_init); + +void rt_hw_cpu_reset_mode(char *cmd) +{ + static RT_DEFINE_SPINLOCK(pe_lock); + + rt_hw_spin_lock(&pe_lock.lock); + + _reboot_mode_cmd = cmd ? : _reboot_mode_cmd; + + rt_hw_cpu_reset(); + + /* Unreachable */ + rt_hw_spin_unlock(&pe_lock.lock); +} + +static struct rt_thread power_task; +static void power_task_async(void (*fn)(void)); + +rt_inline rt_bool_t power_need_async(void) +{ + struct rt_thread *tid = rt_thread_self(); + + return tid && tid != &power_task && rt_interrupt_get_nest(); +} + +void rt_hw_cpu_shutdown(void) +{ + register rt_ubase_t level; + + if (power_need_async()) + { + power_task_async(&rt_hw_cpu_shutdown); + + return; + } + + dm_power_off_handler(RT_DM_POWER_OFF_MODE_SHUTDOWN); + + LOG_I("Shutdown"); + + /* Machine shutdown */ + if (rt_dm_machine_shutdown) + { + rt_dm_machine_shutdown(); + } + + level = rt_hw_interrupt_disable(); + while (level) + { + RT_ASSERT(0); + } +} +MSH_CMD_EXPORT_ALIAS(rt_hw_cpu_shutdown, shutdown, shutdown machine); + +void rt_hw_cpu_reset(void) +{ + register rt_ubase_t level; + + if (power_need_async()) + { + power_task_async(&rt_hw_cpu_reset); + + return; + } + + dm_power_off_handler(RT_DM_POWER_OFF_MODE_RESET); + + LOG_I("Reset"); + + /* Machine reset */ + if (rt_dm_machine_reset) + { + rt_dm_machine_reset(); + } + + level = rt_hw_interrupt_disable(); + while (level) + { + RT_ASSERT(0); + } +} + +static int reset(int args, char**argv) +{ + if (args > 1) + { + rt_hw_cpu_reset_mode(argv[1]); + } + else + { + rt_hw_cpu_reset(); + } + + return 0; +} +MSH_CMD_EXPORT(reset, reset machine); + +static void power_task_entry(void *param) +{ + void (*fn)(void) = rt_thread_self()->parameter; + + fn(); +} + +static void power_task_async(void (*fn)(void)) +{ + power_task.parameter = fn; + + rt_thread_startup(&power_task); +} + +static int power_init(void) +{ + static rt_uint8_t power_task_stack[DM_THREAD_STACK_SIZE]; + + return rt_thread_init(&power_task, "pwr", power_task_entry, RT_NULL, + &power_task_stack, sizeof(power_task_stack), + RT_THREAD_PRIORITY_MAX / 2, 32); +} +INIT_CORE_EXPORT(power_init); diff --git a/components/drivers/include/drivers/core/power.h b/components/drivers/include/drivers/core/power.h new file mode 100644 index 00000000000..2d4f3c3fb82 --- /dev/null +++ b/components/drivers/include/drivers/core/power.h @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2022-09-24 GuEe-GUI the first version + */ + +#ifndef __RT_DM_POWER_H__ +#define __RT_DM_POWER_H__ + +#include + +enum rt_dm_power_off_mode +{ + RT_DM_POWER_OFF_MODE_SHUTDOWN, + RT_DM_POWER_OFF_MODE_RESET, + + RT_DM_POWER_OFF_MODE_NR, +}; + +enum rt_dm_power_off_priority +{ + RT_DM_POWER_OFF_PRIO_PLATFORM, + RT_DM_POWER_OFF_PRIO_LOW, + RT_DM_POWER_OFF_PRIO_DEFAULT, + RT_DM_POWER_OFF_PRIO_HIGH, + RT_DM_POWER_OFF_PRIO_FIRMWARE, + + RT_DM_POWER_OFF_PRIO_NR, +}; + +rt_err_t rt_dm_power_off_handler(struct rt_device *dev, int mode, int priority, + rt_err_t (*callback)(struct rt_device *)); + +rt_err_t rt_dm_reboot_mode_register(struct rt_device *dev, + rt_err_t (*callback)(struct rt_device *, char *cmd)); +rt_err_t rt_dm_reboot_mode_unregister(struct rt_device *dev); + +void rt_hw_cpu_reset_mode(char *cmd); + +extern void (*rt_dm_machine_shutdown)(void); +extern void (*rt_dm_machine_reset)(void); + +#endif /* __RT_DM_POWER_H__ */ diff --git a/components/drivers/include/rtdevice.h b/components/drivers/include/rtdevice.h index 89af4b933c0..cd4ef4f4447 100644 --- a/components/drivers/include/rtdevice.h +++ b/components/drivers/include/rtdevice.h @@ -42,6 +42,7 @@ extern "C" { #ifdef RT_USING_DM #include "drivers/core/dm.h" #include "drivers/core/numa.h" +#include "drivers/core/power.h" #include "drivers/core/power_domain.h" #include "drivers/platform.h" From de8f63ee9e7fa8103fcc3e972b7f4601f9c769d8 Mon Sep 17 00:00:00 2001 From: GuEe-GUI <2991707448@qq.com> Date: Mon, 15 Dec 2025 15:40:17 +0800 Subject: [PATCH 19/20] [dm][scsi] Add parallel_io option for SCSI host Some SCSI supported parallel_io = RT_TRUE, like UFS. Signed-off-by: GuEe-GUI <2991707448@qq.com> --- components/drivers/include/drivers/scsi.h | 1 + components/drivers/scsi/scsi_cdrom.c | 2 +- components/drivers/scsi/scsi_sd.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/components/drivers/include/drivers/scsi.h b/components/drivers/include/drivers/scsi.h index 7b6baaf54e5..9870f308bc7 100644 --- a/components/drivers/include/drivers/scsi.h +++ b/components/drivers/include/drivers/scsi.h @@ -372,6 +372,7 @@ struct rt_scsi_host rt_size_t max_id; rt_size_t max_lun; + rt_bool_t parallel_io; rt_list_t lun_nodes; }; diff --git a/components/drivers/scsi/scsi_cdrom.c b/components/drivers/scsi/scsi_cdrom.c index 93608d1e37c..5549580b621 100644 --- a/components/drivers/scsi/scsi_cdrom.c +++ b/components/drivers/scsi/scsi_cdrom.c @@ -91,7 +91,7 @@ rt_err_t scsi_cdrom_probe(struct rt_scsi_device *sdev) scdrom->sdev = sdev; scdrom->parent.ida = &scsi_cdrom_ida; scdrom->parent.read_only = RT_TRUE; - scdrom->parent.parallel_io = RT_FALSE; + scdrom->parent.parallel_io = sdev->host->parallel_io; scdrom->parent.ops = &scsi_cdrom_ops; scdrom->parent.max_partitions = RT_BLK_PARTITION_NONE; diff --git a/components/drivers/scsi/scsi_sd.c b/components/drivers/scsi/scsi_sd.c index cc509a72154..4a3c501f3ce 100644 --- a/components/drivers/scsi/scsi_sd.c +++ b/components/drivers/scsi/scsi_sd.c @@ -205,7 +205,7 @@ rt_err_t scsi_sd_probe(struct rt_scsi_device *sdev) sdev->priv = ssd; ssd->sdev = sdev; ssd->parent.ida = &scsi_sd_ida; - ssd->parent.parallel_io = RT_FALSE; + ssd->parent.parallel_io = sdev->host->parallel_io; ssd->parent.ops = &scsi_sd_ops; ssd->parent.max_partitions = RT_BLK_PARTITION_MAX; From b425d69fabfc244a768e2e2dda09d90f409f2f50 Mon Sep 17 00:00:00 2001 From: Chuan Date: Sun, 14 Dec 2025 22:13:55 +0800 Subject: [PATCH 20/20] [utest][mm_api]:Add standardized documentation for MM API lwp Test --- examples/utest/testcases/mm/mm_lwp_tc.c | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/examples/utest/testcases/mm/mm_lwp_tc.c b/examples/utest/testcases/mm/mm_lwp_tc.c index 6f9bb112bf9..d38a27341dc 100644 --- a/examples/utest/testcases/mm/mm_lwp_tc.c +++ b/examples/utest/testcases/mm/mm_lwp_tc.c @@ -6,6 +6,42 @@ * Change Logs: * Date Author Notes * 2023-03-27 WangXiaoyao testcase for lwp + * 2025-12-14 ChuanN-sudo Add standardized utest documentation block + */ + +/** + * Test Case Name: MM API lwp Test + * + * Test Objectives: + * - Verify LWP user space virtual area mapping functionality. + * - Test user memory accessibility checking mechanisms. + * - Test core APIs: lwp_create(), lwp_user_space_init(), lwp_map_user_varea(), + * lwp_map_user_varea_ext(), lwp_user_accessible_ext(), lwp_ref_dec() + * + * Test Scenarios: + * - User Map Varea Test (user_map_varea_tc): + * - test_user_map_varea(): Creates LWP, initializes user space, maps virtual area with default flags, verifies varea properties (cached, private mapping). + * - test_user_map_varea_ext(): Creates LWP, maps virtual area with NOCACHE flag, verifies uncached memory attributes. + * - Accessible Test (accessible_tc): + * - test_user_accessible(): Creates LWP with user stack, tests accessibility checks for unmapped and mapped memory regions. + * + * Verification Metrics: + * - Virtual areas should be correctly inserted with proper ordering. + * - Default mapping should have cached attributes (MMU_MAP_U_RWCB). + * - NOCACHE mapping should have uncached attributes (MMU_MAP_U_RW). + * - Virtual addresses should be within user space range. + * - Accessibility check should return false for unmapped memory, true for mapped memory. + * + * Dependencies: + * - Hardware requirements: QEMU emulator or any hardware platform that supports RT-Thread with MMU. + * - Software configuration: + * - RT_UTEST_MM_LWP must be enabled (enable via: RT-Thread Utestcases -> RT-Thread Utestcases -> Memory Management Subsystem Testcase -> Enable Utest for MM API in lwp). + * - RT_USING_SMART must be enabled (enable via: Enable RT-Thread Kernel -> RT-Thread Smart (microkernel on kernel/userland)). + * - Environmental Assumptions: MMU support must be available on the target platform. + * + * Expected Results: + * - Final output: "[ PASSED ] [ result ] testcase (testcases.lwp.mm_tc)" + * - No assertion failures during test execution. */ #include "common.h"